Board | U-Boot package | WiFi package(s) | Bootlog |
---|---|---|---|
OrangePi Zero | uboot-orangepi-zero |
xradio-dkms , xradio-firmware |
here |
OrangePi One | uboot-orangepi-one |
N/A | here |
OrangePi R1 | uboot-orangepi-r1 |
[TODO] | here |
NanoPi Neo | uboot-nanopi-neo |
N/A | here |
ZeroPi | uboot-zeropi |
N/A | |
A10 oLinuXino Lime | uboot-a10-olinuxino-lime-dt |
N/A | here |
A20 oLinuXino Lime | uboot-a20-olinuxino-lime-dt |
N/A | here |
BananaPi M2 Zero | uboot-bananapi-m2-zero |
ap6212-wifi-firmware |
here |
Theese bootloaders are ready to apply additional DT overlays from Armbian's Device Tree overlays for sunxi devices. See this repository for more info.
All bootloaders requires Linux kernel version >=4.15.0.
Replace sdX in the following instructions with the device name for the SD card as it appears on your computer.
- Zero the beginning of the SD card:
dd if=/dev/zero of=/dev/sdX bs=1M count=8
- Start fdisk to partition the SD card:
fdisk /dev/sdX
- At the fdisk prompt, delete old partitions and create a new one:
- Type o. This will clear out any partitions on the drive.
- Type p to list partitions. There should be no partitions left.
- Now type n, then p for primary, 1 for the first partition on the drive, 2048 for the first sector, and then press ENTER to accept the default last sector.
- Write the partition table and exit by typing w.
- Create the ext4 filesystem:
mkfs.ext4 /dev/sdX1
- Mount the filesystem:
mkdir root mount /dev/sdX1 root
- Download and extract the root filesystem:
wget http://os.archlinuxarm.org/os/ArchLinuxARM-armv7-latest.tar.gz bsdtar -xpf ArchLinuxARM-armv7-latest.tar.gz -C root sync
- Download download appropriate U-Boot package from releases.
wget https://github.com/RoEdAl/alarm-uboot-sunxi-armv7/releases/download/vyyy.mm-r/uboot-<your board name>-yyyy.mm-r-armv7h.pkg.tar.xz
- Extract required U-Boot binary and compiled script from package:
bsdtar -xf uboot-<your board name>-yyyy.mm-r-armv7h.pkg.tar.xz boot/u-boot-sunxi-with-spl.bin boot/boot.scr
- Install the U-Boot bootloader:
mv boot/boot.scr root/boot umount root dd if=boot/u-boot-sunxi-with-spl.bin of=/dev/sdX bs=1024 seek=8
- Insert the micro SD card into the board, connect ethernet, and apply 5V power.
- Use the serial console or SSH to the IP address given to the board by your router.
- Login as the default user alarm with the password alarm.
- The default root password is root.
- After logging into the system initialize the pacman keyring and populate the Arch Linux ARM package signing keys:
pacman-key --init pacman-key --populate archlinuxarm
- Install U-Boot package:
wget https://github.com/RoEdAl/alarm-uboot-sunxi-armv7/releases/download/vx-y/uboot-<your board name>-yyyy.mm-r-armv7h.pkg.tar.xz pacman -U uboot-<your board name>-yyyy.mm-r-armv7h.pkg.tar.xz
Replace sdX in the following instructions with the device name for the SD card as it appears on your computer.
- Zero the beginning of the SD card:
dd if=/dev/zero of=/dev/sdX bs=1M count=8
- Start fdisk to partition the SD card:
fdisk /dev/sdX
- At the fdisk prompt, delete old partitions and create a new one:
- Type o. This will clear out any partitions on the drive.
- Type p to list partitions. There should be no partitions left.
- Type n, then p for primary, 1 for the first partition on the drive, 2048 for the first sector, and then type +256M for the last sector.
- Now type n, then p for primary, 2 for the first partition on the drive and then press ENTER twice to accept the default first and last sector.
- Write the partition table and exit by typing w.
- Create the boot filesystem:
mkfs.ext4 /dev/sdX1
- Mount the boot filesystem:
mkdir boot mount /dev/sdX1 boot
- Create the root filesystem:
mkfs.f2fs /dev/sdX2
- Mount the boot filesystem:
mkdir root mount /dev/sdX2 root
- Download and extract the root filesystem:
wget http://os.archlinuxarm.org/os/ArchLinuxARM-armv7-latest.tar.gz bsdtar -xpf ArchLinuxARM-armv7-latest.tar.gz -C root sync
- Move boot files to the first partition:
mv root/boot/* boot
- Download download appropriate U-Boot package from releases.
wget https://github.com/RoEdAl/alarm-uboot-sunxi-armv7/releases/download/vyyy.mm-r/uboot-<your board name>-yyyy.mm-r-armv7h.pkg.tar.xz
- Extract required U-Boot binary and compiled script from package:
bsdtar -xf uboot-<your board name>-yyyy.mm-r-armv7h.pkg.tar.xz boot/u-boot-sunxi-with-spl.bin boot/boot.scr
- Install the U-Boot bootloader:
dd if=boot/u-boot-sunxi-with-spl.bin of=/dev/sdX bs=1024 seek=8 sync rm boot/u-boot-sunxi-with-spl.bin
- Inform bootloader that root filestystem is on second partition:
touch boot/root-is-on-2nd-partition
- Add
fstab
entry to mount boot partition:echo '/dev/mmcblk0p1 /boot ext4 defaults 0 2' >> root/etc/fstab
- Optionally configure systemd-journald service to store log data only in memory:
mkdir -p root/usr/lib/systemd/journald.conf.d echo '[Journal]' > root/usr/lib/systemd/journald.conf.d/storage-volatile.conf echo 'Storage=volatile' >> root/usr/lib/systemd/journald.conf.d/storage-volatile.conf
- Umount the partitions:
umount root boot
- Insert the micro SD card into the board, connect ethernet, and apply 5V power.
- Use the serial console or SSH to the IP address given to the board by your router.
- Login as the default user alarm with the password alarm.
- The default root password is root.
- After logging into the system initialize the pacman keyring and populate the Arch Linux ARM package signing keys:
pacman-key --init pacman-key --populate archlinuxarm
- Install U-Boot package:
wget https://github.com/RoEdAl/alarm-uboot-sunxi-armv7/releases/download/vx-y/uboot-<your board name>-yyyy.mm-r-armv7h.pkg.tar.xz pacman -U uboot-<your board name>-yyyy.mm-r-armv7h.pkg.tar.xz
- Install
f2fs-tools
package and rebuild initcpio:pacman -Syu f2fs-tools mkinitcpio -p linux-armv7
- Due to
git-apply
behaviour packages must be built outside a git repository - specify BUILDDIR in~/.makepkg.conf
file.