ARMADA XP

  1. 該映像是給 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。
  1. 設定 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
  2. 在伺服器端安裝 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
  3. 在 tftp 目錄底下掛載映像檔和 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 上運行。
  4. 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
  5. 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
  6. 開機後按空白鍵或按Ctrl+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。3. Client Setup
    # 跟 DHCP 伺服器註冊 IP
    $ dhcpcd -r 140.109.23.105 -i 140.109.23.105 eth0
  1. 新增具 sudo 權限的使用者。
    $ useradd ubuntu
    $ passwd ubuntu
    $ visudo
    ubuntu  ALL=(ALL:ALL) ALL
    # 改用 bash
    $ vi /etc/passwd
    $ apt-get install ssh
  2. 以上述帳號遠端登入機器安裝 NIS 和 NFS。

QEMU

$ ../qemu-0.13.0/configure --prefix=/nfs_home/chenwj/tmp/install --target-list=i386-linux-user --extra-cflags="-marm"

Q & A

  1. 已知 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]
  2. 於 ARMv6MP 和 ARMv7UP 模式切換。
    # 切換至 ARMv7UP,關復電使其生效
    > bios write 6710
    # 切換至 ARMv6MP,關復電使其生效
    > bios write 78460
  3. 1333 Mhz 不穩,降頻至 1200 Mhz。
    SatR write cpufreq 2
  4. 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

  1. 網卡壞掉
    $ ifconfig eth0
              RX bytes:0 (0 GB)  TX bytes:0 (0 GB)

外部連結

登录