Installing ArchLinux on the BeagleBone Black via SD card

At a minimum, you need to create the first partition on an SD card to store the bootloader files and kernel uImage. For the root filesystem you can choose to use either a USB drive or the second partition on the SD card. This example will partition an SD card. Replace instances of /dev/sdX with the device that the card registers as on your computer.

Install the SD card in a USB card reader and plug the card reader in the BeagleBone Black USB socket.

Check that the card is mounted with:

  dmesg | tail

which will return something like:

  [111735.902674] sd 1:0:0:0: [sda] No Caching mode page present
  [111735.908773] sd 1:0:0:0: [sda] Assuming drive cache: write through
  [111735.915383] sd 1:0:0:0: [sda] Attached SCSI removable disk

indicating the card was mounted as /dev/sda If the card was not mounted as /dev/sda, change the following to the proper name.

Start fdisk to partition the SD card:

  fdisk /dev/sda

At the fdisk prompt, delete old partitions and create a new one:

Create the FAT16 filesystem:

  mkfs.vfat -F 16 /dev/sda1
  

Create the ext4 filesystem:

  mkfs.ext4 /dev/sda2

Download the BeagleBone bootloader tarball and extract the files onto the first partition of the SD card. These files contain the bootloaders needed to load the kernel. The file MLO needs to be the first file put onto the FAT partition, and extracting the tarball as-is should do this for you. If you have problems getting to U-Boot, re-format and place the files manually.

  wget http://archlinuxarm.org/os/omap/BeagleBone-bootloader.tar.gz 
  mkdir boot 
  mount /dev/sdX1 boot 
  tar -xvf BeagleBone-bootloader.tar.gz -C boot 
  umount boot

Download the root filesystem tarball and extract it (as root, not via sudo) to the ext3 partition on either the SD card or the USB drive. It is important to do this as root, as special files need to be created as part of the filesystem that can only be created by root.

  wget http://archlinuxarm.org/os/ArchLinuxARM-am33x-latest.tar.gz 
  mkdir root 
  mount /dev/sdX2 root 
  tar -xf ArchLinuxARM-am33x-latest.tar.gz -C root 
  umount root

Insert the card into the system and apply power while holding down the boot selection switch located on the top of the board near where the micro SD card plugged in (labelled S2). You only need to hold the switch while power is being applied. You can release it immediately after power is applied. This will tell the board to boot from SD instead of eMMC. After the system is booted, you can SSH to the IP that gets assigned and login with the user/pass: root/root.