I'm trying to boot a Linux system stored in a USB drive that I got by following the Linux from Scratch manual.I finished all but the booting part, the problem is that when the kernel tries to to mount the file system the USB drive is not part of the options, only the hard drive. I suppose USB and other storage systems are enumerated in /dev only after the file system is mounted.Is there a workaround so I can mount the filesystem from a USB drive? Even if is necessary to patch the kernel source.EDIT: Sorry about the lack of information.I'm using Grub2 as bootloaderI'm using sysvinit (Kernel never launch it)It's an MBR partition, I'm using PARTUUID=000337f3-01 in as root. It works in a QEMU machineTo setup ramdisk I just do initrd /bzImageYes I've build udev
Linux Booting with USB File System
kernel;boot;mount;lfs
The way I would solve this problem is by having what is called an initrd.  I don't know how familiar you became with initrd when doing Linux from scratch, but they have a page about initrd here:http://www.linuxfromscratch.org/blfs/view/svn/postlfs/initramfs.htmlWhat initrd does is act as a small root filesystem the kernel boots in to after loading the kernel.  This simple filesystem has all of the files the kernel needs to mount the root filesystem and load other drivers the system needs to boot.  Once the real boot filesystem is mounted in initrd, initrd makes that filesystem the root filesystem, terminates, and the kernel starts the init process on the actual root filesystem.It is, in fact, possible to make a micro-Linux system which never leaves initrd; I did this a few years ago when making a one-floppy Linux distro from scratch.