====== ARMADA XP ======
* [[http://www.pcworld.com/businesscenter/article/210156/marvells_armada_xp_could_bring_a_cloud_revolution.html|Marvell's Armada XP Could Bring a Cloud Revolution]]
* [[https://wiki.ubuntu.com/ARM/Server/Install|Installing Precise (12.04) using netboot onto an Armada XP Development Board]]
- 該映像是給 ARMv7MP 使用。
$ cd /srv/tftp
$ wget http://ports.ubuntu.com/dists/precise/main/installer-armhf/current/images/armadaxp/uImage
$ wget http://ports.ubuntu.com/dists/precise/main/installer-armhf/current/images/armadaxp/uInitrd
$ minicom
setenv serverip 140.109.23.233;setenv ipaddr 140.109.23.23; setenv gatewayip 140.109.23.242;
tftpboot 0x2000000 140.109.23.233:/srv/tftp/uImage;
tftpboot 0x1100000 140.109.23.233:/srv/tftp/uInitrd;
setenv bootargs "console=ttyS0,115200 earlyprintk=ttyS0"; bootm 0x2000000 0x1100000
* ARMADA XP quad-core ARM A9 running at 1.333 GHz。目前支援 ARMv7MP,不支援 NEON。
* ARMADA XP quad-core ARM A9 running at 1.2+ GHz。目前支援 ARMv6MP 和 ARMv7SP,編譯軟體時加上 v6vfp 或是 v6t2vfp。年底拿到的支援 NEON。
* AV-D1 (Dove) 支援 WMMX2。
- 設定 ARMADA XP 的網路。
$ vi /etc/network/interfaces
auto eth0
iface eth0 inet static
address 140.109.23.123
netmask 255.255.255.0
gateway 140.109.23.242
auto eth0:1
iface eth0:1 inet static
address 192.168.50.1
netmask 255.255.255.0
$ sudo ifup -a
$ vi /etc/resolv.conf
search iis.sinica.edu.tw
nameserver 140.109.1.10
nameserver 140.109.20.250
$ vi /etv/hostname
arm3
$ vi /etc/hosts
140.109.22.163 itanium.iis.sinica.edu.tw itanium
140.109.22.42 i71.iis.sinica.edu.tw i71
* [[Linux]]。
- 在伺服器端安裝 [[wp>Trivial File Transfer Protocol]]。
# http://softsmith.blogspot.com/2009/06/ubuntu-desktop-tftp-server.html
# http://nano-chicken.blogspot.com/2009/11/atftp-on-ubuntu.html
$ apt-get install atftpd
$ vi /etc/default/atftpd
USE_INETD=false
OPTIONS="--daemon --tftpd-timeout 300 --retry-timeout 5 --mcast-port 1758 --mcast-addr 239.239.239.0-255 --mcast-ttl 1 --maxthread 100 --verbose=5 /srv/tftp"
$ mkdir -p /srv/tftproot
$ chmod 777 /srv/tftproot
$ /etc/init.d/atftpd restart
- 在 tftp 目錄底下掛載映像檔和 [[wp>busybox]]。
$ cp uImage_dsmp_LSP116 /srv/tftp
$ tar xvf busybox.tar.gz -C /srv/tftp
$ tar xvf --numeric-owner -xvf karmic-dove.tar.gz -C /srv/tftp
# 改 IP
$ vi busybox/etc/init.d/rcS
* ub-12.04-precise-v7vfp3-20120710
* ub-12.04-precise-v7hard-20120710
* pandaboard 安裝的是 softfp,CodeSourcery 提供的工具鏈只支援 softfp。用前面兩者編譯出來的執行檔只能在 ub-12.04-precise-v7vfp3-20120710 上運行。
- export busybox
# https://help.ubuntu.com/community/SettingUpNFSHowTo
# http://blog.163.com/fengtao_zhang@126/blog/static/16940162520110561047234/
$ apt-get install portmaster nfs-kernel-server
$ vi /etc/exports
/srv/tftp/busybox 192.168.50.1/24(rw)
# no_root_squash 必加
/srv/tftp/karmic-dove 192.168.50.1/24(rw,no_subtree_check,no_root_squash)
$ /etc/init.d/portmaster start
$ /etc/init.d/nfs-kernel-server start
- [[wp>minicom]] 要關掉 hardware flow control。
$ apt-get install minicom
# http://www.cyberciti.biz/faq/find-out-linux-serial-ports-with-setserial/
# http://deanpan-photo.blogspot.com/2011/01/ubuntulinux-uart-consoleterminal.html
$ minicom -s
- 開機後按空白鍵或按 C-c 直到出現提示字元,貼上底下 U-boot 指令 (修改伺服器 IP、映像檔和 busybox 的路徑):
setenv serverip 192.168.50.1; setenv ipaddr 192.168.50.2; setenv gatewayip 192.168.50.1;
setenv image_name uImage_dsmp_LSP116;
setenv bootargs console=ttyS0,115200 rdinit=/busybox/rdinit root=/dev/nfs rw
nfsroot=192.168.50.1:/srv/tftp/busybox ip=dhcp;
setenv rootpath /srv/tftp/busybox; boot
setenv serverip 140.109.23.123; setenv ipaddr 140.109.23.57; setenv gatewayip 140.109.23.242;
setenv image_name uImage_dsmp_LSP116;
setenv bootargs console=ttyS0,115200 root=/dev/nfs rw
nfsroot=140.109.23.242:/srv/tftp/karmic-dove ip=dhcp;
setenv rootpath /srv/tftp/karmic-dove user_debug=31; boot
* 在 ARMv6 MP 和 ARMv7 UP 模式之間切換,下完指令後要關復電,reset 沒用。目前缺少 ARMv7 內核映像檔。
* ARMv6 檔案系統使用 Karmic (ARMv6)
* 1333 Mhz 不穩定,請跑在 1200 Mhz
* 因為 NFS 有給讀的權限,這是用固定 IP 給出去的權限,所以不能用 DHCP。[[http://tldp.org/HOWTO/DHCP/x74.html|3. Client Setup]]
# 跟 DHCP 伺服器註冊 IP
$ dhcpcd -r 140.109.23.105 -i 140.109.23.105 eth0
- 新增具 sudo 權限的使用者。
$ useradd ubuntu
$ passwd ubuntu
$ visudo
ubuntu ALL=(ALL:ALL) ALL
# 改用 bash
$ vi /etc/passwd
$ apt-get install ssh
- 以上述帳號遠端登入機器安裝 NIS 和 NFS。
===== QEMU =====
$ ../qemu-0.13.0/configure --prefix=/nfs_home/chenwj/tmp/install --target-list=i386-linux-user --extra-cflags="-marm"
===== Q & A =====
- 已知 bug,重啟機器。
BUG: soft lockup - CPU#0 stuck for 61s! [ld:30153]
BUG: soft lockup - CPU#3 stuck for 61s! [kswapd0:210]
BUG: soft lockup - CPU#2 stuck for 61s! [init:1]
- 於 ARMv6MP 和 ARMv7UP 模式切換。
# 切換至 ARMv7UP,關復電使其生效
> bios write 6710
# 切換至 ARMv6MP,關復電使其生效
> bios write 78460
- 1333 Mhz 不穩,降頻至 1200 Mhz。
SatR write cpufreq 2
- Kernel
Bytes transferred = 2842479 (2b5f6f hex)
## Booting kernel from Legacy Image at 02000000 ...
Image Name: Linux-2.6.35.13
Created: 2011-11-30 2:58:40 UTC
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2842444 Bytes = 2.7 MB
Load Address: 00008000
Entry Point: 00008000
Verifying Checksum ... Bad Data CRC
ERROR: can't get kernel image!
====== OpenRD ======
* [[http://www.globalscaletechnologies.com/p-35-openrd-ultimate.aspx|OpenRD-Ultimate]]
* [[http://www.open-rd.org/|Open-RD.org]]
- 網卡壞掉
$ ifconfig eth0
RX bytes:0 (0 GB) TX bytes:0 (0 GB)
====== 外部連結 ======
* [[http://gordenhao.pixnet.net/blog/post/29189867|U-Boot 簡介]]
* [[http://www.busybox.net/|BusyBox]]
* [[http://people.canonical.com/~pgraner/talks/TLF-2010/Ubuntu-On-ARM-TLF-2010.pdf|Ubuntu on ARM]]