# Memstick installation failure error 19 - on APU2c4



## Morris Minor (Jan 24, 2017)

I'm trying to install 10.3 using FreeBSD-10.3-RELEASE-amd64-memstick.img on a PC Engines APU2C4 embedded system. Install medium is an external USB3 flash drive. I'm trying to install to the system's m-SATA SSD. It's a headless setup, serial port only: all done through from a terminal via a serial cable. Here's what I'm getting - snipped:


```
SMP: AP CPU #1 Launched!
SMP: AP CPU #2 Launched!
SMP: AP CPU #3 Launched!
Timecounter "TSC" frequency 998147533 Hz quality 1000
Root mount waiting for: usbus1 usbus0
uhub0: 4 ports with 4 removable, self powered
uhub1: 2 ports with 2 removable, self powered
Root mount waiting for: usbus1 usbus0
ugen1.2: <vendor 0x0438> at usbus1
uhub2: <vendor 0x0438 product 0x7900, class 9/0, rev 2.00/0.18, addr 2> on usbus1
Root mount waiting for: usbus1 usbus0
uhub2: 4 ports with 4 removable, self powered
ugen0.2: <vendor 0x8564> at usbus0
umass0: <vendor 0x8564 product 0x1000, class 0/0, rev 2.00/11.00, addr 1> on usbus0
umass0:  SCSI over Bulk-Only; quirks = 0x8100
umass0:2:0:-1: Attached to scbus2
Trying to mount root from ufs:/dev/ufs/FreeBSD_Install [ro,noatime]...
mountroot: waiting for device /dev/ufs/FreeBSD_Install ...
Mounting from ufs:/dev/ufs/FreeBSD_Install failed with error 19.
```
It then exits drops to the mountroot prompt.

Wondering if anyone's experienced this is what the fix is. Many thanks.


----------



## Phishfry (Jan 24, 2017)

I modified my USB memstick install image to add serial console on APU1D.
/boot/loader.conf

```
boot_multicons="YES"
boot_serial="YES"
comconsole_speed="115200"
console="comconsole,vidconsole"
```

https://www.freebsd.org/doc/handbook/serialconsole-setup.html


----------



## Morris Minor (Jan 24, 2017)

Thanks. Can you give me some pointers for how to open up, then edit, the install image? I'm using macOS & it doesn't recognize the file system on the memstick.

EDIT: I also tried mounting the memstick in Linux (Ubuntu 16.04) - still no luck.


----------



## Kernan Mzelikahle (Jan 24, 2017)

Hie Morris Minor, and to you all.

Well, you may try the following. It is an idea I have. Frankly, I have not tried it before.
1. Get an ISO version
2. Go to your Linux (Ubuntu 16.04) and extract it, say to a folder FreeBSD-11.0-TRY
3. Now in that folder, go and edit `FreeBSD-11.0-TRY/boot/loader.conf` as suggested by *Phishfry* above
4. Get a tool that can compress the new folder into a format of your choice eg .iso or .img
5. Write it to your device, eg using `dd` like you say on a memstick

By luck it may work out. Like I said, I have not used this before. From your question it looks a possible solution. Let us know how it goes.


----------



## ASX (Jan 24, 2017)

https://forums.freebsd.org/threads/57429


----------



## Phishfry (Jan 25, 2017)

I mounted and edited mine on a FreeBSD installation.
It looks like a disk problem anyway. But once again to resolve you must edit /boot/loader.conf.
Also note the file does not exist on a stock install. You must create the file. I would add all the entries needed for both disk and console.

I do believe that on bootup you can drop to a loader prompt and manually enter the settings. Then when your install is done it asks if you would like to do post-install shell. Pick yes and type `ee /boot/loader.conf` and enter your settings and save.

https://forums.freebsd.org/threads/58273/


----------



## Morris Minor (Jan 25, 2017)

Success.  I mounted the memstick in a FreeBSD server and appended the following to /boot/loader.conf.
It also helped to use a new and higher quality usb3 flashdrive. 

```
boot_multicons="YES"
boot_serial="YES"
comconsole_speed="115200"
console="comconsole,vidconsole"
kern.cam.boot_delay="10000"
```
I'd been on the point of burning the ISO version to an old-fashioned DVD-ROM and trying using that via an external USB DVD-ROM drive. But the above did the trick.
Thanks for all your help.


----------



## Phishfry (Jan 25, 2017)

I have been trying to figure out the commands to pass to the loader at boot sequence. Something like this:

set boot*_*multicons
set boot_serial
set comconsole_speed=115200
set console=comconsole
set console=vidconsole
set kern.cam.boot_delay=10000
boot

https://www.netgate.com/docs/rcc-ve-4860/freebsd.html


----------



## French Fries (Aug 18, 2017)

Thank you very much for these informations.

I just did a new install and this is a curse.

I am still running Debian on my laptop, so no possibility to modify the installer.

So I plug the USB key into the server and then type "3" blind, followed by:
`set boot[B]_[/B]multicons
set boot_serial
set comconsole_speed=115200
set console=comconsole
set console=vidconsole
set kern.cam.boot_delay=10000
boot`

Debian does not provide a serial console installer, so I did mine:
https://github.com/ffries/Debian-installer-with-serial-console

Couldn't you provide a serial console installer with /boot/loader.conf set?
If you dont' plan to do that, I will do it myself.


----------



## Phishfry (Sep 3, 2017)

Yes you are right the loader commands were slightly off. Setting up an APU2 now.

```
set boot_multicons=YES
set boot_serial=YES
set comconsole_speed=115200
set console=comconsole,vidconsole
boot
```


----------

