dermotbradley/create-alpine-disk-image

Error running create image script: line 5862: 164MiB: value too great for base (error token is "164MiB")

Closed this issue · 1 comments

This is on an up to date Arch x86_64 system.

$ ./create-alpine-disk-image --physical pc --lvm --password alpine --ipv4only --boottype uefi --bootloader syslinux --release edge --script-filename script.sh --short-hostname aplineboot

create-alpine-disk-image version 0.2-DEV

Using the following settings:
Image arch: x86_64
Image class: physical
Physical machine type: pc
Alpine release: edge
Boot Type: uefi
Bootloader: syslinux
Filesystem type: ext4
Image LVM partition size: 552
./create-alpine-disk-image: line 5862: 164MiB: value too great for base (error token is "164MiB")

Hi there.

Rather than look to fix the issue in that version of the script I have gotten around to actually pushing a new version to Github, just now.

Also I see you are intending to use Syslinux for UEFI - I should point out that this functionality in Syslinux itself is "non optimal". I had this working in my script in the past but the underlying issue is that Syslinux requires that the files it uses (kernel and initramfs) must be in the same directory as its EFI binary, i.e. inside the ESP partition. However this introduces ongoing issues - whenever Alpine's kernel is updated the changed/new kernel file is written to /boot and likewise whenever the initramfs is updated (by mkinitfs) it is written to /boot and so unless you keep copying these files from /boot to the ESP location then the versions used for booting will get out of date (and indeed booting problems could occur - e.g. old kernel modules no longer available but your ESP partition is using that old kernel).

I did try to workaround this by bind-mounting the Syslinux ESP directory onto /boot but (from memory) I never got that to work correctly. I'll have to retest to see the current state of that.

With this in mind I've decided to put Syslinux UEFI support behind the "--experimental" option.

I recommend you use Grub for UEFI booting.