Azure does not support uploading ISO as Vultr does, nor installing Arch Linux directly from marketplace. (Instead, it supports uploading custom VHD.) This significantly increased the difficulties in installing Arch Linux on Azure, but we can still achieve that using
The configuration tested is Ubuntu 16.04 LTS on Gen1 VM, which does not support UEFI (Gen2 is not tested). Ubuntu 18.04 is known to fail. Low memories will not work as well, since there should be enough memory to install, or the system will stuck. Do not attempt fo install with 512M memory. There’s no specific memory requirements for the installation process; the more, the better.
Are you ready? Let’s go.
Firstly, switch to Root, and set a password. That’s because vps2arch needs to reboot after installing (
sync; reboot -f), and the intermediate system after installation does not have sudo, so it is a good practice that you switch to Root first. In the mean time, make sure you set a password, for vps2arch will use the current root password as the new one (default is
vps2arch). To keep your current password, you need to set one (The Ubuntu image does not have a password in default).
Secondly, run vps2arch. According to the official document, execute the following commands:
curl -vLO http://tinyurl.com/vps2arch chmod +x vps2arch ./vps2arch
Wait for a few minutes, it will automatically prompt you for the next step.
Reboot. It’s time to reboot as the official document mentions:
sync; reboot -f
Note: the SSH session will stuck. Press
~. to terminate it. (Source)
Post Installation Config
The installation is incomplete for now, since we still need to configure as a usual installation. Here is a list comparing some of the things vps2arch does, or does not do (compared to Arch Wiki):
- There is only Root, which preserves the previous password (default:
- Uses systemd-networkd and other services to manage network.
- Hosts is empty.
- Host name is not set.
- Timezone is not set.
- Language is not set.
- Uses Grub as bootloader.
- Uses the default kernel.
- Installs and enables OpenSSH, and permits Root login.
According to the list, you can simply configure it for your situation. For now, the installation is complete.