I'm trying to install postmarketOS to a Linx 7 Windows tablet (It has 32 bit UEFI with a 64 bit cpu)
Now, I can use pmbootstrap install --sdcard=/dev/sda perfectly fine, the USB gets flashed properly, and the system does in fact work (barely, but it works).
However, if I try to use pmbootstrap install --ondev --sdcard=/dev/sda, to make the USB into an installer, I run into a problem. Fat partitions have an 11 character limit to their labels, and the --ondev flag tries to make a Fat partition with a label that has more than 11 characters, I think the offending file/line is https://gitlab.postmarketos.org/postmarketos/pmbootstrap/-/blob/master/pmb/install/_install.py#L706, but in any case I am prevented from making an on device installer.
(The command that is trying to be ran and failing is mkfs.fat -F 16 -n pmOS_inst_boot /dev/installp1)
EDIT: It doesn't work even if I leave out --sdcard=/dev/sda
Thanks for your time!
Edited
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Child items ...
Show closed items
Linked items 0
Link issues together to show that they're related.
Learn more.
patch postmarketos-ondev to rename pmOS_i_boot to pmOS_boot too, not only pmOS_install_boot. (I suggest moving the logic to a separate shell script, so the line doesn't become any longer.)
patch pmbotostrap to use pmOS_i_boot instead of pmOS_install_boot if the boot partition type is fat16 (suggesting this instead of always the shorter name for backwards compatibility with the previous postmarketos-ondev version)
I would like to give it a try, but I'd have no idea where to start cloning things to and such (I just got pmbootstrap off the AUR, so unless you can point me to where the files are on my system I'll have no clue ;-; )
I can flash the USB drive i'm using, it does a UEFI boot, but then (eventually, after saying "Booting 'postmarketOS'"), it shows an image and says "boot partition not found"
In the pmbootstrap log (saved to ~/.local/var/pmbootstrap/log.txt) you can verify that pmbootstrap is installing the correct packages. Consider renaming/deleting that log.txt before starting a new pmbootstrap install and then verify the version numbers of postmarketos-mkinitfs and postmarketos-ondev.
Some additional thoughts:
You did discover a bug and it is definitively worth fixing it. But I'm wondering what you are trying to do exactly - the on-device installer will give you a UI with these installation dialogs to encrypt your device etc. But as you are creating your own image with pmbootstrap anyway, you can already do all these customizations with pmbootstrap. For example, pmbootstrap install --fde will enable full disk encryption. So if you just want to install postmarketOS to your tablet, this is the faster route The on-device installer is most-useful for the pre-built images on the postmarketOS downloads page, so people can do these customizations without building their own image.
The on-device installer has only been tested on a couple of different devices. It might be that it needs further fixing to work on your x64 UEFI device.
Well, my patches probably work, i mean i got at least part way through the ondev installer before i realised what you said, i'll try again once my micro SD card gets here in the mail (120MB/s is probably better to boot from than 2.5MB/s, right?), i probably won't need to use ondev but if it works, then it works!
Hi.
I've been trying to replicate this on another device, the Acer Aspire Switch 10 (I've been working with the generic uefi x86 device, given that it boots from a usb without the --ondev parameter just fine). I applied the patches (the last one did not apply because the relevant section of code had been moved around, I compensated for that)
I can prove that the pmbootstrap patches applied correctly simply because of the way the boot partition ends up being named. I run into the same issue as @AlexBigCheese with the boot partition not being found.
I am at a loss as to how to debug this: I tried to check the pmbootstrap log and it shows as the right pkgrel being installed. I then inspected the usb flash drive's pmOS_i_boot partition, especially the initfs. Inside it I find the patched shell script, so the package seems to get built and land on the usb. I then tried to have it show another of the splash images upon not finding the partition by doing this hack:
mount_boot_partition() { partition=$(find_boot_partition) if [ -z "$partition" ]; then echo "ERROR: boot partition not found!"- show_splash /splash-noboot.ppm.gz+ show_splash /splash-noinitramfsextra.ppm.gz # /splash-noboot.ppm.gz loop_forever fi
I can see the change landing on the usb as well, but the same image still shows. Do you people have any good ideas as how to debug this?
0001-Use-wildcard-for-pmOS_i-_boot.patch uses tune2fs to rename the partition. This assumes that the partition is ext, and with FAT16 Calamares dies with the message in the image: