All Projects → GoogleCloudPlatform → Compute Archlinux Image Builder

GoogleCloudPlatform / Compute Archlinux Image Builder

Licence: apache-2.0
A tool to build a Arch Linux Image for GCE

Programming Languages

shell
77523 projects

Projects that are alternatives of or similar to Compute Archlinux Image Builder

Cylon
A CLI TUI menu driven bash shell script supporting updates, maintenance, backups and system checks for an Arch based Linux distro
Stars: ✭ 121 (-40.39%)
Mutual labels:  arch-linux
Ffmpeg Video Player
An FFmpeg and SDL Tutorial.
Stars: ✭ 149 (-26.6%)
Mutual labels:  arch-linux
Alterlinux
Alter Linux - ArchLinux-derived OS made in Japan aimed at being usable by anyone
Stars: ✭ 179 (-11.82%)
Mutual labels:  arch-linux
Dotfiles
Configuration files for XMonad, Emacs, NixOS, Taffybar and more.
Stars: ✭ 127 (-37.44%)
Mutual labels:  arch-linux
Archinstall
Arch Linux installer - guided, templates etc.
Stars: ✭ 140 (-31.03%)
Mutual labels:  arch-linux
Arch Update
Update indicator for ArchLinux and Gnome-Shell
Stars: ✭ 155 (-23.65%)
Mutual labels:  arch-linux
Dotfiles
My bspwm dotfiles. Grab whatever you need! :)
Stars: ✭ 111 (-45.32%)
Mutual labels:  arch-linux
Arch Linux Installer
Arch-Linux-Install-Script/Arch Linux 安装脚本
Stars: ✭ 192 (-5.42%)
Mutual labels:  arch-linux
Pacback
Advanced Version Control for Arch Linux
Stars: ✭ 146 (-28.08%)
Mutual labels:  arch-linux
Image Bootstrap
⛅️ Creates (chroots and) bootable virtual machine images; command line tool (Python 3)
Stars: ✭ 178 (-12.32%)
Mutual labels:  arch-linux
Anlinux Adfree
AnLinux, Ad free version.
Stars: ✭ 127 (-37.44%)
Mutual labels:  arch-linux
Anlinux Resources
Image and Script for LinuxOnAndroid App
Stars: ✭ 135 (-33.5%)
Mutual labels:  arch-linux
An Idiots Guide To Installing Arch On A Lenovo Carbon X1 Gen 6
so you wanted to install arch huh
Stars: ✭ 165 (-18.72%)
Mutual labels:  arch-linux
Wslu
A collection of utilities for Windows 10 Linux Subsystems
Stars: ✭ 2,020 (+895.07%)
Mutual labels:  arch-linux
Termuxarch
Experience the pleasure of the Linux command prompt in Android, Chromebook, Fire OS and Windows on smartphone, smartTV, tablet and wearable https://termuxarch.github.io/TermuxArch/
Stars: ✭ 183 (-9.85%)
Mutual labels:  arch-linux
Sielo Legacy
An open source browser made with Qt and WebEngine
Stars: ✭ 113 (-44.33%)
Mutual labels:  arch-linux
Spotcommander
The most intuitive and feature-rich remote control for Spotify for Linux
Stars: ✭ 152 (-25.12%)
Mutual labels:  arch-linux
Rpi Pxe Server
setup a Raspberry Pi as an PXE-Server
Stars: ✭ 197 (-2.96%)
Mutual labels:  arch-linux
Lightdm Webkit Material
[PROJECT ABANDONED] A material design LightDM Webkit greeter theme
Stars: ✭ 187 (-7.88%)
Mutual labels:  arch-linux
.dotfiles
🎆 Arch Linux with i3 / nvim / tmux / urxvt / zsh / ...
Stars: ✭ 167 (-17.73%)
Mutual labels:  arch-linux

Arch Linux Image Builder for Google Compute Engine

This project provides a script that creates an Arch Linux image that can run on Google Compute Engine.

The image is configured to be as close as possible to a base Arch Linux installation, while still allowing it to be fully functional and optimized for Compute Engine. Notable choices made and differences compared to a standard Arch Linux installation are the following:

  • GRUB is used with BIOS-based boot and a GPT partition table.
  • Serial console logging is enabled from kernel command line and journald is configured to forward to it.
  • Block multiqueue and elevator noop are configured from kernel command line to optimize Compute Engine disk performance.
  • A minimal initcpio is configured for booting on Compute Engine virtual machines.
  • Root filesystem is ext4.
  • Locale is set to en_US.UTF-8 and timezone is set to UTC.
  • Network is configured through dhclient.
  • Systemd-timesyncd is enabled and configured to use the Compute Engine metadata server.
  • Pacman keyring is configured to be built and initialized on first boot.
  • Pacman mirror list is taken fresh from Arch Linux servers at the time the image is built.
  • Linux Guest Environment for Google Compute Engine is installed and enabled.
  • An OpenSSH server is installed and enabled, with root login and password authentication forbidden. User SSH keys are deployed and managed automatically by the Linux Guest Environment as described in the corresponding documentation.
  • Sudo is installed. Permission to use sudo is managed automatically by Linux Guest Environment.
  • Root partition and filesystem are automatically extended at boot using growpart, to support dynamic disk resizing.
  • An additional Pacman repository is used to install and keep the Linux Guest Environment and growpartfs packages up to date.

Prebuilt Images

You can use Cloud SDK to create instances with the latest prebuilt Arch Linux image. To do that follow the SDK installation procedure, and then run the following command:

$ gcloud compute instances create INSTANCE_NAME \
      --image-project=arch-linux-gce --image-family=arch

Build Your Own Image

You can build the Arch Linux image yourself with the following procedure:

  1. Install the required dependencies and build the image

    $ sudo pacman -S --needed arch-install-scripts e2fsprogs
    $ git clone https://github.com/GoogleCloudPlatform/compute-archlinux-image-builder.git
    $ cd compute-archlinux-image-builder
    $ sudo ./build-arch-gce
    

    You can also use the build-arch-gce package from the AUR, and run sudo /usr/bin/build-arch-gce

    If the build is successful, this will create an image file named arch-vDATE.tar.gz in the current directory, where DATE is the current date.

  2. Install and configure the Cloud SDK.

  3. Copy the image file to Google Cloud Storage:

    $ gsutil mb gs://BUCKET_NAME
    $ gsutil cp arch-vDATE.tar.gz gs://BUCKET_NAME
    
  4. Import the image file to Google Cloud Engine as a new custom image:

    $ gcloud compute images create IMAGE_NAME \
          --source-uri=gs://BUCKET_NAME/arch-vDATE.tar.gz \
          --guest-os-features=VIRTIO_SCSI_MULTIQUEUE
    

You can now create new instances with your custom image:

$ gcloud compute instances create INSTANCE_NAME --image=IMAGE_NAME

The Google Cloud Storage file is no longer needed, so you can delete it if you want:

$ gsutil rm gs://BUCKET_NAME/arch-vDATE.tar.gz

Contributing Changes

Licensing

All files in this repository are under the Apache License, Version 2.0 unless noted otherwise.

Support

Google Inc. does not provide any support, guarantees, or warranty for this project or the images provided.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].