Boot via USB Flash Storage

For production AstLinux installations, it is recommended to use flash storage connected off IDE, SATA or mSATA controllers, if at all possible.

Though, there may be situations where using flash storage connected off USB is desirable. Some boards may implement an internal Compact Flash (CF) or SD card socket using the USB interface, others may have an internal standard USB port for a low profile USB Flash Drive.

The problem is it takes longer for USB storage devices to be recognized and available to the Linux Kernel, compared with IDE or SATA. While RUNNIX will boot, AstLinux may fail with the message “AstLinux medium not found.”, followed by the USB drive mounting a few seconds later as viewed via the console.

The simple solution is to add “rootdelay=10” to the AstLinux kernel command-line, described below.

Note → It is assumed the AstLinux raw image has been transferred to the USB Flash Drive.

Mount the USB Flash Drive:

Mount your USB Flash Drive on any machine where you can edit text files, it is a FAT16 partition. The disk label is “RUNNIX”. Most any desktop OS will work fine.

Navigate to the “os” directory:


Edit the file:

Open the ( in this example) file using a text editor of your choice.

Edit the line beginning with “KCMD=” and add “rootdelay=10” after the “astlive”…

Old (without “rootdelay=10”):

KCMD="root=/dev/ram0 rw init=/linuxrc astlinux=geni586 astkd=auto asturw=auto astlive libata.dma=3 console=ttyS0,19200n8"

New (with “rootdelay=10”):

KCMD="root=/dev/ram0 rw init=/linuxrc astlinux=geni586 astkd=auto asturw=auto astlive rootdelay=10 libata.dma=3 console=ttyS0,19200n8"

Note → The other KCMD option values may be different from yours, that is expected, do not edit any of your pre-existing KCMD option values.

Unmount the USB Flash Drive:

After saving the file above, cleanly unmount/eject and remove the USB Flash Drive.

Your USB Flash Drive should now fully boot AstLinux when installed into your hardware.

Once the “rootdelay=10” has been added it will be automatically propagated for future upgrades, so this is a one time process.

Note → AstLinux doesn't by default include “rootdelay=10” since it adds 10 seconds to the boot process.