カーネルのブートはできているので、root fs だけで良い。
まぁ、カーネルの tftp boot は既にできているのだが。
SheevaPlug_Host_SWsupportPackageLinuxHost1.2.zip を展開する
ude:/etc# cd /tmp ude:/tmp# ls /mnt/SheevaPlug/1.2/SheevaPlug_Host_SWsupportPackageLinuxHost1.2.zip /mnt/SheevaPlug/1.2/SheevaPlug_Host_SWsupportPackageLinuxHost1.2.zip ude:/tmp# unzip !$ unzip /mnt/SheevaPlug/1.2/SheevaPlug_Host_SWsupportPackageLinuxHost1.2.zip Archive: /mnt/SheevaPlug/1.2/SheevaPlug_Host_SWsupportPackageLinuxHost1.2.zip creating: SheevaPlug_Host_SWsupportPackageLinuxHost/LinuxHost/ inflating: SheevaPlug_Host_SWsupportPackageLinuxHost/LinuxHost/gcc.tar.bz2 inflating: SheevaPlug_Host_SWsupportPackageLinuxHost/LinuxHost/Linux Host Filesystem - rootfs.tar.bz2 ude:/tmp#できあがった Linux Host Filesystem - rootfs.tar.bz2 を見る
ude:/tmp# tar jtvf SheevaPlug_Host_SWsupportPackageLinuxHost/LinuxHost/Linux\ Host\ Filesystem\ -\ rootfs.tar.bz2 drwxr-xr-x root/root 0 2009-02-25 13:57 rootfsv1.0/ drwxr-xr-x root/root 0 2008-02-27 02:19 rootfsv1.0/sbin/ lrwxrwxrwx sandeepg/sandeepg 0 2009-04-11 08:23 rootfsv1.0/sbin/getty -> ../bin/busybox lrwxrwxrwx sandeepg/sandeepg 0 2009-04-11 08:23 rootfsv1.0/sbin/loadkmap -> ../bin/busybox lrwxrwxrwx sandeepg/sandeepg 0 2009-04-11 08:23 rootfsv1.0/sbin/logread -> ../bin/busybox lrwxrwxrwx sandeepg/sandeepg 0 2009-04-11 08:23 rootfsv1.0/sbin/route -> ../bin/busybox lrwxrwxrwx sandeepg/sandeepg 0 2009-04-11 08:23 rootfsv1.0/sbin/ifconfig -> ../bin/busybox lrwxrwxrwx sandeepg/sandeepg 0 2009-04-11 08:23 rootfsv1.0/sbin/watchdog -> ../bin/busybox lrwxrwxrwx sandeepg/sandeepg 0 2009-04-11 08:23 rootfsv1.0/sbin/klogd -> ../bin/busybox -rwxr-xr-x root/root 778760 2008-02-27 02:19 rootfsv1.0/sbin/ldconfig ude:/tmp# : :それっぽい
展開する。
ude:/tmp# cd /srv/nfs/ ude:/srv/nfs# tar jxvf /tmp/SheevaPlug_Host_SWsupportPackageLinuxHost/LinuxHost/Linux\ Host\ Filesystem\ -\ rootfs.tar.bz2 rootfsv1.0/ rootfsv1.0/sbin/ rootfsv1.0/sbin/getty rootfsv1.0/sbin/loadkmap : : rootfsv1.0/etc/rpc rootfsv1.0/etc/group rootfsv1.0/etc/shells rootfsv1.0/etc/fstab rootfsv1.0/etc/passwd ude:/srv/nfs#
まずは、U-Boot のプロンプトに。
512 MB CPU : Marvell Feroceon (Rev 1) Streaming disabled Write allocate disabled USB 0: host mode PEX 0: interface detected no Link. Net: egiga0 [PRIME], egiga1 Hit any key to stop autoboot: 0 Marvell>>環境変数をバックアップ、、、ってここに貼るだけ
Marvell>> printenv baudrate=115200 loads_echo=0 rootpath=/mnt/ARM_FS/ netmask=255.255.0.0 CASset=min MALLOC_len=1 ethprime=egiga0 bootargs_root=root=/dev/mtdblock2 ro ethmtu=1500 usb0Mode=host nandEcc=1bit cesvcid=ULULULULULULPPULULULULULDA bootargs_end=:::DB88FXX81:eth0:none image_name=uImage standalone=fsload 0x2000000 $(image_name);setenv bootargs $(console) root=/dev/mtdblock0 rw ip=$(ipaddr):$(serverip)$(bootargs_end) $(mvPhoneConfig); bootm 0x2000000; mvPhoneConfig=mv_phone_config=dev0:fxs,dev1:fxs mvNetConfig=mv_net_config=(00:11:88:0f:62:81,0:1:2:3),mtu=1500 yuk_ethaddr=00:00:00:EE:51:81 netretry=no rcvrip=169.254.100.100 loadaddr=0x02000000 autoload=no run_diag=no bootargs=console=ttyS0,115200 mtdparts=nand_mtd:0x400000@0x100000(uImage),0x1fb00000@0x500000(rootfs) rw root=/dev/mtdblock1 rw ip=10.4.50.4:10.4.50.5:10.4.50.5:255.255.255.0:DB88FXX81:eth0:none bootcmd=nand read.e 0x800000 0x100000 0x400000; bootm 0x800000 ipaddr=192.168.2.85 serverip=192.168.2.38 ethact=egiga0 filesize=72f18 fileaddr=2000000 ethaddr=00:50:43:01:CA:72 stdin=serial stdout=serial stderr=serial console=console=ttyS0,115200 mtdparts=nand_mtd:0x100000@0(uboot)ro,0x0@0x100000(uImage),0x1ff00000@0x100000(rootfs)rw mainlineLinux=no enaMonExt=no enaCpuStream=no enaWrAllo=no pexMode=RC disL2Cache=no setL2CacheWT=yes disL2Prefetch=yes enaICPref=yes enaDCPref=yes sata_dma_mode=yes netbsd_en=no vxworks_en=no bootdelay=3 disaMvPnp=no enaAutoRecovery=yes Environment size: 1431/131068 bytes Marvell>>bootargs を変えてみる
Marvell>> set bootargs $(console) root=/dev/nfs rw nfsroot=$(serverip):/srv/nfs/rootfsv1.0 ip=$(ipaddr):$(serverip)$(bootargs_end) Marvell>> printenv baudrate=115200 loads_echo=0 rootpath=/mnt/ARM_FS/ netmask=255.255.0.0 CASset=min MALLOC_len=1 ethprime=egiga0 bootargs_root=root=/dev/mtdblock2 ro ethmtu=1500 usb0Mode=host nandEcc=1bit cesvcid=ULULULULULULPPULULULULULDA bootargs_end=:::DB88FXX81:eth0:none image_name=uImage standalone=fsload 0x2000000 $(image_name);setenv bootargs $(console) root=/dev/mtdblock0 rw ip=$(ipaddr):$(serverip)$(bootargs_end) $(mvPhoneConfig); bootm 0x2000000; mvPhoneConfig=mv_phone_config=dev0:fxs,dev1:fxs mvNetConfig=mv_net_config=(00:11:88:0f:62:81,0:1:2:3),mtu=1500 yuk_ethaddr=00:00:00:EE:51:81 netretry=no rcvrip=169.254.100.100 loadaddr=0x02000000 autoload=no run_diag=no bootcmd=nand read.e 0x800000 0x100000 0x400000; bootm 0x800000 ipaddr=192.168.2.85 serverip=192.168.2.38 ethact=egiga0 filesize=72f18 fileaddr=2000000 ethaddr=00:50:43:01:CA:72 stdin=serial stdout=serial stderr=serial console=console=ttyS0,115200 mtdparts=nand_mtd:0x100000@0(uboot)ro,0x0@0x100000(uImage),0x1ff00000@0x100000(rootfs)rw mainlineLinux=no enaMonExt=no enaCpuStream=no enaWrAllo=no pexMode=RC disL2Cache=no setL2CacheWT=yes disL2Prefetch=yes enaICPref=yes enaDCPref=yes sata_dma_mode=yes netbsd_en=no vxworks_en=no bootdelay=3 disaMvPnp=no enaAutoRecovery=yes bootargs=console=ttyS0,115200 mtdparts=nand_mtd:0x100000@0(uboot)ro,0x0@0x100000(uImage),0x1ff00000@0x100000(rootfs)rw root=/dev/nfs rw nfsroot=192.168.2.38:/srv/nfs/rootfsv1.0 ip=192.168.2.85:192.168.2.38:::DB88FXX81:eth0:none Environment size: 1464/131068 bytes Marvell>>保存する。
Marvell>> saveenv Saving Environment to NAND... Erasing Nand...Writing to Nand... done Marvell>>
Marvell>> reset 設_ __ _ _ | \/ | __ _ _ ____ _____| | | | |\/| |/ _` | '__\ \ / / _ \ | | | | | | (_| | | \ V / __/ | | |_| |_|\__,_|_| \_/ \___|_|_| _ _ ____ _ | | | | | __ ) ___ ___ | |_ | | | |___| _ \ / _ \ / _ \| __| | |_| |___| |_) | (_) | (_) | |_ \___/ |____/ \___/ \___/ \__| ** MARVELL BOARD: SHEEVA PLUG LE U-Boot 1.1.4 (Apr 9 2009 - 12:23:12) Marvell version: 3.4.16 U-Boot code: 00600000 -> 0067FFF0 BSS: -> 006CEE60 Soc: 88F6281 A0 (DDR2) CPU running @ 1200Mhz L2 running @ 400Mhz SysClock = 400Mhz , TClock = 200Mhz DRAM CAS Latency = 5 tRP = 5 tRAS = 18 tRCD=6 DRAM CS[0] base 0x00000000 size 256MB DRAM CS[1] base 0x10000000 size 256MB DRAM Total size 512MB 16bit width Flash: 0 kB Addresses 8M - 0M are saved for the U-Boot usage. Mem malloc Initialization (8M - 7M): Done NAND:512 MB CPU : Marvell Feroceon (Rev 1) Streaming disabled Write allocate disabled USB 0: host mode PEX 0: interface detected no Link. Net: egiga0 [PRIME], egiga1 Hit any key to stop autoboot: 0 NAND read: device 0 offset 0x100000, size 0x400000 Reading data from 0x4ff800 -- 100% complete. 4194304 bytes read: OK ## Booting image at 00800000 ... Image Name: Linux-2.6.22.18 Created: 2009-04-04 1:49:44 UTC Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 2070252 Bytes = 2 MB Load Address: 00008000 Entry Point: 00008000 Verifying Checksum ... OK OK Starting kernel ... Uncompressing Linux.................................................................................................................................. done, booting the kernel. Linux version 2.6.22.18 (root@localhost.localdomain) (gcc version 4.2.0 20070413 (prerelease)) #1 Fri Apr 3 18:49:38 PDT 2009 CPU: ARM926EJ-S [56251311] revision 1 (ARMv5TE), cr=00053177 Machine: Feroceon-KW Using UBoot passing parameters structure Memory policy: ECC disabled, Data cache writeback CPU0: D VIVT write-back cache CPU0: I cache: 16384 bytes, associativity 4, 32 byte lines, 128 sets CPU0: D cache: 16384 bytes, associativity 4, 32 byte lines, 128 sets Built 1 zonelists. Total pages: 130048 Kernel command line: console=ttyS0,115200 mtdparts=nand_mtd:0x100000@0(uboot)ro,0x0@0x100000(uImage),0x1ff00000@0x100000(rootfs)rw root=/dev/nfs rw nfsroot=192.168.2.38:/srv/nfs/rootfsv1.0 ip=192.168.2.85:192.168.2.38:::DB88FXX81:eth0:none PID hash table entries: 2048 (order: 11, 8192 bytes) Console: colour dummy device 80x30 Dentry cache hash table entries: 65536 (order: 6, 262144 bytes) Inode-cache hash table entries: 32768 (order: 5, 131072 bytes) Memory: 256MB 256MB 0MB 0MB = 512MB total Memory: 515584KB available (3772K code, 258K data, 124K init) Mount-cache hash table entries: 512 CPU: Testing write buffer coherency: ok NET: Registered protocol family 16 CPU Interface ------------- SDRAM_CS0 ....base 00000000, size 256MB SDRAM_CS1 ....base 10000000, size 256MB SDRAM_CS2 ....disable SDRAM_CS3 ....disable PEX0_MEM ....base e8000000, size 128MB PEX0_IO ....base f2000000, size 1MB INTER_REGS ....base f1000000, size 1MB NFLASH_CS ....base fa000000, size 2MB SPI_CS ....base f4000000, size 16MB BOOT_ROM_CS ....no such DEV_BOOTCS ....no such CRYPT_ENG ....base f0000000, size 2MB Marvell Development Board (LSP Version KW_LSP_4.2.7_patch2)-- SHEEVA PLUG Soc: 88F6281 A0 LE Detected Tclk 200000000 and SysClk 400000000 MV Buttons Device Load Marvell USB EHCI Host controller #0: c08b0600 PEX0 interface detected no Link. PCI: bus0: Fast back to back transfers enabled SCSI subsystem initialized usbcore: registered new interface driver usbfs usbcore: registered new interface driver hub usbcore: registered new device driver usb NET: Registered protocol family 2 Time: kw_clocksource clocksource has been installed. IP route cache hash table entries: 16384 (order: 4, 65536 bytes) TCP established hash table entries: 65536 (order: 7, 524288 bytes) TCP bind hash table entries: 65536 (order: 6, 262144 bytes) TCP: Hash tables configured (established 65536 bind 65536) TCP reno registered RTC registered Use the XOR engines (acceleration) for enhancing the following functions: o RAID 5 Xor calculation o kernel memcpy o kenrel memzero Number of XOR engines to use: 4 cesadev_init(c00117e4) mvCesaInit: sessions=640, queue=64, pSram=f0000000 Warning: TS unit is powered off. MV Buttons Driver Load JFFS2 version 2.2. (NAND) 誕 ・001-2006 Red Hat, Inc. io scheduler noop registered io scheduler anticipatory registered (default) Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing disabled serial8250.0: ttyS0 at MMIO 0xf1012000 (irq = 33) is a 16550A serial8250.0: ttyS1 at MMIO 0xf1012100 (irq = 34) is a 16550A RAMDISK driver initialized: 20 RAM disks of 4096K size 4096 blocksize Loading Marvell Ethernet Driver: o Cached descriptors in DRAM o DRAM SW cache-coherency o Single RX Queue support - ETH_DEF_RXQ=0 o Single TX Queue support - ETH_DEF_TXQ=0 o TCP segmentation offload enabled o Receive checksum offload enabled o Transmit checksum offload enabled o Network Fast Processing (Routing) supported o Driver ERROR statistics enabled o Driver INFO statistics enabled o Proc tool API enabled o Rx descripors: q0=128 o Tx descripors: q0=532 o Loading network interface(s): o eth0, ifindex = 1, GbE port = 0 o eth1, ifindex = 2, GbE port = 1 mvFpRuleDb (dfcc0000): 16384 entries, 65536 bytes Intel(R) PRO/1000 Network Driver - version 7.3.20-k2-NAPI Copyright (c) 1999-2006 Intel Corporation. e100: Intel(R) PRO/100 Network Driver, 3.5.17-k4-NAPI e100: Copyright(c) 1999-2006 Intel Corporation Warning Sata is Powered Off NFTL driver: nftlcore.c $Revision: 1.98 $, nftlmount.c $Revision: 1.41 $ NAND device: Manufacturer ID: 0xad, Chip ID: 0xdc (Hynix NAND 512MiB 3,3V 8-bit) Scanning device for bad blocks Bad eraseblock 274 at 0x02240000 Bad eraseblock 627 at 0x04e60000 Bad eraseblock 663 at 0x052e0000 Bad eraseblock 976 at 0x07a00000 Bad eraseblock 1552 at 0x0c200000 Bad eraseblock 1657 at 0x0cf20000 Bad eraseblock 1658 at 0x0cf40000 Bad eraseblock 2404 at 0x12c80000 Bad eraseblock 2470 at 0x134c0000 Bad eraseblock 2514 at 0x13a40000 Bad eraseblock 2688 at 0x15000000 Bad eraseblock 2690 at 0x15040000 Bad eraseblock 2707 at 0x15260000 Bad eraseblock 2728 at 0x15500000 Bad eraseblock 2771 at 0x15a60000 Bad eraseblock 2781 at 0x15ba0000 Bad eraseblock 3039 at 0x17be0000 Bad eraseblock 3469 at 0x1b1a0000 mtd: partition size too small (0) Using static partition definition Creating 3 MTD partitions on "nand_mtd": 0x00000000-0x00100000 : "u-boot" 0x00100000-0x00300000 : "uImage" 0x00300000-0x20000000 : "root" ehci_marvell ehci_marvell.70059: Marvell Orion EHCI ehci_marvell ehci_marvell.70059: new USB bus registered, assigned bus number 1 ehci_marvell ehci_marvell.70059: irq 19, io base 0xf1050100 ehci_marvell ehci_marvell.70059: USB 2.0 started, EHCI 1.00, driver 10 Dec 2004 usb usb1: configuration #1 chosen from 1 choice hub 1-0:1.0: USB hub found hub 1-0:1.0: 1 port detected USB Universal Host Controller Interface driver v3.0 usbcore: registered new interface driver usblp drivers/usb/class/usblp.c: v0.13: USB Printer Device Class driver Initializing USB Mass Storage driver... usbcore: registered new interface driver usb-storage USB Mass Storage support registered. mice: PS/2 mouse device common for all mice i2c /dev entries driver Linux telephony interface: v1.00 Marvell Telephony Driver: mvBoardVoiceAssembleModeGet: TDM not supported(boardId=0x9) assembly=-1,irq=-1 mp_check_config: Error, invalid voice assembley mode md: linear personality registered for level -1 md: raid0 personality registered for level 0 md: raid1 personality registered for level 1 raid6: int32x1 97 MB/s raid6: int32x2 123 MB/s raid6: int32x4 125 MB/s raid6: int32x8 111 MB/s raid6: using algorithm int32x4 (125 MB/s) md: raid6 personality registered for level 6 md: raid5 personality registered for level 5 md: raid4 personality registered for level 4 raid5: measuring checksumming speed arm4regs : 1084.000 MB/sec 8regs : 754.800 MB/sec 32regs : 899.600 MB/sec raid5: using function: arm4regs (1084.000 MB/sec) device-mapper: ioctl: 4.11.0-ioctl (2006-10-12) initialised: dm-devel@redhat.com dm_crypt using the OCF package. sdhci: Secure Digital Host Controller Interface driver sdhci: Copyright(c) Pierre Ossman mvsdmmc: irq =28 start f1090000 mvsdmmc: no IRQ detect usbcore: registered new interface driver usbhid drivers/hid/usbhid/hid-core.c: v2.6:USB HID core driver Advanced Linux Sound Architecture Driver Version 1.0.14 (Thu May 31 09:03:25 2007 UTC). mvCLAudioCodecRegGet: Error while reading register! mvCLAudioCodecInit: Error - Invalid Cirrus Logic chip/rev ID! Error - Cannot initialize audio decoder.at address =0xff<6>ALSA device list: #0: Marvell mv88fx_snd ALSA driver TCP cubic registered NET: Registered protocol family 1 NET: Registered protocol family 17 eth0: link down eth0: started IP-Config: Guessing netmask 255.255.255.0 IP-Config: Complete: device=eth0, addr=192.168.2.85, mask=255.255.255.0, gw=255.255.255.255, host=DB88FXX81, domain=, nis-domain=(none), bootserver=192.168.2.38, rootserver=192.168.2.38, rootpath= md: Autodetecting RAID arrays. md: autorun ... md: ... autorun DONE. Looking up port of RPC 100003/2 on 192.168.2.38 eth0: link up, full duplex, speed 1 Gbps Root-NFS: Unable to get nfsd port number from server, using default Looking up port of RPC 100005/1 on 192.168.2.38 Root-NFS: Unable to get mountd port number from server, using default mount: server 192.168.2.38 not responding, timed out Root-NFS: Server returned error -5 while mounting /srv/nfs/rootfsv1.0 VFS: Unable to mount root fs via NFS, trying floppy. VFS: Cannot open root device "nfs" or unknown-block(2,0) Please append a correct "root=" boot option; here are the available partitions: 1f00 1024 mtdblock0 (driver?) 1f01 2048 mtdblock1 (driver?) 1f02 521216 mtdblock2 (driver?) Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0)こうなると、NFS サーバが悪いのか、SheevaPlug が悪いのかわからない。
困った
←(前のページ) USB メモリの認識 |
当月のハックの記録 SheevaPlug/玄柴(KURO-SHEEVA)をハックしよう トップ |
(次のページ)→ NFS boot(2) |