Last article I discussed the Fedora RAW file image and the first partition it contains. Now let us look at the second and third partitions.
This is at offset 1230848. After unmounting the boot partition, we can mount this one:
sudo mount -o loop,offset=630194176 /home/ayoung/Downloads/Fedora-Workstation-34-1.2.aarch64.raw /mnt/disk1/ $ ls /mnt/disk1/ config-5.11.12-300.fc34.aarch64 dtb-5.11.12-300.fc34.aarch64 grub2 loader System.map-5.11.12-300.fc34.aarch64 dtb efi initramfs-5.11.12-300.fc34.aarch64.img lost+found vmlinuz-5.11.12-300.fc34.aarch64 |
Here is our missing Linux kernel file, as well as the other stuff you would expect to see in a /boot partition on a Linux box.
In addition, the subdirectory dtb-5.11.12-300.fc34.aarch64/ has a bunch more device tree files.
file /mnt/disk1/dtb-5.11.12-300.fc34.aarch64/qcom/sdm845-mtp.dtb /mnt/disk1/dtb-5.11.12-300.fc34.aarch64/qcom/sdm845-mtp.dtb: Device Tree Blob version 17, size=91017, boot CPU=0, string block size=3521, DT structure block size=87440 |
With yet a third extension.
Unount that partition so we can mount the third. The offset for that comes out to be 1703936000 .
$ sudo mount -o loop,offset=1703936000 /home/ayoung/Downloads/Fedora-Workstation-34-1.2.aarch64.raw /mnt/disk2 [ayoung@ayoungP40 ~]$ ls /mnt/disk2/ home root [ayoung@ayoungP40 ~]$ ls /mnt/disk2/root/ bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var [ayoung@ayoungP40 ~]$ ls /mnt/disk2/home/ [ayoung@ayoungP40 ~]$ |
Sop we have a root file system, as well as the stub of a Home directory. There is a lot of stuff in here:
ls /mnt/disk2/root/usr/bin/ | wc -l 1413 |
There should be a rpm database.
[ayoung@ayoungP40 ~]$ ls /mnt/disk2/root/var/lib/rpm/ rpmdb.sqlite rpmdb.sqlite-shm rpmdb.sqlite-wal $ rpm --root /mnt/disk2/root/ -qa | wc -l 1549 |
So that is our root file system.
it was a good article to provide insights about the way contents are organised. I guess, currently, rasPi installers (unlike anaconda) dont support partitioning during the install. so if I were to have two OSes on the same device, I may have to partition first and then decompress XZ on different partitions .
also to use grub, which traditionally has been a familiar bootloader for most of the linux users, what is the best way to organise the partitions on the device ? and then modify /boot/grub config files.
I’ve got an article in the works on using osbuild to create the image. It is not something I know from first principles, but it should answer your question.