> Sent: Wednesday, November 06, 2019 at 3:56 AM
> From: "Christopher Gregory via blfs-support" 
> <blfs-support@lists.linuxfromscratch.org>
> To: blfs-support@lists.linuxfromscratch.org
> Cc: "Christopher Gregory" <christopher.greg...@mail.com>
> Subject: Re: [blfs-support] Best approach for lvm2
>
> 
> 
> > Sent: Wednesday, November 06, 2019 at 3:30 AM
> > From: "Christopher Gregory via blfs-support" 
> > <blfs-support@lists.linuxfromscratch.org>
> > To: blfs-support@lists.linuxfromscratch.org
> > Cc: "Christopher Gregory" <christopher.greg...@mail.com>
> > Subject: Re: [blfs-support] Best approach for lvm2
> >
> > 
> > 
> > > Sent: Wednesday, November 06, 2019 at 2:54 AM
> > > From: "Pierre Labastie via blfs-support" 
> > > <blfs-support@lists.linuxfromscratch.org>
> > > To: blfs-support@lists.linuxfromscratch.org
> > > Cc: "Pierre Labastie" <pierre.labas...@neuf.fr>
> > > Subject: Re: [blfs-support] Best approach for lvm2
> > >
> > > Le 05/11/2019 à 06:00, Christopher Gregory via blfs-support a écrit :
> > > > 
> > > > 
> > > >> Sent: Sunday, October 27, 2019 at 3:20 AM
> > > >> From: "Pierre Labastie via blfs-support" 
> > > >> <blfs-support@lists.linuxfromscratch.org>
> > > >> To: blfs-support@lists.linuxfromscratch.org
> > > >> Cc: "Pierre Labastie" <pierre.labas...@neuf.fr>
> > > >> Subject: Re: [blfs-support] Best approach for lvm2
> > > >>
> > > >> On 26/10/2019 14:46, Christopher Gregory via blfs-support wrote:
> > > >>> Hello,
> > > >>>
> > > >>> I am about to install another version of lfs/blfs on a new ssd hard 
> > > >>> drive, and I am wanting to move all my drives to using lvm2.  What I 
> > > >>> need to know is the best approach for this.  I understand that it 
> > > >>> needs to happen at the partitioning stage of installing lfs.
> > > >>>
> > > >>> I was wondering if I used a distro such as fedora from a live dvd if 
> > > >>> I would be able to achieve this on the new hard drive and then be 
> > > >>> able to use jhalf as normal to install lfs.  I was hoping to avoid 
> > > >>> having to have a seperate /boot and having to use an initramfs image 
> > > >>> if at all possible, but do not know if this would be achieveable or 
> > > >>> not.
> > > >>>
> > > >>> I am wanting to continue using guid partitions as well.  I have not 
> > > >>> seen antyhing on the lists that show that anyone has been able to 
> > > >>> install lfs on an lvm2 controlled drive.
> > > >>>
> > > >>
> > > >> Maybe I've not communicated much on it, by I have done that :) here is 
> > > >> the
> > > >> partition layout (you can have something simpler, but I need Windows 
> > > >> [1] for
> > > >> my job). Note that there is nothing special with dos partitioning, and
> > > >> certainly gpt is OK:
> > > >>
> > > >> Device     Boot     Start       End   Sectors  Size Id Type
> > > >> /dev/sda1  *         2048   2101247   2099200    1G  7 HPFS/NTFS/exFAT
> > > >> /dev/sda2         2101248 197413747 195312500 93.1G  7 HPFS/NTFS/exFAT
> > > >> /dev/sda3       197414910 620937215 423522306  202G  5 Extended
> > > >> /dev/sda4       620937216 625131519   4194304    2G  b W95 FAT32
> > > >> /dev/sda5       197414912 620937215 423522304  202G 8e Linux LVM
> > > >>
> > > >> Now, the lvm layout is:
> > > >> /dev/mapper/vg-debian64: 37.26 GiB
> > > >> /dev/mapper/vg-swap: 7.46 GiB
> > > >> /dev/mapper/vg-home: 37.26 GiB
> > > >> /dev/mapper/vg-lfs: 60 GiB
> > > >>
> > > >> I first installed debian on /dev/mapper/vg-debian64, mounting
> > > >> /dev/mapper/vg-home on /home. Actually, I used the partitioning tool 
> > > >> coming
> > > >> with the debian installer to shrink the NTFS partition and create the 
> > > >> lvm
> > > >> setup. I installed grub onto the disk. Grub can perfectly well boot 
> > > >> from an
> > > >> lvm partition.
> > > >>
> > > >> From debian, I mounted /dev/vg/lfs on /mnt/lfs, and installed lfs on 
> > > >> it. Then
> > > >> I made an initramfs. The reason why it _is_ needed (no way without it, 
> > > >> unless
> > > >> you have the root filesystem on a regular partition) is because the 
> > > >> kernel
> > > >> does not know about lvm, so it needs some help to be able to mount an 
> > > >> lvm root
> > > >> partition. The initramfs in the book works well for lvm.
> > > >>
> > > >> I created /boot/grub/grub.cfg on /dev/vg/lfs with
> > > >>
> > > >> # Begin /boot/grub/grub.cfg
> > > >> set default=0
> > > >> set timeout=5
> > > >>
> > > >> insmod ext2
> > > >> insmod lvm
> > > >> set root='lvm/vg/lfs'
> > > >>
> > > >> menuentry "GNU/Linux, Linux 5.3.6-lfs-SVN-20191017" {
> > > >>         linux   /boot/vmlinuz-5.3.6-lfs-SVN-20191017 root=/dev/vg/lfs 
> > > >> ro quiet
> > > >>         initrd  /boot/microcode.img /boot/initrd.img-no-kmods
> > > >> }
> > > >> ...
> > > >>
> > > >> Then I ran update-grub on debian. There is a small problem here: 
> > > >> update-grub
> > > >> only copies the first initrd, so I had to manually add the second to
> > > >> /boot/grub.gfg on /dev/vg/debian. Actually, It'd be better to merge 
> > > >> both
> > > >> initramfs.
> > > >>
> > > >> And that's it.
> > > >>
> > > >> Pierre
> > > >> [1] I am not sure why Windows is using two small partitions + one big, 
> > > >> but the
> > > >> computer came with that, and I just shrank the big partition to make 
> > > >> room for
> > > >> linux.
> > > >> --
> > > >> http://lists.linuxfromscratch.org/listinfo/blfs-support
> > > >> FAQ: http://www.linuxfromscratch.org/blfs/faq.html
> > > >> Unsubscribe: See the above information page
> > > >>
> > > > 
> > > > Hello Pierre,
> > > > 
> > > > I have finally got round to attempting this, and have spent a couple of 
> > > > days now trying to get it to work.
> > > > 
> > > > I used Fedora 31 (as I am working with a developer to package his 
> > > > software in rpm format) to create the lvm and the volumes.  This went 
> > > > well.  I then used jhalfs to build the lfs system, and I got a 
> > > > completed install.  I then went ahead and added the entries to grub, 
> > > > and then the true nightmare began.  No matter what I put in the 
> > > > grub.cfg file it just refuses to find the kernel.  I have generated the 
> > > > initrd.img-no-kmods using the script in the book.  Using this script, 
> > > > it complains that there is a missing operand after tmp/filename/lib but 
> > > > proceeds and completes the image.
> > > > 
> > > > I have no idea where you got the root=/dev/vg line from.
> > > > 
> > > > With my installation, I have rootvg in /dev with the following: (this 
> > > > is on fedora 31)
> > > > 
> > > > lrwxrwxrwx.  1 root root    7 Nov  5 17:17 home -> ../dm-4
> > > > lrwxrwxrwx.  1 root root    7 Nov  5 17:17 opt -> ../dm-6
> > > > lrwxrwxrwx.  1 root root    7 Nov  5 17:17 root -> ../dm-7
> > > > lrwxrwxrwx.  1 root root    7 Nov  5 17:17 swap -> ../dm-3
> > > > lrwxrwxrwx.  1 root root    7 Nov  5 17:17 tmp -> ../dm-5
> > > > 
> > > > 
> > > > root [ /dev/rootvg ]# vgdisplay
> > > >   --- Volume group ---
> > > >   VG Name               fedora_localhost-live
> > > >   System ID
> > > >   Format                lvm2
> > > >   Metadata Areas        1
> > > >   Metadata Sequence No  5
> > > >   VG Access             read/write
> > > >   VG Status             resizable
> > > >   MAX LV                0
> > > >   Cur LV                3
> > > >   Open LV               3
> > > >   Max PV                0
> > > >   Cur PV                1
> > > >   Act PV                1
> > > >   VG Size               <464.76 GiB
> > > >   PE Size               4.00 MiB
> > > >   Total PE              118978
> > > >   Alloc PE / Size       118978 / <464.76 GiB
> > > >   Free  PE / Size       0 / 0
> > > >   VG UUID               VbdXPM-nzJY-gQ1I-IbpW-N2NP-Ct5G-vKYL10
> > > > 
> > > >   --- Volume group ---
> > > >   VG Name               rootvg
> > > >   System ID
> > > >   Format                lvm2
> > > >   Metadata Areas        1
> > > >   Metadata Sequence No  6
> > > >   VG Access             read/write
> > > >   VG Status             resizable
> > > >   MAX LV                0
> > > >   Cur LV                5
> > > >   Open LV               0
> > > >   Max PV                0
> > > >   Cur PV                1
> > > >   Act PV                1
> > > >   VG Size               <222.59 GiB
> > > >   PE Size               4.00 MiB
> > > >   Total PE              56983
> > > >   Alloc PE / Size       56983 / <222.59 GiB
> > > >   Free  PE / Size       0 / 0
> > > >   VG UUID               7MAzgc-XlQZ-C53H-pKF8-ReV0-NaM2-ADSQQy
> > > > 
> > > > It does not matter if I use root=(lvm/rootvg-root) or 
> > > > /dev/mapper/rootvg-root or any other varient, it complains that it can 
> > > > not find vmlinuz-5.3.6-lfs-20191101-systemd.
> > > 
> > > Hmm, debian's "update-grub" finds the system on the lvm volume, but I am 
> > > not
> > > sure fedora works exactly the same as debian for that, so you may have to 
> > > try
> > > something else...
> > > 
> > > Concerning what you write, I am not sure which "root=" you are talking 
> > > about:
> > > there are two places where "root=" is used, and they do not have the same 
> > > syntax:
> > > - in "set root=". This is a grub instruction, and it uses grub's syntax 
> > > for
> > > files, that is, set root=(lvm/rootvg-root) (in your case). It indicates 
> > > where
> > > to find linux and initrd.
> > > - in the "linux ..." line, where it uses linux syntax, that is, "linux
> > > /boot/vmlinuz-5.3.6-lfs-20191101-systemd root=/dev/rootvg/root <other
> > > options>". Note that you can replace with root=/dev/mapper/rootvg-root on
> > > _this_ line, not the grub one. Both /dev/mapper/* and /dev/rootvg/* are
> > > symlinks created by udev while running the initrd.
> > > 
> > > > 
> > > > I have even tried using UUID= and PARTUUID= with similar results.
> > > 
> > > UUID may work for lvm2 (not tried), PARTUUID obviously doesn't, since a
> > > logical volume is not a partition.
> > > 
> > > > 
> > > > I have a seperate /boot partition outside of the lvm, and a bios_grub 
> > > > (as I am using guid partition) this is the way that Fedora sets things 
> > > > up, ie with a seperate /boot.  Even with updating grub on fedora, it 
> > > > still will not boot.  I have appended /boot to both the initrd file and 
> > > > the linux line.
> > > > 
> > > > After I had completed the installation of lfs, I proceeded to login to 
> > > > the chroot and set the password for root, then I installed lvm2 and the 
> > > > script to make the initramfs along with the runtime required files.  
> > > > This is the stage that I am at now.
> > > > 
> > > > I am at a loss as to what is going wrong here.  Fedora 31 is installed 
> > > > on an external usb hard drive.  I have three hard drives installed in 
> > > > my computer, two of which are ssd drives.
> > > 
> > > To test that the initrd is OK, you may try to have the lfs kernel and 
> > > initrd
> > > in the separate /boot partition (then , when it works, move those to lfs
> > > volume, see below):
> > > - copy vmlinuz-5.3.6-lfs-20191101-systemd and initrd.img-no-kmods to this
> > > partition
> > > - edit grub/grub.cfg on this partition so that there is an entry for the 
> > > lfs
> > > system (it may have been created by "update-grub")
> > > - check that the "set root=" line for this entry (it may be global or 
> > > local to
> > > the entry) points to this partition
> > > - the linux/initrd lines should read (you may add other options):
> > > linux /vmlinuz-5.3.6-lfs-20191101-systemd root=/dev/rootvg/root ro
> > > initrd /initrd.img-no-kmods
> > > 
> > > If this boots:
> > > - move back vmlinuz-5.3.6-lfs-20191101-systemd and initrd.img-no-kmods to
> > > /mnt/lfs/boot
> > > - edit the grub/grub.cfg file on the separate boot partition so that:
> > >    - the set root= line points to (lvm/rootvg-root)
> > >    - the linux/initrd lines point to /boot/vmlinuz* and /boot/initrd*
> > > 
> > > HTH
> > > 
> > > Pierre
> > > -- 
> > > http://lists.linuxfromscratch.org/listinfo/blfs-support
> > > FAQ: http://www.linuxfromscratch.org/blfs/faq.html
> > > Unsubscribe: See the above information page
> > > 
> > 
> > Hello Pierre,
> > 
> > I have now wiped all the other drives other than the external usb which 
> > fedora is on, and the internal ssd that has this new version of lfs on. I 
> > have tried having the lfs kernel and initrd on the /boot partition of the 
> > fedora drive, and that does not work either.  This is how fedora adds the 
> > entry to grub.cfg:
> > 
> > menuentry 'Linux From Scratch (20191025-systemd) (on 
> > /dev/mapper/rootvg-root)' --class linuxfromscratch --class gnu-linux 
> > --class gnu --class os $menuentry_id_option 
> > 'osprober-gnulinux-simple-4155330c-5db1-4113-834f-afefb2d2570e' {
> >         insmod part_gpt
> >         insmod ext2
> >         set root='hd3,gpt2'
> >         if [ x$feature_platform_search_hint = xy ]; then
> >           search --no-floppy --fs-uuid --set=root --hint-bios=hd3,gpt2 
> > --hint-efi=hd3,gpt2 --hint-baremetal=ahci3,gpt2  
> > 099738b6-ac51-455f-9d60-fac5d900ba8b
> >         else
> >           search --no-floppy --fs-uuid --set=root 
> > 099738b6-ac51-455f-9d60-fac5d900ba8b
> >         fi
> >         linux /vmlinuz-5.3.6-lfs-20191025-systemd root=/dev/dm-7
> >         initrd /initrd.img-no-kmods
> > 
> > Regards,
> > 
> > Christopher.
> > -- 
> > http://lists.linuxfromscratch.org/listinfo/blfs-support
> > FAQ: http://www.linuxfromscratch.org/blfs/faq.html
> > Unsubscribe: See the above information page
> > 
> 
> Hello Pierre,
> 
> Having this as the grub.cfg file results in it complaining that it cannot 
> find vmlinuz-5.3.6-lfs-20191025-systemd (it drops me to an shell in initrd)
> 
> # Begin /boot/grub/grub.cfg
> set default=0
> set timeout=5
> 
> insmod lvm
> insmod insmod part_gpt
> insmod ext2
> set root=(lvm/rootvg-root)
> 
> menuentry "GNU/Linux, Linux 5.3.6-lfs-20191025-systemd" {
>         linux   /boot/vmlinuz-5.3.6-lfs-20191025-systemd 
> root=/dev/mapper/rootvg-root ro
>         initrd /boot/initrd.img-no-kmods
> }
> 
> Regards,
> 
> Christopher.
> -- 
> http://lists.linuxfromscratch.org/listinfo/blfs-support
> FAQ: http://www.linuxfromscratch.org/blfs/faq.html
> Unsubscribe: See the above information page
> 

Hello Pierre,

The nightmare continues.  I have now installed debian buster and it detected 
the lfs installation the same way fedora does with os-prober:

menuentry 'Linux From Scratch (20191025-systemd) (on /dev/mapper/rootvg-root)' 
--class linuxfromscratch --class gnu-linux --class gnu --class os 
$menuentry_id_option 
'osprober-gnulinux-simple-4155330c-5db1-4113-834f-afefb2d2570e' {
        insmod lvm
        insmod part_gpt
        insmod ext2
        set root='lvm/rootvg-root'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 
--hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2  
099738b6-ac51-455f-9d60-fac5d900ba8b
        else
          search --no-floppy --fs-uuid --set=root 
099738b6-ac51-455f-9d60-fac5d900ba8b
        fi
        linux /vmlinuz-5.3.6-lfs-20191025-systemd root=/dev/mapper/rootvg-root
        initrd /initrd.img-no-kmods

I added insmod lvm and changed the set root= line.  This gives me again, the 
initrd shell with the error that the device that was suppose to contain the 
root file system does not exist.  For some reason it is proving impossible for 
me to get it to work.  I have no idea why.

Regards,

Christopher.
-- 
http://lists.linuxfromscratch.org/listinfo/blfs-support
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page

Reply via email to