#871 Specify the squashfs-only in the lorax_options
Merged 2 years ago by mohanboddu. Opened 2 years ago by bkhomuts.
bkhomuts/pungi-fedora bkhomuts-use-squashfs-only  into  master

file modified
+4 -2
@@ -105,11 +105,13 @@ 

  lorax_options = [

    ('^.*$', {

       'x86_64': {

-          'nomacboot': False

+          'nomacboot': False,

+          'squashfs_only': True

       },

       '*': {

           'noupgrade': True,

-          'rootfs_size': 3

+          'rootfs_size': 3,

+          'squashfs_only': True

       }

    })

  ]

Usage of this option should reduce both the BOOT.iso and the DVD medium size.
This is because there will be no more additional EXT4 filesystem in the SquashFS.
This modification relates to the following change proposal:
https://fedoraproject.org/wiki/Category:Changes/OptimizeSquashFS

The result of it should be similar as in the following example DVD:
https://khomutsky.com/fedora-dvd/Fedora-Workstation-dvd-x86_64-32_Beta-1.2-bkhomuts_squashfs_XZ_plain.iso

I have tested the above mentioned DVD myself to confirm that the installation
succeeds.
You can see some of my test results in the change proposal.

Note, that this is only a one part of the change proposal. There will be
another pull request to improve the compression ratio of the SquashFS.
The new option will work in the upcoming release of Pungi 4.2.4.

If possible, I'd like this change to be also included in Fedora 33.

Jira: RHELCMP-693

Can you please rebase this PR?

Thanks.

rebased onto 98aa497

2 years ago

Pull-Request has been merged by mohanboddu

2 years ago

I tried to test this change on the Fedora Rawhide nightly compose (Fedora-Rawhide-20200828.n.0) from https://kojipkgs.fedoraproject.org/compose/rawhide/Fedora-Rawhide-20200828.n.0/compose/Server/x86_64/iso/Fedora-Server-netinst-x86_64-Rawhide-20200828.n.0.iso

I found Fedora Server boot.iso fails to boot on dracut-mount:
mount: /sysroot: special device /dev/mapper/live-rw does not exist.

On the other hand, I discovered that this change did not influence the Fedora Workstation Live ISO, where the plain SquashFS should function:
https://kojipkgs.fedoraproject.org/compose/rawhide/Fedora-Rawhide-20200828.n.0/compose/Workstation/x86_64/iso/Fedora-Workstation-Live-x86_64-Rawhide-20200828.n.0.iso

I'm investigating both issues. The first problem is related to dracut.
Now I have the Rawhide images to test and debug the change.
For now, I propose reverting this change to make the images bootable again.

I found a solution for the boot.iso (netinstall) image. The problem is that the location of the SquashFS on the image is different, than on the Live image.
In Fedora Live image, the location is LiveOS/squashfs.img whereas on the BOOT.ISO and the DVD, the location is LiveOS/squashfs.img.
This is due to the fact that differrent process is used to create Live and the BOOT.iso/DVD images.

I was able to make the netinstall image:
https://kojipkgs.fedoraproject.org/compose/rawhide/Fedora-Rawhide-20200828.n.0/compose/Server/x86_64/iso/Fedora-Server-netinst-x86_64-Rawhide-20200828.n.0.iso
bootable by editing the kernel arguments. The full list of kernel arguments I used to boot the image above is
vmlinuz initrd=initrd.img root=live:CDLABEL=Fedora-S-dvd-x86_64-rawh quiet rd.live.squashimg=install.img rd.live.dir=/images

I'll try to resolve the issue in the cleanest manner. To preserve the compatibility the new plain SquashFS format should be compatible with the inst.stage2 kernel parameter.

Correction:
In Fedora Live image, the location is LiveOS/squashfs.img whereas on the BOOT.ISO and the DVD, the location is images/install.img.

I found a solution to the problem and filed the following pull request to address the problem: https://github.com/rhinstaller/anaconda/pull/2820