https://wiki.ubuntu.com/ARM/Server/Install
https://wiki.ubuntu.com/ARM/Server/Install/ArmadaXP
ArmadaXP
Installing Precise (12.04.2) using netboot onto a Marvell ArmadaXP Development Board
Before You Begin
You will need the following:
- A management device for serial access to the board.
- DHCP available for the board which will provide Internet access (to access the Ubuntu package archive).
A TFTP Server accessible from the board and optionally a PXE Server setup for PXE boot emulation.
Downloading the Installer
Download the Marvell ArmadaXP uImage and uInitrd and place them on an available TFTP Server.
Booting the Installer
Access the Marvell ArmadaXP serial console, for example with "screen /dev/ttyUSB0 115200" on a management machine with a USB serial adaptor attached to it.
Power on the board.
Interrupt U-Boot by pressing Enter when prompted.
TFTP Boot
Type the following at the U-Boot prompt, replacing the IP address with the IP address of your TFTP Server:
dhcp
tftpboot 0x2000000 10.0.0.10:/uImage
tftpboot 0x1100000 10.0.0.10:/uInitrd
setenv bootargs "console=ttyS0,115200 earlyprintk=ttyS0 pm_disable"
bootm 0x2000000 0x1100000
This will boot into the installer. Follow the default partitioning scheme suggested.
PXE Boot
Type the following at the U-Boot prompt to boot using PXE boot emulation:
dhcp
pxe get
pxe boot
This will boot into the installer. Follow the default partitioning scheme suggested.
Note: you may need to "set pxefile_addr_r 0x7000000", "set kernel_addr_r 0x2000000", and "set ramdisk_addr_r 0x1100000" before this will work (don't forget to "save" those values).
Here's a sample PXE configuration file: pxelinux.cfg/01-00-50-43-aa-bb-cc
default armadaxp-precise
prompt 0
timeout 1 label armadaxp-precise
kernel /uImage
initrd /uInitrd
append console=ttyS0,115200 earlyprintk=ttyS0 pm_disable
Booting into the Installed System
When the installer finishes and reboots, interrupt U-Boot again and type the following. If you used a different partitioning scheme, adjust the ext2load and root parameters accordingly.
setenv bootcmd "ide reset; ext2load ide 0:1 0x2000000 uImage; ext2load ide 0:1 0x1100000 uInitrd; setenv bootargs console=ttyS0,115200 earlyprintk=ttyS0 root=/dev/sda2 ro pm_disable; bootm 0x2000000 0x1100000"
save
reset
Your system should now boot into the installed system, with U-Boot configured and verified to continue doing so on future reboots.