David Sprayberry
2018-10-07 23:54:24 UTC
LFS did not boot for me, possibly from an incorrectly configured kernel or grub.cfg.
I used the grub.cfg (and all other instructions) from the EFI hint at http://lists.linuxfromscratch.org/pipermail/hints/2018-April/003325.html
...
set root=(hd0,gpt2)...
menuentry "GNU/Linux, Linux 4.18.5-lfs-8.3"Â {
 linux  /vmlinuz-4.18.5-lfs-8.3; root=/dev/sda7 ro
}
My SSD's GPT layout:1. EFI2. boot3. Host -- debian /
4. opt5. home6. src7. LFS8. swap
I prepared a USB with debian live on it, and used that to change grub.cfg. I noticed that other examples of grub.cfg on the internet did not have the semicolon in the linux line of grub.cfg, so I tried booting LFS with it removed, and it booted to a login prompt, but some drivers were missing because my keyboard was not recognized.
Another kernel I don't remember being there, vmlinuz-4.9.0-7-amd64, showed up in /boot, which I guess must be the host's kernel and must have been there before.
I sadly did not back up my old grub.cfg before overwriting it when installing grub, so I'm not sure if there were special options to pass to this host kernel to make it boot. When I first installed the host system, debian, I set it to automatically mount /boot. I added another menuentry to grub.cfg to try to boot this other kernel, but it couldn't find root fs, even though I passed it root=/dev/sda3 in grub.cfg. I looked at fstab on the host partition, but all the entries start with UUID=... with some codes.
Now all I have to use is my USB's debian live. Should IÂ mount the LFS partition and chroot from the live system to recompile the kernel so it can recognize my keyboard, or is it better to get the host system booting and do it from there? Why did the semicolon make a difference in grub.cfg?
Any pointers will be helpful.Thanks,-David
I used the grub.cfg (and all other instructions) from the EFI hint at http://lists.linuxfromscratch.org/pipermail/hints/2018-April/003325.html
...
set root=(hd0,gpt2)...
menuentry "GNU/Linux, Linux 4.18.5-lfs-8.3"Â {
 linux  /vmlinuz-4.18.5-lfs-8.3; root=/dev/sda7 ro
}
My SSD's GPT layout:1. EFI2. boot3. Host -- debian /
4. opt5. home6. src7. LFS8. swap
I prepared a USB with debian live on it, and used that to change grub.cfg. I noticed that other examples of grub.cfg on the internet did not have the semicolon in the linux line of grub.cfg, so I tried booting LFS with it removed, and it booted to a login prompt, but some drivers were missing because my keyboard was not recognized.
Another kernel I don't remember being there, vmlinuz-4.9.0-7-amd64, showed up in /boot, which I guess must be the host's kernel and must have been there before.
I sadly did not back up my old grub.cfg before overwriting it when installing grub, so I'm not sure if there were special options to pass to this host kernel to make it boot. When I first installed the host system, debian, I set it to automatically mount /boot. I added another menuentry to grub.cfg to try to boot this other kernel, but it couldn't find root fs, even though I passed it root=/dev/sda3 in grub.cfg. I looked at fstab on the host partition, but all the entries start with UUID=... with some codes.
Now all I have to use is my USB's debian live. Should IÂ mount the LFS partition and chroot from the live system to recompile the kernel so it can recognize my keyboard, or is it better to get the host system booting and do it from there? Why did the semicolon make a difference in grub.cfg?
Any pointers will be helpful.Thanks,-David