Linux From ScratchThis Forum is for the discussion of LFS.
LFS is a project that provides you with the steps necessary to build your own custom Linux system.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Following the Linux From Scratch 6.4 book, I'm using kernel 2.6.27.4. That's the headers glibc was built against.
It seems the virtual SCSI device on VMware Fusion is BusLogic. I enabled that in the kernel configurations, but the kernel still seems to need initrd to boot. I don't know how to build one with just the LFS tools.
If I use kernel 2.6.28.x, "make install" conveniently creates initrd-2.6.28.x.img and places it in /boot for me, so I get a booting LFS on VMware (or perhaps a physical PC with the same hardware configuration).
If I use kernel 2.6.28.x, I am deviating from the Book. Do I need to rebuild the entire toolchain from scratch and then rebuild LFS from there? Or can I treat this as a routine kernel upgrade and leave the toolchain and LFS build as is?
I also need to get started with the BLFS builds. Is there anything sensitive about the running kernel version and the version of the kernel headers toolchain was used to build?
I think the LFS book and FAQ tell you to build a kernel that doesn't need initrd. It seems that isn't possible with kernel 2.6.27.4 and the virtualized hardware in VMware Fusion. Has anyone done it with this kernel version?
You shouldn't need an initrd to boot LFS using VMware. Others have managed it using kernel versions much earlier than 2.6.27.x; see here and here for posts on the LFS mailing lists that include the kernel configurations they used. You've made sure that CONFIG_SCSI_BUSLOGIC is set to compile support directly into the kernel and not as a module?
What are you seeing when you try to boot the system? Could it be a GRUB issue similar to this?
I don't question that earlier kernels booted on VMware (but probably not Fusion) without initrd. And I'm getting it to boot on 2.6.28.x no problem. I'd like to use the exact versions as specified in the Book first, so I'm asking if kernel 2.6.27.4 works out of the box.
I do have CONFIG_SCSI_BUSLOGIC set to compile support directly into the kernel and not as a module, which is also why I'm asking.
I get:
Quote:
VFS: Cannot open root device "sda1" or unknown-block(2,0)
Please append a correct "root=" boot option; here are the available partitions:
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0)
I don't think it's a GRUB issue, since the only differences between the GRUB configuration that boots and one that doesn't is "kernel /boot/kernel-2.6.2x.x root=/dev/sda1". And the lack of "initrd /boot/initrd-2.6.2x.x".
I think it's relatively all right to use a kernel version later than what's in the Book but not earlier.
All righty, my bad. I spent some time digging around, and as near as I can tell, changes in 2.6.27 combined with some recurring issues in VMware's BusLogic emulation are what's causing the problem... and to make matters worse, the BusLogic driver is unmaintained.
If, as you said, you can get it to boot using 2.6.28.x and its initrd, then that's great. I don't *think* that "deviation" should be a big deal, and you shouldn't need to rebuild anything. Or alternately, you could keep using 2.6.27.x and see if you can change the virtual SCSI controller in your VMware Fusion installation to something that has better support, like Fusion-MPT.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.