Skip to content

Instantly share code, notes, and snippets.

Last active November 12, 2023 16:47
Show Gist options
  • Save karolba/a3f1c5f8d50c67f5a19e6c8f38e53e12 to your computer and use it in GitHub Desktop.
Save karolba/a3f1c5f8d50c67f5a19e6c8f38e53e12 to your computer and use it in GitHub Desktop.
Install Alpine Linux on Scaleway Stardust without the rescue image using

A way to install Alpine Linux on a Scaleway Stardust instance without the use of a rescue image, but by booting into the install image over the network using

  1. Connect to the serial console, using scw instance server console {uuid} zone={zone}

  2. Reboot the VM into UEFI settings

    • either by executing systemctl reboot --firmware on the machine
    • or by using scw instance server reboot {uuid} zone={zone} locally and repeatedly mashing the escape key on the serial console image
  3. Go to Device Manager -> Network Device List -> the only network device -> HTTP Boot Configuration -> Boot URI image image image image image

  4. Enter the value

  5. Save it and go back to the main page (you might need to press Esc twice to go up once)

  6. Enter the Boot Manager and select the newly-added boot option image image

  7. Wait for to launch

  8. Once in the interface, go to Utilities (UEFI) -> Kernel cmdline params and enter

    this will not only allow you to see and interact with the installer over the serial port, but setup-alpine will detect it and configure the installed system to also use the serial console image image

  9. Now you can back out, select Linux Network Installs (64-bit) -> Alpine Linux and enjoy the rest of the installation process image image

Copy link

1412031 commented Aug 18, 2022

Pretty interesting brother, thanks

Copy link

unixfox commented May 26, 2023

EDIT: This is applicable only if the default storage is a block storage and not a local storage.

For some reason alpine linux can't write in the first 4MB of the sectors of the disk so I had to:

vim /sbin/setup-disk

Change this line after setup_partitions():

local diskdev="$1" start=1M line=


local diskdev="$1" start=4M line=

Copy link

1412031 commented May 31, 2023

You saved the day man, cheers

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment