probonopd / aarch64-squashfs-builder

Trying to build squashfs images for aarch64 that can be booted on Amlogic devices
MIT License
1 stars 0 forks source link

Drops to initramfs shell, works if you press Ctrl-D #2

Open probonopd opened 4 years ago

probonopd commented 4 years ago

When we install @150balbes Armbian_20.05.1_Arm-64_bionic_current_5.6.2_desktop_20200408.img Ubuntu, then install casper from the booted system, then

sudo mount -o remount,rw /boot
sudo nano /boot/uEnv.txt
APPEND=boot=casper union=overlay ...

then make <ROOTFS/casper/filesystem.squashfs> from <ROOTFS> on another machine, then boot into it, then we get

Begin: Running /scripts/casper-premount ... done.
done.
mount: mounting /dev/mmcblk0p1 on /cdrom failed: Invalid argument
cow format specified 'overlay' and no support found

Drops to initramfs shell, works if you press Ctrl-D to exit that shell.

Why?

In the shell we can see that

/dev/mmcblk0p2 on /cdrom
probonopd commented 4 years ago

The following works:

When we install @150balbes Armbian_20.05.1_Arm-64_buster_current_5.6.2_desktop_20200408.img Debian, then install live-boot and optionally live-config (which needs user-setup to work properly) from the booted system like so

sudo apt-get -y install live-boot user-setup

then

sudo mount -o remount,rw /boot
sudo nano /boot/uEnv.txt
APPEND=boot=live-boot debug ...

then make <ROOTFS/live/filesystem.squashfs> from <ROOTFS> on another machine like so:

Important: Make sure <ROOTFS>/etc/passwd does NOT contain a user with the user ID 1000, otherwise live-config will fail to create a live user during boot! (If you simply want to use your own user that you had created, consider not to use live-config or at least have it not set up a live user, in which case the live system simply uses the existing user with the user ID 1000 - this may already be sufficient in many cases.)

echo live > excludefile
echo casper >> excludefile
sudo mksquashfs /media/me/ROOTFS/ /media/$USER/ROOTFS/live/filesystem.squashfs -ef excludefile -noappend

then boot into it, then it works without this issue!

Note that live-boot can use (needs to be installed separately!) live-config which seems to have way more configuration possibilities than casper.

Also note that @150balbes Armbian is preconfigured in a way that creates the needed aarch64 initrd uImage automatically after creating the initrd.