Versatile Express

The Versatile Express platform provides an environment for developing SoC designs. Arch Linux ARM specifically targets the Motherboard Express uATX system using one of the available CoreTile Express daughtercards.

Supported CoreTiles:

  • V2P-CA5: 2x Cortex-A5 100MHz
  • V2P-CA9: 4x Cortex-A9 400MHz
  • V2P-CA15 (TC1): 2x Cortex-A15 1GHz
  • V2P-CA15-CA7 (TC2): 2x Cortex-A15 1GHz, 3x Cortex-A7 800MHz
Architecture
ARMv7 Cortex-A
Processor
ARM Cortex-A
RAM
1GB
SD
Full SD
USB
2
Ethernet
Gigabit

Install to a SD card

Replace sdX in the following instructions with the device name for the SD card as it appears on your computer.

  1. Zero the beginning of the SD card:
    dd if=/dev/zero of=/dev/sdX bs=1M count=8
  2. Start parted to partition the SD card:
    parted /dev/sdX
  3. At the parted prompt, type the following commands to create an ESP partition and root partition:
    (parted) mklabel gpt                                                      
    (parted) mkpart ESP fat32 1MiB 513MiB
    (parted) set 1 boot on                                                    
    (parted) mkpart primary ext4 513MiB 100%                                  
    (parted) quit
  4. Create and mount the FAT filesystem:
    mkfs.vfat -F 32 -n "Arch Boot" /dev/sdX1
    mkdir boot
    mount /dev/sdX1 boot
  5. Create and mount the ext4 filesystem:
    mkfs.ext4 /dev/sdX2
    mkdir root
    mount /dev/sdX2 root
  6. Download and extract the root filesystem (as root, not via sudo):
    wget http://os.archlinuxarm.org/os/ArchLinuxARM-armv7-latest.tar.gz
    bsdtar -xpf ArchLinuxARM-armv7-latest.tar.gz -C root
    sync
  7. Move boot files to the first partition:
    mv root/boot/* boot
  8. Edit mnt/etc/fstab and add the following line to the end:
    /dev/mmcblk0p1  /boot   vfat    defaults        0       0
  9. Unmount the two partitions:
    umount boot root
  10. Insert the SD card into the Versatile Express.

Update Firmware

  1. Connect to the upper right serial port (UART0) at 38400bps.
  2. Connect a USB A-to-B cable to the USB port next to the serial port.
  3. Ensure both dip switches next to the black reset button are in the up position, and apply power.
  4. At the serial command prompt, type usb_on to enable mass storage access over USB:
    Cmd> usb_on
  5. Mount the new USB device partition, and delete all files from it.
    mount /dev/sdx1 mnt
    rm -rf mnt/*
  6. Clone the vexpress-firmware git repo, and copy all of the files to the mount point:
    git clone git://git.linaro.org/arm/vexpress-firmware.git
    cp -a  vexpress-firmware/* mnt
  7. (optional) Edit config.txt in the mount point and change AUTORUN to TRUE to boot on power-on.
  8. Unmount the partition:
    umount mnt
  9. Reboot the board.
  10. At the command prompt, type the following commands:
    Cmd> flash
    Flash> eraseall
    Flash> exit
    Cmd> reboot
  11. After reboot, the new firmware will be flashed automatically.
  12. Once at the command prompt again, set the dip switch closest to the black reset button to the down position.
  13. Press the black reset button, which will restart the board and launch the UEFI firmware. Interrupt this by pressing enter on the serial console.

Configure UEFI

  1. Interrupt UEFI auto-boot by pressing enter on the serial console when the UEFI firmware starts.
  2. Select option 3 for the Boot Manager:
    UEFI firmware (version ea31f8e built at 19:14:42 on Sep  8 2015)
    The default boot selection will start in   2 seconds
    [1] zImage with ramdisk.img and board.dtb in NOR Flash
            - VenHw(E7223039-5836-41E1-B542-D7EC736C5E59)/zImage
            - Initrd: VenHw(E7223039-5836-41E1-B542-D7EC736C5E59)/ramdisk.img
            - Arguments: console=ttyAMA0,38400 rootwait androidboot.hardware=arm-versatileexpress-usb root=/dev/sda2
            - LoaderType: Linux kernel with FDT support
    -----------------------
    FDT Device Paths
            - VenHw(1F15DA3C-37FF-4070-B471-BB4AF12A724A)/board.dtb
    -----------------------
    [2] Shell
    [3] Boot Manager
    [4] Reboot
    [5] Shutdown
    Start: 3
  3. Select option 3 to remove a boot device entry, then select 1 to delete the original entry:
    [1] Add Boot Device Entry
    [2] Update Boot Device Entry
    [3] Remove Boot Device Entry
    [4] Update FDT path
    [5] Return to main menu
    Choice: 3
    [1] zImage with ramdisk.img and board.dtb in NOR Flash
            - VenHw(E7223039-5836-41E1-B542-D7EC736C5E59)/zImage
            - Arguments: console=ttyAMA0,38400 rootwait androidboot.hardware=arm-versatileexpress-usb root=/dev/sda2
    Delete entry: 1
  4. Select option 1 to add a boot device entry, select the boot partition created previously, and set the other options as shown here:
    [1] Add Boot Device Entry
    [2] Update Boot Device Entry
    [3] Remove Boot Device Entry
    [4] Update FDT path
    [5] Return to main menu
    Choice: 1
    [1] Firmware Volume (0 MB)
    [2] Firmware Volume (0 MB)
    [3] NOR Flash (63 MB)
    [4] NOR Flash (63 MB)
    [5] Arch Boot (510 MB)
    [6] VenHw(02118005-9DA7-443A-92D5-781F022AEDBB)
    [7] PXE on MAC Address: 00:02:F7:00:57:6E
    [8] TFTP on MAC Address: 00:02:F7:00:57:6E
    Select the Boot Device: 5
    File path of the EFI Application or the kernel: zImage
    Is an EFI Application? [y/n] n
    Has FDT support? [y/n] y
    Add an initrd: [y/n] n
    Arguments to pass to the binary: console=ttyAMA0,38400 root=/dev/mmcblk0p2 rw rootwait
    Description for this new Entry: Arch Linux ARM
  5. Select option 4 to update the FDT path, select the boot partition previously created, and type in the file path corresponding to your CoreTile (with a backslash):
    • V2P-CA5: dtbs\vexpress-v2p-ca5s.dtb
    • V2P-CA9: dtbs\vexpress-v2p-ca9.dtb
    • V2P-CA15 (TC1): dtbs\vexpress-v2p-ca15-tc1.dtb
    • V2P-CA15-CA7 (TC2): dtbs\vexpress-v2p-ca15_a7.dtb
    [1] Add Boot Device Entry
    [2] Update Boot Device Entry
    [3] Remove Boot Device Entry
    [4] Update FDT path
    [5] Return to main menu
    Choice: 4
    [1] Firmware Volume (0 MB)
    [2] Firmware Volume (0 MB)
    [3] NOR Flash (63 MB)
    [4] NOR Flash (63 MB)
    [5] Arch Boot (510 MB)
    [6] VenHw(02118005-9DA7-443A-92D5-781F022AEDBB)
    [7] PXE on MAC Address: 00:02:F7:00:57:6E
    [8] TFTP on MAC Address: 00:02:F7:00:57:6E
    Select the Boot Device: 5
    File path of the FDT blob: dtbs\vexpress-v2p-ca15_a7.dtb
  6. Select 5 to return to the main menu, then select 1 to start Arch Linux ARM.
  7. Logging in:
    1. From the serial console, the default root password is "root"
    2. An ethernet connection will be automatically assigned an IP. SSH in with the user/pass alarm/alarm. SSH as root with a password is disabled by default.
  8. Initialize the pacman keyring and populate the Arch Linux ARM package signing keys:
    pacman-key --init
    pacman-key --populate archlinuxarm

Copyright ©2009-2022 Arch Linux ARM
The registered trademark Linux® is used pursuant to a sublicense from LMI, the exclusive licensee of Linus Torvalds, owner of the mark on a world-wide basis.
The Arch Linux™ name and logo are used under permission of the Arch Linux Project Lead.