Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save joaoantoniocardoso/d533e1d83866d4f93b9a835a9821e011 to your computer and use it in GitHub Desktop.
Save joaoantoniocardoso/d533e1d83866d4f93b9a835a9821e011 to your computer and use it in GitHub Desktop.
#!/bin/sh -exu
dev=$1
cd $(mktemp -d)
function umountboot {
umount boot || true
umount root || true
}
# RPi1/Zero (armv6h):
archlinux=/tmp/ArchLinuxARM-rpi-latest.tar.gz
url=http://os.archlinuxarm.org/os/ArchLinuxARM-rpi-latest.tar.gz
# RPi2 (armv7h):
# archlinux=/tmp/ArchLinuxARM-rpi-2-latest.tar.gz
# url=http://os.archlinuxarm.org/os/ArchLinuxARM-rpi-2-latest.tar.gz
curl -L -o $archlinux -z $archlinux $url
parted -s $dev mklabel msdos
parted -s $dev mkpart primary fat32 1 128
parted -s $dev mkpart primary ext4 128 -- -1
mkfs.vfat ${dev}p1
mkfs.ext4 -F ${dev}p2
mkdir -p boot
mount ${dev}p1 boot
trap umountboot EXIT
mkdir -p root
mount ${dev}p2 root
bsdtar -xpf $archlinux -C root
sync
mv root/boot/* boot
# Commands to configure WiFi before first boot (netctl-auto)
# - you need to temp edit root/etc/pacman.d to point to /path/to/root/etc/pacman.d/mirrorlist
# - change it back after installing
# pacman -r root --arch armv6h --config root/etc/pacman.conf --cachedir root/var/cache/pacman/pkg --dbpath root/var/lib/pacman -Sy
# pacman -r root --arch armv6h --config root/etc/pacman.conf --cachedir root/var/cache/pacman/pkg --dbpath root/var/lib/pacman -S wpa_
# ln -sf /usr/lib/systemd/system/[email protected] root/etc/systemd/system/[email protected]
# cat >root/etc/netctl/wlan0-SSID <<EOF
# Description='WiFi - SSID'
# Interface=wlan0
# Connection=wireless
# Security=none
# ESSID=enter-ssid-here
# IP=dhcp
# EOF
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment