dermotbradley / create-alpine-disk-image

Create cloud-init enabled Alpine disk images for physical machines (PCs & RPIs), VMs, and Cloud servers
GNU General Public License v2.0
93 stars 11 forks source link

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

Closed bogen85 closed 2 years ago

bogen85 commented 2 years ago

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")

dermotbradley commented 2 years ago

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.