Currently neither Raspberry Pi nor the Arch Linux ARM website offer an image ready for use of Arch Linux for Raspberry Pi, and because of that I created this small step by steps on how to do it on Linux.


  1. Download the last release image for your Pi (ARM).
  2. Create a image file of 2gb:
    $ dd if=/dev/zero of=arch.img bs=1M count=1850
  3. Partition the image file1:
    $ fdisk arch.img
    1. Type o. This will clear out any partitions on the drive.
    2. Type p to list partitions. There should be no partitions left.
    3. Type n, then p for primary, 1 for the first partition on the drive, press ENTER to accept the default first sector, then type +100M for the last sector.
    4. Type t, then c to set the first partition to type W95 FAT32 (LBA).
    5. Type n, then p for primary, 2 for the second partition on the drive, and then press ENTER twice to accept the default first and last sector.
    6. Write the partition table and exit by typing w.
  4. Check the partitions created:
    $ fdisk -l arch.img
  5. Mount the boot partition2:
    $ losetup -v -f -o $((2048 * 512)) --sizelimit 104857600 arch.img
  6. Mount the root partition:
    $ losetup -v -f -o $((206848 * 512)) --sizelimit 1833959424 arch.img
  7. Format and mount boot partition
    $ mkfs.vfat /dev/loop0
    $ mkdir boot
    $ mount /dev/loop0 boot
  8. Format and mount root partition
    $ mkfs.ext4 /dev/loop1
    $ mkdir root
    $ mount /dev/loop1 root
  9. Become root:
    $ sudo su -
  10. Extract image files:
    $ bsdtar -xpf ArchLinuxARM-rpi-latest.tar.gz -C root
    $ sync
  11. Copy boot files:
    $ mv root/boot/* boot
    $ sync
  12. Unmount partitions:
    $ umount boot root
    $ rmdir boot root
  13. Back to your user:
    $ exit
  14. Detach partitions:
    $ losetup -d /dev/loop0
    $ losetup -d /dev/loop1

Your image is ready to be used!