Dan McGhee wrote:
>> menuentry 'LFS-7.4' --class gnu-linux --class gnu --class os
>> $menuentry_id_option
Those class things are for the display. They are not needed foar a
basic system.
>> 'gnulinux-simple-d52e1640-9ac4-4c5d-aad1-9c79ff1f0bbd' {
This is what is displayed as the boot option.
>> load_video
>> insmod gzio
>> insmod part_gpt
>> insmod ext2
GRUB modules. They can be here or global (my preference).
>> set root='hd0,gpt6'
Where to search for grub.cfg, kernel, and initrd.
>> if [ x$feature_platform_search_hint = xy ]; then
>> search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt6
>> --hint-efi=hd0,gpt6 --hint-baremetal=ahci0,gpt6
>> d52e1640-9ac4-4c5d-aad1-9c79ff1f0bbd
>> else
>> search --no-floppy --fs-uuid --set=root
>> d52e1640-9ac4-4c5d-aad1-9c79ff1f0bbd
>> fi
The if statement is not needed.
>> echo 'Loading Linux 3.10.10-lfs-7.4 ...'
>> linux /boot/vmlinuz-3.10.10-lfs-7.4 root=/dev/sda6 ro
Looks right.
>> }
> That long UUID stands for /dev/sda6 or hd0,gpt6 and is my LFS
> partition. All of a sudden it occurred to me that 'root' is the place
> where GRUB2 looks for its files and since they're not on /dev/sda6 it's
> looking in the wrong place.
Where are they?
My logic check consists of this question.
> Should I change every reference to gpt6 to gpt2 (this is sda2)? If
> that's the case then I'm confused on the 'linux' line. Should that
> remain the same or does it need to say:
>
> linux (hd0,gpt6)/boot/vmlinuz-3.10*7.4 root=/dev/sda2 ro
Is that where the kernel is?
> I think I could put /dev/sda6 in the path to the image.
No, GRUB doesn't understand that.
> I'm trying to do this like Fedora does and put all the grub stuff on the
> EFI partition. I don't know if Fedora puts the kernel image there or not.
>
> I could also do it like Ubuntu does, which is a little closer to the way
> LFS does it. In Ubuntu there is /boot/grub which contains the grub.cfg
> and the directory x86_64-efi that holds all the modules. But in this
> case there's a grub.cfg that exists on the EFI partition with the grub
> image. It's contents are:
>
>> search.fs_uuid 0ef1c9a3-59ad-4637-be37-72ebcc07d660 root hd0,gpt10
>> set prefix=($root)/boot/grub
>> configfile $prefix/grub.cfg
> That UUID is for /dev/sda10, or (hd0,gpt10). In this case the grub.cfg
> that holds the commands for booting is in the place we're used to and
> there would be no changes to the generated grub.cfg.
All that search stuff is for the case when the disk is repartitioned and
some partitions deleted or inserted.
> Since I want to share all of this with the LFS world, I'd like to get
> both methods to boot, so I'd still be grateful for thoughts on my LFS
> menuentry and the root stuff.
I'll bet that if the above works, than the following will too:
menuentry 'LFS-7.4' {
load_video
insmod gzio
insmod part_gpt
insmod ext2
set root='hd0,gpt6'
linux /boot/vmlinuz-3.10.10-lfs-7.4 root=/dev/sda6 ro
}
The last two lines could be:
linux (hd0,gpt6)/boot/vmlinuz-3.10.10-lfs-7.4 root=/dev/sda6 ro
You might not need the load_video or insmod gzio either. The gzio is
for an initrd and you the default video is good enough. That would make it:
menuentry 'LFS-7.4' {
insmod part_gpt
insmod ext2
(hd0,gpt6)/linux /boot/vmlinuz-3.10.10-lfs-7.4 root=/dev/sda6 ro
}
Which is pretty close to what's in the book.
-- Bruce
--
http://linuxfromscratch.org/mailman/listinfo/lfs-support
FAQ: http://www.linuxfromscratch.org/lfs/faq.html
Unsubscribe: See the above information page