====== 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]]