-   Linux From Scratch (
-   -   Booting LFS 7.0 with grub2 (

ubuntudude12 12-30-2011 05:19 PM

Booting LFS 7.0 with grub2

I am currently using Ubuntu 11.10. I have just finished my first Linux From Scratch build, and now I am trying to make it bootable. My system currently has Grub2 installed. I am trying to figure out how to add an entry for Linux from Scratch to Grub2. The partitions I am using are /dev/sd5 (the root partition), /dev/sda6 (the boot partition), /dev/sda7 (the home partition), and /dev/sda8 (the swap partition). Does anyone know how to do this?


spiky0011 12-30-2011 05:30 PM


The 1st thing can you post your /etc/fstab file and grub.cfg also the output of

sudo fdisk -l
It also depends on how you want to boot the system, mine is kept seperate from ubuntu

ubuntudude12 12-30-2011 06:13 PM


The output of sudo fdisk -l is:

Disk /dev/sda: 200.0 GB, 200049647616 bytes
255 heads, 63 sectors/track, 24321 cylinders, total 390721968 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00003f4a

  Device Boot      Start        End      Blocks  Id  System
/dev/sda1  *        2048  207154828  103576390+  83  Linux
/dev/sda2      207157246  253292543    23067649    5  Extended
/dev/sda5      207157248  228128767    10485760  83  Linux
/dev/sda6      228130816  228325375      97280  83  Linux
/dev/sda7      228327424  249098239    10385408  83  Linux
/dev/sda8      249100288  253292543    2096128  82  Linux swap / Solaris

The /ect/fstab file for my host system (Ubuntu) is the following:

# /etc/fstab: static file system information.
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
# <file system> <mount point>  <type>  <options>      <dump>  <pass>
proc            /proc          proc    nodev,noexec,nosuid 0      0
# / was on /dev/sda1 during installation
UUID=2b04dc66-c2b2-4e25-ac01-5a3936372264 /              ext4    errors=remount-ro 0      1
# swap was on /dev/sda8 during installation
UUID=6067c5ee-0a8e-4c79-ad79-fd9743808f1f none            swap    sw              0      0

My LFS's /ect/fstab file is as follows:

# Begin /etc/fstab

# file system  mount-point  type  options        dump  fsck
#                                                      order

/dev/sda5      /            ext3 defaults        1    1
/dev/sda6      /boot        ext3 defaults        0    0
/dev/sda8      swap        swap pri=1            0    0
proc          /proc        proc defaults        0    0
sysfs          /sys        sysfs defaults        0    0
devpts        /dev/pts    devpts gid=4,mode=620 0    0
tmpfs          /run        tmpfs defaults        0    0
# End /ect/fstab


Roken 12-30-2011 06:16 PM

I had to add an entry to /etc/grub.d/40_custom for grub 2:


menuentry "Linux 3.1-roken" {
        insmod ext2
        set root='(hd0,1)'
        linux  /vmlinuz-3.1.roken root=/dev/sdb3 ro radeon.modeset=0 vga=795

You would obviously need to change the "linux" line to fit your system and make sure that root is set correctly.



sudo update-grub

ubuntudude12 12-30-2011 08:22 PM

I tried your suggestion, modifying the linux line to the proper settings for my system. When I try to boot using Grub2, I receive an error saying that the disk was not found, Do you know what could cause this?


Roken 12-30-2011 09:02 PM

It may be your set root= line - double and triple check that. There can also be problems if you built the kernel incorrectly. Does it get so far into the boot before it bombs, and if so what is the actual text of the error produced?

spiky0011 12-31-2011 01:08 AM

Post your grub.cfg how you set it up this time, and the error message you get

druuna 12-31-2011 02:31 AM


Am I assuming correctly that you are using the grub that came with Ubuntu and not the one mewntioned/build/configured in LFS?

With that assumption in mind: Doesn't running a grub-update from Ubuntu find the new LFS system?

One of my other systems runs Debian (very related to Ubuntu) and running grub-update does find other OS's installed. On Debian this is the way to do it. If you manually add entries to grub (grub.cfg to be exact) they might be removed when the grub package is updated.

Have a look here (especially 6 Adding Entries to Grub 2): Ubuntu - the Grub 2 guide

If you do need to do this manually I believe the entry should look like this:

menuentry "LFS 7.0 - linux 3.1.5" {
  insmod ext2
  set    root=(hd0,6)
  linux  /vmlinuz-3.1.5-lfs-7.0  root=/dev/sda5  ro

- the set root=(...) entry should point to your boot partition,
- the root=/dev/... entry points to your root partition.

Hope this helps.

ubuntudude12 12-31-2011 07:19 AM

Thank you druuna! I tried out your suggestion, and it worked! Thank you for all of the help you provided me.

Roken 12-31-2011 07:23 AM


Originally Posted by druuna (Post 4562359)
If you manually add entries to grub (grub.cfg to be exact) they might be removed when the grub package is updated.

Just as a matter of interest, this is why I suggested in including the entry in 40_custom, which ensures that it gets added back in after a grub update.

druuna 12-31-2011 07:36 AM


Originally Posted by ubuntudude12 (Post 4562452)
Thank you druuna! I tried out your suggestion, and it worked! Thank you for all of the help you provided me.

You're welcome :)

zoelee4 09-12-2016 07:14 PM

Hi I am having the same problem...
2 Attachment(s)
I tried doing what you said and it did not work. I am using ubuntu 14 in a VM and LFS 7.8. here is the output of sudo fdisk -l:
Attachment 22991
(its an image because its a VM).

Here is what the "/etc/grub.d/40_custom" looks like:

Attachment 22992

Thanks for your help in advance and sorry for the noob question.

All times are GMT -5. The time now is 11:04 AM.