The Juno platform provides an environment for developing ARMv8 SoC designs.
Supported variants:
- Juno r0: 2x Cortex-A57 r0p0, 4x Cortex-A53 r0p0
- Juno r1: 2x Cortex-A57 r0p1, 4x Cortex-A53 r0p3
- Juno r2: 2x Cortex-A72 r0p0, 4x Cortex-A53 r0p3
For detailed information, see the Juno platform site.
- Architecture
- ARMv8 Cortex-A
- Processor
- ARM Cortex-A
- RAM
- 8GB
- USB
- 4
- Ethernet
- Gigabit
Install to a USB drive
Replace sdX in the following instructions with the device name for the USB drive as it appears on your computer.
- Zero the beginning of the USB drive:
dd if=/dev/zero of=/dev/sdX bs=1M count=8
- Start parted to partition the USB drive:
parted /dev/sdX
- 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
- Create and mount the FAT filesystem:
mkfs.vfat -F 32 -n "Arch Boot" /dev/sdX1
mkdir boot
mount /dev/sdX1 boot
- Create and mount the ext4 filesystem:
mkfs.ext4 /dev/sdX2
mkdir root
mount /dev/sdX2 root
- Download and extract the root filesystem (as root, not via sudo):
wget http://os.archlinuxarm.org/os/ArchLinuxARM-aarch64-latest.tar.gz
bsdtar -xpf ArchLinuxARM-aarch64-latest.tar.gz -C root
sync
- Move boot files to the first partition:
mv root/boot/* boot
- Edit root/etc/fstab and add the following line to the end:
/dev/sda1 /boot vfat defaults 0 0
- Edit boot/startup.nsh and insert the following line, replacing juno.dtb with the correct file name for your platform:
- Juno r0: juno.dtb
- Juno r1: juno-r1.dtb
- Juno r2: juno-r2.dtb
Image dtb=dtbs\arm\juno.dtb console=ttyAMA0,115200n8 root=/dev/sda2 rw rootwait
- Unmount the two partitions:
umount boot root
- Connect the drive to one of the USB ports.
Update Firmware
- Connect to top serial port (UART0) at 115200bps.
- Connect a USB A-to-B cable to the USB port next to the reset buttons.
- Apply power, and press enter to interrupt auto-boot if enabled.
- At the command prompt, type the following commands:
Cmd> flash
Flash> eraseall
Flash> exit
Cmd> usb_on
- Mount the new USB device partition, and delete all files from it.
mount /dev/sdx1 mnt
rm -rf mnt/*
- Download the latest Linaro UEFI release, and extract the zip to the mount point:
wget http://snapshots.linaro.org/member-builds/armlt-platforms-release/41/juno-uefi.zip
unzip juno-uefi.zip -d mnt
- Remove the included startup.nsh file:
rm mnt/SOFTWARE/startup.nsh
- Synchronize changes and unmount the partition:
sync; umount mnt
- Reboot the board:
Cmd> reboot
- After reboot, the new firmware will be flashed automatically, and the UEFI firmware will start.
- Interrupt UEFI auto-boot by pressing escape on the serial console when prompted after the UEFI firmware starts.
- Arrow down to Boot Maintenance Manager and press enter.
- Press enter on Boot Options.
- Arrow down to Change Boot Order and press enter.
- Press enter on the boot order list.
- Arrow down to UEFI Shell and press + until the entry is at the top, then press enter to exit.
- Press F10 then y to save the boot order.
- Press escape three times to get back to the main menu.
- Arrow down to Continue and press enter to boot the system.
- Logging in:
- From the serial console, the default root password is "root"
- An ethernet connection (front port) will be automatically assigned an IP. SSH in with the user/pass alarm/alarm. SSH as root with a password is disabled by default.