LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux From Scratch (https://www.linuxquestions.org/questions/linux-from-scratch-13/)
-   -   Anyone using VMware to build LFS? (https://www.linuxquestions.org/questions/linux-from-scratch-13/anyone-using-vmware-to-build-lfs-707852/)

What's For Dinner? 02-26-2009 07:18 PM

Anyone using VMware to build LFS?
 
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?

Mystican 02-26-2009 10:41 PM

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?

What's For Dinner? 02-26-2009 10:59 PM

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.

Mystican 02-27-2009 12:45 AM

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.


All times are GMT -5. The time now is 08:37 PM.