Installing Precise (12.04.2) using netboot onto a Marvell ArmadaXP Development Board

时间:2021-07-06 04:38:47

 

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:

  1. A management device for serial access to the board.
  2. DHCP available for the board which will provide Internet access (to access the Ubuntu package archive).
  3. 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.