Fastboot工具使用说明,里已经给出相应的烧写方式。这几种方式主要是要明确,它们的适用的场景。主要是两类,一类是单板没有boot,一类是单板上有boot。我们先拿的空板一般都是没有boot的,所以也就可以明白需要使用哪种烧写方式了。 其次还要了解烧写的镜像,烧写镜像包括: U-boot 文件: u-boot-hi3516a.bin 内核文件: uImage_hi3516a 根文件系统: rootfs_hi3516a_256k.jffs2、 rootfs_hi3516a_2k_4bit.yaffs2 等 其中, jiffs2 用于烧写 SPI Flash,“ 256k”表示块大小; yaffs2 用于烧写 Nand Flash,“ 2k”表示器件页大小, 4bit 表示 ECC 校验能力。请根据具体 Flash 器件类型及特性烧写对应的根文件系统。 把SDK “osdrv\tools\pc\uboot_tools”目录下的FastBoot3.1_BVT.exe,将它拷贝到 PC上的某个本地硬盘与上述烧写镜像文件置于同一目录下. 下面来详细介绍
需要注意: FastBoot3.1_BVT.exe和SecureCRT这两个工具不能同时使用,否则会出现:
SPI烧写模式
一、boot烧写 适用场景如下:单板上没有 boot,和按地址烧写配合,可完成单板所有镜像的烧写。
向SPI Flash烧写uboot
首先将相应的拨码开关或跳线帽,设置为SPI Flash烧写模式。 参看:Hi3516A开发--烧写/启动模式
然后打开FastBoot配置参数
如果发现烧写出错,请再次检查串口选择是否OK;USB转串口线是否OK;USB转串驱动是否OK?
1)SPI模式启动,命令烧写内核、文件系统
烧写完成uboot后,按照前文说明的SPI启动方式来配置Hi3516a板卡并启动,单板上电后,敲任意键进入u-boot。设置serverip(即tftp服务器的ip)、ipaddr(单板ip)和ethaddr(单板的MAC地址)。
1. 配置Hi3516a IP地址,与主机在同一网段且不与其他设备冲突即可:
setenv serverip xx.xx.xx.xx setenv ipaddr xx.xx.xx.xx setenv ethaddr xx:xx:xx:xx:xx:xx setenv netmask xx.xx.xx.xx setenv gatewayip xx.xx.xx.xx save 配置完成后确保Hi3516a能ping通主机即可。 烧写内核和文件系统需要使用TFTP功能。
2. 烧写内核:
mw.b 82000000 ff 300000 tftp 82000000 uImage_hi3516a sf probe 0 sf erase 100000 300000 sf write 82000000 100000 300000
3. 烧写文件系统
mw.b 82000000 ff C00000 tftp 0x82000000 rootfs_hi3516a_64k.jffs2 sf probe 0 sf erase 400000 C00000 sf write 82000000 400000 C00000
4. 设置启动参数
setenv bootargs 'mem=64M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=jffs2 mtdparts=hi_sfc:1M(boot),3M(kernel),12M(rootfs)' setenv bootcmd 'sf probe 0;sf read 0x82000000 0x100000 0x300000;bootm 0x82000000' save
烧写技巧:中间加分号,写成一行。可自动上传、擦除、写入。
mw.b 82000000 ff 300000;tftp 82000000 uImage_hi3516a;sf probe 0;sf erase 100000 300000;sf write 82000000 100000 300000;
擦除指令:
nand scrub 400000 1000000 表示从 0x400000 开始清理 64M。 如果最后一个参数不传,则表示从此地址开始清理至 nand flash 结束,比如: nand scrub 400000 表示清理从 0x400000 开始的所有 flash 空间。
2)SPI模式按boot烧写uboot,采用按地址烧写内核和文件系统:
1. 配置Hi3516a IP地址,与主机在同一网段且不与其他设备冲突即可:
setenv serverip xx.xx.xx.xx setenv ipaddr xx.xx.xx.xx setenv ethaddr xx:xx:xx:xx:xx:xx setenv netmask xx.xx.xx.xx setenv gatewayip xx.xx.xx.xx save 配置完成后确保Hi3516a能ping通主机即可。
2. 设置启动参数
setenv bootargs 'mem=64M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=jffs2 mtdparts=hi_sfc:1M(boot),3M(kernel),12M(rootfs)' setenv bootcmd 'sf probe 0;sf read 0x82000000 0x100000 0x300000;bootm 0x82000000' save
3、然后打开FastBoot配置参数按地址按地址烧写内核和文件系统
二、按分区烧写
适用场景如下:不管单板上有没有 boot 都适用,可实现一键烧写所有镜像。
打开FastBoot配置参数
1. 配置Hi3516a IP地址,与主机在同一网段且不与其他设备冲突即可:
setenv serverip xx.xx.xx.xx setenv ipaddr xx.xx.xx.xx setenv ethaddr xx:xx:xx:xx:xx:xx setenv netmask xx.xx.xx.xx setenv gatewayip xx.xx.xx.xx save 配置完成后确保Hi3516a能ping通主机即可。
2. 设置启动参数
setenv bootargs 'mem=64M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=jffs2 mtdparts=hi_sfc:1M(boot),3M(kernel),12M(rootfs)' setenv bootcmd 'sf probe 0;sf read 0x82000000 0x100000 0x300000;bootm 0x82000000' save
rootfs的File system 只有两个选项,yaffs和None,再根据jiffs2 用于烧写 SPI Flash,yaffs2 用于烧写 Nand Flash,我选择的是None。需要注意的是选择烧写SPI Flash块大小为64K的rootfs_hi3516a_64k.jffs2文件系统。
否则启动可能会出现下面错误:
jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x004a0000: 0xe138 instead
如果不确定SPI flash块大小,用命令烧写文件系统镜像:
烧写文件系统 mw.b 82000000 ff C00000 tftp 0x82000000 rootfs_hi3516a_64k.jffs2 sf probe 0 sf erase 400000 C00000 sf write 82000000 400000 C00000
SPI Flash启动信息 U-Boot 2010.06 (Oct 22 2015 - 14:46:56) Check spi flash controller v350... Found Spi(cs1) ID: 0xC2 0x20 0x19 0xC2 0x20 0x19 Spi(cs1): Block:64KB Chip:32MB Name:"MX25L(256/257)35(E/F)" Check Nand Flash Controller v610 ... found Special NAND id table Version 1.36 Nand ID: 0x2C 0x64 0x44 0x4B 0xA9 0x00 0x00 0x00 Block:2MB Page:8KB Chip:8GB*1 OOB:600B ECC:40bit/1K Nand total size: 8192MB In: serial Out: serial Err: serial Hit any key to stop autoboot: 0 32768 KiB hi_sfc at 0:0 is now current device ## Booting kernel from Legacy Image at 82000000 ... Image Name: Linux-3.4.35 Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 2985592 Bytes = 2.8 MiB Load Address: 80008000 Entry Point: 80008000 Loading Kernel Image ... OK OK Starting kernel ... Uncompressing Linux... done, booting the kernel. Booting Linux on physical CPU 0 Linux version 3.4.35 (pub@BVT-SDK-SERVER4) (gcc version 4.8.3 20131202 (prerelease) (Hisilicon_v300) ) #1 Thu Oct 22 14:47:55 HKT 2015 CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c53c7d CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache Machine: hi3516a Memory policy: ECC disabled, Data cache writeback Built 1 zonelists in Zone order, mobility grouping on. Total pages: 16256 Kernel command line: mem=64M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=jffs2 mtdparts=hi_sfc:1M(boot),3M(kernel),12M(rootfs) PID hash table entries: 256 (order: -2, 1024 bytes) Dentry cache hash table entries: 8192 (order: 3, 32768 bytes) Inode-cache hash table entries: 4096 (order: 2, 16384 bytes) Memory: 64MB = 64MB total Memory: 59052k/59052k available, 6484k reserved, 0K highmem Virtual kernel memory layout: vector : 0xffff0000 - 0xffff1000 ( 4 kB) fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB) vmalloc : 0xc4800000 - 0xff000000 ( 936 MB) lowmem : 0xc0000000 - 0xc4000000 ( 64 MB) modules : 0xbf000000 - 0xc0000000 ( 16 MB) .text : 0xc0008000 - 0xc054a000 (5384 kB) .init : 0xc054a000 - 0xc056c494 ( 138 kB) .data : 0xc056e000 - 0xc059d8c0 ( 191 kB) .bss : 0xc059d8e4 - 0xc05bc9f8 ( 125 kB) SLUB: Genslabs=11, HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 NR_IRQS:128 sched_clock: 32 bits at 49MHz, resolution 20ns, wraps every 86767ms Console: colour dummy device 80x30 Calibrating delay loop... 1196.85 BogoMIPS (lpj=5984256) pid_max: default: 32768 minimum: 301 Mount-cache hash table entries: 512 Initializing cgroup subsys freezer CPU: Testing write buffer coherency: ok Setting up static identity map for 0x8041e0d8 - 0x8041e130 dummy: NET: Registered protocol family 16 Serial: AMBA PL011 UART driver uart:0: ttyAMA0 at MMIO 0x20080000 (irq = 40) is a PL011 rev2 console [ttyAMA0] enabled uart:1: ttyAMA1 at MMIO 0x20090000 (irq = 41) is a PL011 rev2 bio: create slab <bio-0> at 0 SCSI subsystem initialized hi-spi-master hi-spi-master.0: with 1 chip select slaves attached hi-spi-master hi-spi-master.1: with 3 chip select slaves attached usbcore: registered new interface driver usbfs usbcore: registered new interface driver hub usbcore: registered new device driver usb Switching to clocksource timer0 NET: Registered protocol family 2 IP route cache hash table entries: 1024 (order: 0, 4096 bytes) TCP established hash table entries: 2048 (order: 2, 16384 bytes) TCP bind hash table entries: 2048 (order: 1, 8192 bytes) TCP: Hash tables configured (established 2048 bind 2048) TCP: reno registered UDP hash table entries: 256 (order: 0, 4096 bytes) UDP-Lite hash table entries: 256 (order: 0, 4096 bytes) NET: Registered protocol family 1 RPC: Registered named UNIX socket transport module. RPC: Registered udp transport module. RPC: Registered tcp transport module. RPC: Registered tcp NFSv4.1 backchannel transport module. VFS: Disk quotas dquot_6.5.2 Dquot-cache hash table entries: 1024 (order 0, 4096 bytes) squashfs: version 4.0 (2009/01/31) Phillip Lougher NFS: Registering the id_resolver key type jffs2: version 2.2. (NAND) © 2001-2006 Red Hat, Inc. fuse init (API version 7.18) SGI XFS with security attributes, large block/inode numbers, no debug enabled msgmni has been set to 115 Block layer SCSI generic (bsg) driver version 0.4 loaded (major 254) io scheduler noop registered io scheduler deadline registered (default) io scheduler cfq registered brd: module loaded Spi id table Version 1.22 Spi(cs1) ID: 0xC2 0x20 0x19 0xC2 0x20 0x19 SPI nor flash boot mode is 3 Bytes Spi(cs1): Block:64KB Chip:32MB Name:"MX25L 256/257 35 E/F" spi size: 32MB chip num: 1 3 cmdlinepart partitions found on MTD device hi_sfc 3 cmdlinepart partitions found on MTD device hi_sfc Creating 3 MTD partitions on "hi_sfc": 0x000000000000-0x000000100000 : "boot" 0x000000100000-0x000000400000 : "kernel" 0x000000400000-0x000001000000 : "rootfs" Found Nand Flash Controller V610. Nand ID: 0x2C 0x64 0x44 0x4B 0xA9 0x00 0x00 0x00 Nand: Micron MT29F64G08CBABA Randomizer Read-Retry Nand(HW-Auto): Block:2MB Page:8KB OOB:744B ECC:40bit/1k Chip:8GB*1 Higmac dma_sg_phy: 0x83a40000 higmac_mdio_bus: probed ETH0: rgmii, phy_addr=1, mii_name=mdio0 ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver hiusb-ehci hiusb-ehci.0: HIUSB EHCI hiusb-ehci hiusb-ehci.0: new USB bus registered, assigned bus number 1 hiusb-ehci hiusb-ehci.0: irq 53, io mem 0x100b0000 hiusb-ehci hiusb-ehci.0: USB 0.0 started, EHCI 1.00 hub 1-0:1.0: USB hub found hub 1-0:1.0: 1 port detected ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver hiusb-ohci hiusb-ohci.0: HIUSB OHCI hiusb-ohci hiusb-ohci.0: new USB bus registered, assigned bus number 2 hiusb-ohci hiusb-ohci.0: irq 54, io mem 0x100a0000 hub 2-0:1.0: USB hub found hub 2-0:1.0: 1 port detected Initializing USB Mass Storage driver... usbcore: registered new interface driver usb-storage USB Mass Storage support registered. mousedev: PS/2 mouse device common for all mice i2c /dev entries driver hisi_i2c hisi_i2c.0: Hisilicon [i2c-0] probed! hisi_i2c hisi_i2c.1: Hisilicon [i2c-1] probed! hisi_i2c hisi_i2c.2: Hisilicon [i2c-2] probed! usbcore: registered new interface driver usbhid usbhid: USB HID core driver TCP: cubic registered Initializing XFRM netlink socket NET: Registered protocol family 17 NET: Registered protocol family 15 lib80211: common routines for IEEE802.11 drivers Registering the dns_resolver key type VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5 VFS: Mounted root (jffs2 filesystem) on device 31:2. Freeing init memory: 136K _ _ _ _ _ _ _ _ _ _ _ _ \ _ _ _ _ _ ___ / /__/ \ |_/ / __ / - _ ___ / / / / / / _ _ _ _/ / / \_/ \_ ______ ___________\___\__________________ [RCS]: /etc/init.d/S00devs [RCS]: /etc/init.d/S01udev Not recognise ACTION:change Not recognise ACTION:change [RCS]: /etc/init.d/S80network [RCS]: /etc/init.d/S90hibernate Auto login as root ... Jan 1 00:00:02 login[882]: root login on 'ttyS000' Welcome to HiLinux. None of nfsroot found in cmdline.
三、SPI模式,nfs挂载根文件系统
设置启动参数
setenv bootargs 'mem=64M noinitrd init=/linuxrc console=ttyAMA0,115200 root=/dev/nfs rw nfsroot=192.168.2.155:/opt/rootfs_uclibc ip=192.168.2.76:192.168.2.155:192.168.2.1:255.255.255.0:HWHhisi:eth0:off' sa reset
SPI模式,nfs挂载根文件系统 hisilicon # print bootdelay=1 baudrate=115200 ethaddr=00:00:23:34:45:66 netmask=255.255.255.0 bootfile="uImage" serverip=192.168.2.76 ipaddr=192.168.2.195 bootcmd=sf probe 0;sf read 0x82000000 0x100000 0x300000;bootm 0x82000000 stdin=serial stdout=serial stderr=serial verify=n ver=U-Boot 2010.06 (Oct 22 2015 - 14:46:56) bootargs=mem=64M noinitrd init=/linuxrc console=ttyAMA0,115200 root=/dev/nfs rw nfsroot=192.168.2.155:/opt/rootfs_uclibc ip=192.168.2.76:192.168.2.155:192.168.2.1:255.255.255.0:HWHhisi:eth0:off Environment size: 498/262140 bytes hisilicon # re resetting ... U-Boot 2010.06 (Oct 22 2015 - 14:46:56) Check spi flash controller v350... Found Spi(cs1) ID: 0xC2 0x20 0x19 0xC2 0x20 0x19 Spi(cs1): Block:64KB Chip:32MB Name:"MX25L(256/257)35(E/F)" Check Nand Flash Controller v610 ... found Special NAND id table Version 1.36 Nand ID: 0x2C 0x64 0x44 0x4B 0xA9 0x00 0x00 0x00 Block:2MB Page:8KB Chip:8GB*1 OOB:600B ECC:40bit/1K Nand total size: 8192MB In: serial Out: serial Err: serial Hit any key to stop autoboot: 0 32768 KiB hi_sfc at 0:0 is now current device ## Booting kernel from Legacy Image at 82000000 ... Image Name: Linux-3.4.35 Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 2985592 Bytes = 2.8 MiB Load Address: 80008000 Entry Point: 80008000 Loading Kernel Image ... OK OK Starting kernel ... Uncompressing Linux... done, booting the kernel. Booting Linux on physical CPU 0 Linux version 3.4.35 (pub@BVT-SDK-SERVER4) (gcc version 4.8.3 20131202 (prerelease) (Hisilicon_v300) ) #1 Thu Oct 22 14:47:55 HKT 2015 CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c53c7d CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache Machine: hi3516a Memory policy: ECC disabled, Data cache writeback Built 1 zonelists in Zone order, mobility grouping on. Total pages: 16256 Kernel command line: mem=64M noinitrd init=/linuxrc console=ttyAMA0,115200 root=/dev/nfs rw nfsroot=192.168.2.155:/opt/rootfs_uclibc ip=192.168.2.76:192.168.2.155:192.168.2.1:255.255.255.0:HWHhisi:eth0:off PID hash table entries: 256 (order: -2, 1024 bytes) Dentry cache hash table entries: 8192 (order: 3, 32768 bytes) Inode-cache hash table entries: 4096 (order: 2, 16384 bytes) Memory: 64MB = 64MB total Memory: 59052k/59052k available, 6484k reserved, 0K highmem Virtual kernel memory layout: vector : 0xffff0000 - 0xffff1000 ( 4 kB) fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB) vmalloc : 0xc4800000 - 0xff000000 ( 936 MB) lowmem : 0xc0000000 - 0xc4000000 ( 64 MB) modules : 0xbf000000 - 0xc0000000 ( 16 MB) .text : 0xc0008000 - 0xc054a000 (5384 kB) .init : 0xc054a000 - 0xc056c494 ( 138 kB) .data : 0xc056e000 - 0xc059d8c0 ( 191 kB) .bss : 0xc059d8e4 - 0xc05bc9f8 ( 125 kB) SLUB: Genslabs=11, HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 NR_IRQS:128 sched_clock: 32 bits at 49MHz, resolution 20ns, wraps every 86767ms Console: colour dummy device 80x30 Calibrating delay loop... 1196.85 BogoMIPS (lpj=5984256) pid_max: default: 32768 minimum: 301 Mount-cache hash table entries: 512 Initializing cgroup subsys freezer CPU: Testing write buffer coherency: ok Setting up static identity map for 0x8041e0d8 - 0x8041e130 dummy: NET: Registered protocol family 16 Serial: AMBA PL011 UART driver uart:0: ttyAMA0 at MMIO 0x20080000 (irq = 40) is a PL011 rev2 console [ttyAMA0] enabled uart:1: ttyAMA1 at MMIO 0x20090000 (irq = 41) is a PL011 rev2 bio: create slab <bio-0> at 0 SCSI subsystem initialized hi-spi-master hi-spi-master.0: with 1 chip select slaves attached hi-spi-master hi-spi-master.1: with 3 chip select slaves attached usbcore: registered new interface driver usbfs usbcore: registered new interface driver hub usbcore: registered new device driver usb Switching to clocksource timer0 NET: Registered protocol family 2 IP route cache hash table entries: 1024 (order: 0, 4096 bytes) TCP established hash table entries: 2048 (order: 2, 16384 bytes) TCP bind hash table entries: 2048 (order: 1, 8192 bytes) TCP: Hash tables configured (established 2048 bind 2048) TCP: reno registered UDP hash table entries: 256 (order: 0, 4096 bytes) UDP-Lite hash table entries: 256 (order: 0, 4096 bytes) NET: Registered protocol family 1 RPC: Registered named UNIX socket transport module. RPC: Registered udp transport module. RPC: Registered tcp transport module. RPC: Registered tcp NFSv4.1 backchannel transport module. VFS: Disk quotas dquot_6.5.2 Dquot-cache hash table entries: 1024 (order 0, 4096 bytes) squashfs: version 4.0 (2009/01/31) Phillip Lougher NFS: Registering the id_resolver key type jffs2: version 2.2. (NAND) © 2001-2006 Red Hat, Inc. fuse init (API version 7.18) SGI XFS with security attributes, large block/inode numbers, no debug enabled msgmni has been set to 115 Block layer SCSI generic (bsg) driver version 0.4 loaded (major 254) io scheduler noop registered io scheduler deadline registered (default) io scheduler cfq registered brd: module loaded Spi id table Version 1.22 Spi(cs1) ID: 0xC2 0x20 0x19 0xC2 0x20 0x19 SPI nor flash boot mode is 3 Bytes Spi(cs1): Block:64KB Chip:32MB Name:"MX25L 256/257 35 E/F" spi size: 32MB chip num: 1 Found Nand Flash Controller V610. Nand ID: 0x2C 0x64 0x44 0x4B 0xA9 0x00 0x00 0x00 Nand: Micron MT29F64G08CBABA Randomizer Read-Retry Nand(HW-Auto): Block:2MB Page:8KB OOB:744B ECC:40bit/1k Chip:8GB*1 Higmac dma_sg_phy: 0x83a00000 higmac_mdio_bus: probed ETH0: rgmii, phy_addr=1, mii_name=mdio0 ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver hiusb-ehci hiusb-ehci.0: HIUSB EHCI hiusb-ehci hiusb-ehci.0: new USB bus registered, assigned bus number 1 hiusb-ehci hiusb-ehci.0: irq 53, io mem 0x100b0000 hiusb-ehci hiusb-ehci.0: USB 0.0 started, EHCI 1.00 hub 1-0:1.0: USB hub found hub 1-0:1.0: 1 port detected ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver hiusb-ohci hiusb-ohci.0: HIUSB OHCI hiusb-ohci hiusb-ohci.0: new USB bus registered, assigned bus number 2 hiusb-ohci hiusb-ohci.0: irq 54, io mem 0x100a0000 hub 2-0:1.0: USB hub found hub 2-0:1.0: 1 port detected Initializing USB Mass Storage driver... usbcore: registered new interface driver usb-storage USB Mass Storage support registered. mousedev: PS/2 mouse device common for all mice i2c /dev entries driver hisi_i2c hisi_i2c.0: Hisilicon [i2c-0] probed! hisi_i2c hisi_i2c.1: Hisilicon [i2c-1] probed! hisi_i2c hisi_i2c.2: Hisilicon [i2c-2] probed! usbcore: registered new interface driver usbhid usbhid: USB HID core driver TCP: cubic registered Initializing XFRM netlink socket NET: Registered protocol family 17 NET: Registered protocol family 15 lib80211: common routines for IEEE802.11 drivers Registering the dns_resolver key type VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5 PHY: mdio0:01 - Link is Up - 100/Full IP-Config: Complete: device=eth0, addr=192.168.2.76, mask=255.255.255.0, gw=192.168.2.1 host=HWHhisi, domain=, nis-domain=(none) bootserver=192.168.2.155, rootserver=192.168.2.155, rootpath= VFS: Mounted root (nfs filesystem) on device 0:9. Freeing init memory: 136K _ _ _ _ _ _ _ _ _ _ _ _ \ _ _ _ _ _ ___ / /__/ \ |_/ / __ / - _ ___ / / / / / / _ _ _ _/ / / \_/ \_ ______ ___________\___\__________________ [RCS]: /etc/init.d/S00devs [RCS]: /etc/init.d/S01udev Not recognise ACTION:change Not recognise ACTION:change [RCS]: /etc/init.d/S80network IP: 192.168.2.76 BOOTP: 192.168.2.155 GATEWAY: 192.168.2.1 NETMASK: 255.255.255.0 HOSTNAME: HWHhisi NETDEV: eth0 AUTOCONF: off route: SIOCADDRT: File exists [RCS]: /etc/init.d/S90hibernate Auto login as root ... Jan 1 00:00:05 login[856]: root login on 'ttyS000' Welcome to HiLinux. Mount: 192.168.2.155:/opt/rootfs_uclibc on / type nfs (rw,relatime,vers=2,rsize=4096,wsize=4096,namlen=255,hard,nolock,proto=udp,timeo=11,retrans=3,sec=sys,mountaddr=192.168.2.155,mountvers=1,mountproto=udp,local_lock=all,addr=192.168.2.155) chroot: can't execute '/usr/bin/env': No such file or directory ~ # ls / bin home mkimg.rootfs proc tmp boot init mknod_console root usr dev lib mnt sbin var etc linuxrc nfsroot share hello.c lost+found opt sys
Nand烧写模式
一、boot烧写
适用场景如下:不管单板上有没有 boot 都适用,可实现一键烧写所有镜像。
向NAND Flash烧写uboot
首先将相应的拨码开关或跳线帽,设置为NAND Flash烧写模式。 参看:Hi3516A开发--烧写/启动模式
正常流程:
1)打开FastBoot配置参数
2)Nand模式启动,命令烧写内核、文件系统
本设计所使用的nand flash, 页大小为8K字节,块大小为2M字节.而demo使用的则是rootfs_hi3516a_2k_4bit.yaffs2文件系统,两者型号不同。
故按照boot烧写产生下图错误:
就会产生Nand模式下,无法使用按boot烧写向nand flash烧写uboot。
二、按分区烧写
适用场景如下:不管单板上有没有 boot 都适用,可实现一键烧写所有镜像。
向NAND Flash烧写uboot
打开FastBoot配置参数
注意:分区的起始大小和分区大小都是以 KB 或 MB 为单位,而且必须是 flash 块大小的整数倍,否则可能会出错。
本设计的flash块大小为2M字节,则分区其实大小和分区大小必须是2M的整数倍。
如果按照demo自带uboot烧写会出现如下错误:
hisilicon # sa Saving Environment to NAND... Erasing Nand... Warning: Erase size 0x00040000 smaller than one erase block 0x00200000 Erasing 0x00200000 instead MT29F64G08CBABA: MTD Erase failure: -22 Writing to Nand... done
解决方法修改镜像:
上述所需的镜像文件:
u-boot-ok.bin: 修改参数设置的uboot镜像文件。
修改u-boot-2010.06/include/configs/hi3516a.h 将//#define CONFIG_ENV_OFFSET 0x80000 /* environment starts here */ 修改为:#define CONFIG_ENV_OFFSET 0x400000/* environment starts here */
将//#define CONFIG_ENV_SIZE 0x40000 /*include ENV_HEADER_SIZE */ 修改为:#define CONFIG_ENV_SIZE 0x200000 /*include ENV_HEADER_SIZE */
rootfs_hi3516a_uclib_8k_40bit.yaffs2:8KB pagesize、40bit ecc的yaffs文件系统。
制作镜像: osdrv/pub/bin/pc/mkyaffs2image610 osdrv/pub/rootfs_uclibc osdrv/pub/rootfs_uclibc_8k_40bit.yaffs2 3 5
1. 配置Hi3516a IP地址,与主机在同一网段且不与其他设备冲突即可:
setenv serverip xx.xx.xx.xx setenv ipaddr xx.xx.xx.xx setenv ethaddr xx:xx:xx:xx:xx:xx setenv netmask xx.xx.xx.xx setenv gatewayip xx.xx.xx.xx save 配置完成后确保Hi3516a能ping通主机即可。
2. 设置启动参数
setenv bootargs 'mem=74M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=yaffs2 mtdparts=hinand:8M(boot),4M(kernel),34M(rootfs),28M(test)' setenv bootcmd 'nand read 0x82000000 0x800000 0x400000;bootm 0x82000000' sa
reset
1)Nand模式启动,命令烧写内核、文件系统
1、烧写内核 mw.b 82000000 ff 400000 tftp 82000000 uImage_hi3516a nand erase 800000 400000 nand write 82000000 800000 400000 2、烧写文件系统 mw.b 82000000 ff 2200000 tftp 82000000 rootfs_hi3516a_uclib_8k_40bit.yaffs2 nand erase c00000 2200000 nand write.yaffs 82000000 c00000 F80D98 #注意:F80D98为rootfs文件实际大小(16进制)
2)Nand模式,按地址烧写内核和文件系统:
打开FastBoot配置参数
按地址按地址烧写内核和文件系统
Nand Flash启动信息 hisilicon # print bootargs=mem=74M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=yaffs2 mtdparts=hinand:8M(boot),4M(kernel),34M(rootfs),28M(test) bootcmd=nand read 0x82000000 0x800000 0x400000;bootm 0x82000000 bootdelay=1 baudrate=115200 ethaddr=00:00:23:34:45:66 ipaddr=192.168.2.195 serverip=192.168.2.76 netmask=255.255.255.0 bootfile="uImage" stdin=serial stdout=serial stderr=serial verify=n ver=U-Boot 2010.06 (Sep 18 2016 - 16:39:27) Environment size: 431/262140 bytes hisilicon # re resetting ... U-Boot 2010.06 (Sep 18 2016 - 16:39:27) Check spi flash controller v350... Found Spi(cs1) ID: 0xC2 0x20 0x19 0xC2 0x20 0x19 Spi(cs1): Block:64KB Chip:32MB Name:"MX25L(256/257)35(E/F)" Check Nand Flash Controller v610 ... found Special NAND id table Version 1.36 Nand ID: 0x2C 0x64 0x44 0x4B 0xA9 0x00 0x00 0x00 Block:2MB Page:8KB Chip:8GB*1 OOB:600B ECC:40bit/1K Nand total size: 8192MB *** Warning - bad CRC or NAND, using default environment In: serial Out: serial Err: serial Hit any key to stop autoboot: 0 NAND read: device 0 offset 0x800000, size 0x400000 4194304 bytes read: OK ## Booting kernel from Legacy Image at 82000000 ... Image Name: Linux-3.4.35 Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 2985592 Bytes = 2.8 MiB Load Address: 80008000 Entry Point: 80008000 Loading Kernel Image ... OK OK Starting kernel ... Uncompressing Linux... done, booting the kernel. Booting Linux on physical CPU 0 Linux version 3.4.35 (pub@BVT-SDK-SERVER4) (gcc version 4.8.3 20131202 (prerelease) (Hisilicon_v300) ) #1 Thu Oct 22 14:47:55 HKT 2015 CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c53c7d CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache Machine: hi3516a Memory policy: ECC disabled, Data cache writeback Built 1 zonelists in Zone order, mobility grouping on. Total pages: 18796 Kernel command line: mem=74M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=yaffs2 mtdparts=hinand:8M(boot),4M(kernel),34M(rootfs),28M(test) PID hash table entries: 512 (order: -1, 2048 bytes) Dentry cache hash table entries: 16384 (order: 4, 65536 bytes) Inode-cache hash table entries: 8192 (order: 3, 32768 bytes) Memory: 74MB = 74MB total Memory: 69148k/69148k available, 6628k reserved, 0K highmem Virtual kernel memory layout: vector : 0xffff0000 - 0xffff1000 ( 4 kB) fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB) vmalloc : 0xc5000000 - 0xff000000 ( 928 MB) lowmem : 0xc0000000 - 0xc4a00000 ( 74 MB) modules : 0xbf000000 - 0xc0000000 ( 16 MB) .text : 0xc0008000 - 0xc054a000 (5384 kB) .init : 0xc054a000 - 0xc056c494 ( 138 kB) .data : 0xc056e000 - 0xc059d8c0 ( 191 kB) .bss : 0xc059d8e4 - 0xc05bc9f8 ( 125 kB) SLUB: Genslabs=11, HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 NR_IRQS:128 sched_clock: 32 bits at 49MHz, resolution 20ns, wraps every 86767ms Console: colour dummy device 80x30 Calibrating delay loop... 1196.85 BogoMIPS (lpj=5984256) pid_max: default: 32768 minimum: 301 Mount-cache hash table entries: 512 Initializing cgroup subsys freezer CPU: Testing write buffer coherency: ok Setting up static identity map for 0x8041e0d8 - 0x8041e130 dummy: NET: Registered protocol family 16 Serial: AMBA PL011 UART driver uart:0: ttyAMA0 at MMIO 0x20080000 (irq = 40) is a PL011 rev2 console [ttyAMA0] enabled uart:1: ttyAMA1 at MMIO 0x20090000 (irq = 41) is a PL011 rev2 bio: create slab <bio-0> at 0 SCSI subsystem initialized hi-spi-master hi-spi-master.0: with 1 chip select slaves attached hi-spi-master hi-spi-master.1: with 3 chip select slaves attached usbcore: registered new interface driver usbfs usbcore: registered new interface driver hub usbcore: registered new device driver usb Switching to clocksource timer0 NET: Registered protocol family 2 IP route cache hash table entries: 1024 (order: 0, 4096 bytes) TCP established hash table entries: 4096 (order: 3, 32768 bytes) TCP bind hash table entries: 4096 (order: 2, 16384 bytes) TCP: Hash tables configured (established 4096 bind 4096) TCP: reno registered UDP hash table entries: 256 (order: 0, 4096 bytes) UDP-Lite hash table entries: 256 (order: 0, 4096 bytes) NET: Registered protocol family 1 RPC: Registered named UNIX socket transport module. RPC: Registered udp transport module. RPC: Registered tcp transport module. RPC: Registered tcp NFSv4.1 backchannel transport module. VFS: Disk quotas dquot_6.5.2 Dquot-cache hash table entries: 1024 (order 0, 4096 bytes) squashfs: version 4.0 (2009/01/31) Phillip Lougher NFS: Registering the id_resolver key type jffs2: version 2.2. (NAND) © 2001-2006 Red Hat, Inc. fuse init (API version 7.18) SGI XFS with security attributes, large block/inode numbers, no debug enabled msgmni has been set to 135 Block layer SCSI generic (bsg) driver version 0.4 loaded (major 254) io scheduler noop registered io scheduler deadline registered (default) io scheduler cfq registered brd: module loaded Spi id table Version 1.22 Spi(cs1) ID: 0xC2 0x20 0x19 0xC2 0x20 0x19 SPI nor flash boot mode is 3 Bytes Spi(cs1): Block:64KB Chip:32MB Name:"MX25L 256/257 35 E/F" spi size: 32MB chip num: 1 Found Nand Flash Controller V610. Nand ID: 0x2C 0x64 0x44 0x4B 0xA9 0x00 0x00 0x00 Nand: Micron MT29F64G08CBABA Randomizer Read-Retry Nand(HW-Auto): Block:2MB Page:8KB OOB:744B ECC:40bit/1k Chip:8GB*1 4 cmdlinepart partitions found on MTD device hinand 4 cmdlinepart partitions found on MTD device hinand Creating 4 MTD partitions on "hinand": 0x000000000000-0x000000800000 : "boot" 0x000000800000-0x000000c00000 : "kernel" 0x000000c00000-0x000002e00000 : "rootfs" 0x000002e00000-0x000004a00000 : "test" Higmac dma_sg_phy: 0x84640000 higmac_mdio_bus: probed ETH0: rgmii, phy_addr=1, mii_name=mdio0 ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver hiusb-ehci hiusb-ehci.0: HIUSB EHCI hiusb-ehci hiusb-ehci.0: new USB bus registered, assigned bus number 1 hiusb-ehci hiusb-ehci.0: irq 53, io mem 0x100b0000 hiusb-ehci hiusb-ehci.0: USB 0.0 started, EHCI 1.00 hub 1-0:1.0: USB hub found hub 1-0:1.0: 1 port detected ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver hiusb-ohci hiusb-ohci.0: HIUSB OHCI hiusb-ohci hiusb-ohci.0: new USB bus registered, assigned bus number 2 hiusb-ohci hiusb-ohci.0: irq 54, io mem 0x100a0000 hub 2-0:1.0: USB hub found hub 2-0:1.0: 1 port detected Initializing USB Mass Storage driver... usbcore: registered new interface driver usb-storage USB Mass Storage support registered. mousedev: PS/2 mouse device common for all mice i2c /dev entries driver hisi_i2c hisi_i2c.0: Hisilicon [i2c-0] probed! hisi_i2c hisi_i2c.1: Hisilicon [i2c-1] probed! hisi_i2c hisi_i2c.2: Hisilicon [i2c-2] probed! usbcore: registered new interface driver usbhid usbhid: USB HID core driver TCP: cubic registered Initializing XFRM netlink socket NET: Registered protocol family 17 NET: Registered protocol family 15 lib80211: common routines for IEEE802.11 drivers Registering the dns_resolver key type VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5 yaffs: dev is 32505858 name is "mtdblock2" rw yaffs: passed flags "" VFS: Mounted root (yaffs2 filesystem) on device 31:2. Freeing init memory: 136K _ _ _ _ _ _ _ _ _ _ _ _ \ _ _ _ _ _ ___ / /__/ \ |_/ / __ / - _ ___ / / / / / / _ _ _ _/ / / \_/ \_ ______ ___________\___\__________________ [RCS]: /etc/init.d/S00devs [RCS]: /etc/init.d/S01udev Not recognise ACTION:change Not recognise ACTION:change [RCS]: /etc/init.d/S80network Auto login as root ... Jan 1 00:00:05 login[882]: root login on 'ttyS000' Welcome to HiLinux. None of nfsroot found in cmdline.
三、nand模式,nfs挂载根文件系统
设置启动参数
setenv bootargs 'mem=64M noinitrd init=/linuxrc console=ttyAMA0,115200 root=/dev/nfs rw nfsroot=192.168.2.155:/opt/rootfs_uclibc ip=192.168.2.76:192.168.2.155:192.168.2.1:255.255.255.0:HWHhisi:eth0:off' sa reset
nand nfs文件系统启动信息 hisilicon # print bootargs=mem=64M noinitrd init=/linuxrc console=ttyAMA0,115200 root=/dev/nfs rw nfsroot=192.168.2.155:/opt/rootfs_uclibc ip=192.168.2.76:192.168.2.155:192.168.2.1:255.255.255.0:HWHhisi:eth0:off bootcmd=nand read 0x82000000 0x800000 0x400000;bootm 0x82000000 bootdelay=1 baudrate=115200 ethaddr=00:00:23:34:45:66 ipaddr=192.168.2.195 serverip=192.168.2.76 netmask=255.255.255.0 bootfile="uImage" stdin=serial stdout=serial stderr=serial verify=n ver=U-Boot 2010.06 (Sep 18 2016 - 18:55:18) Environment size: 489/262140 bytes hisilicon # re resetting ... U-Boot 2010.06 (Sep 18 2016 - 18:55:18) Check spi flash controller v350... Found Spi(cs1) ID: 0xC2 0x20 0x19 0xC2 0x20 0x19 Spi(cs1): Block:64KB Chip:32MB Name:"MX25L(256/257)35(E/F)" Check Nand Flash Controller v610 ... found Special NAND id table Version 1.36 Nand ID: 0x2C 0x64 0x44 0x4B 0xA9 0x00 0x00 0x00 Block:2MB Page:8KB Chip:8GB*1 OOB:600B ECC:40bit/1K Nand total size: 8192MB *** Warning - bad CRC or NAND, using default environment In: serial Out: serial Err: serial Hit any key to stop autoboot: 0 NAND read: device 0 offset 0x800000, size 0x400000 4194304 bytes read: OK ## Booting kernel from Legacy Image at 82000000 ... Image Name: Linux-3.4.35 Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 2985592 Bytes = 2.8 MiB Load Address: 80008000 Entry Point: 80008000 Loading Kernel Image ... OK OK Starting kernel ... Uncompressing Linux... done, booting the kernel. Booting Linux on physical CPU 0 Linux version 3.4.35 (pub@BVT-SDK-SERVER4) (gcc version 4.8.3 20131202 (prerelease) (Hisilicon_v300) ) #1 Thu Oct 22 14:47:55 HKT 2015 CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c53c7d CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache Machine: hi3516a Memory policy: ECC disabled, Data cache writeback Built 1 zonelists in Zone order, mobility grouping on. Total pages: 16256 Kernel command line: mem=64M noinitrd init=/linuxrc console=ttyAMA0,115200 root=/dev/nfs rw nfsroot=192.168.2.155:/opt/rootfs_uclibc ip=192.168.2.76:192.168.2.155:192.168.2.1:255.255.255.0:HWHhisi:eth0:off PID hash table entries: 256 (order: -2, 1024 bytes) Dentry cache hash table entries: 8192 (order: 3, 32768 bytes) Inode-cache hash table entries: 4096 (order: 2, 16384 bytes) Memory: 64MB = 64MB total Memory: 59052k/59052k available, 6484k reserved, 0K highmem Virtual kernel memory layout: vector : 0xffff0000 - 0xffff1000 ( 4 kB) fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB) vmalloc : 0xc4800000 - 0xff000000 ( 936 MB) lowmem : 0xc0000000 - 0xc4000000 ( 64 MB) modules : 0xbf000000 - 0xc0000000 ( 16 MB) .text : 0xc0008000 - 0xc054a000 (5384 kB) .init : 0xc054a000 - 0xc056c494 ( 138 kB) .data : 0xc056e000 - 0xc059d8c0 ( 191 kB) .bss : 0xc059d8e4 - 0xc05bc9f8 ( 125 kB) SLUB: Genslabs=11, HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 NR_IRQS:128 sched_clock: 32 bits at 49MHz, resolution 20ns, wraps every 86767ms Console: colour dummy device 80x30 Calibrating delay loop... 1196.85 BogoMIPS (lpj=5984256) pid_max: default: 32768 minimum: 301 Mount-cache hash table entries: 512 Initializing cgroup subsys freezer CPU: Testing write buffer coherency: ok Setting up static identity map for 0x8041e0d8 - 0x8041e130 dummy: NET: Registered protocol family 16 Serial: AMBA PL011 UART driver uart:0: ttyAMA0 at MMIO 0x20080000 (irq = 40) is a PL011 rev2 console [ttyAMA0] enabled uart:1: ttyAMA1 at MMIO 0x20090000 (irq = 41) is a PL011 rev2 bio: create slab <bio-0> at 0 SCSI subsystem initialized hi-spi-master hi-spi-master.0: with 1 chip select slaves attached hi-spi-master hi-spi-master.1: with 3 chip select slaves attached usbcore: registered new interface driver usbfs usbcore: registered new interface driver hub usbcore: registered new device driver usb Switching to clocksource timer0 NET: Registered protocol family 2 IP route cache hash table entries: 1024 (order: 0, 4096 bytes) TCP established hash table entries: 2048 (order: 2, 16384 bytes) TCP bind hash table entries: 2048 (order: 1, 8192 bytes) TCP: Hash tables configured (established 2048 bind 2048) TCP: reno registered UDP hash table entries: 256 (order: 0, 4096 bytes) UDP-Lite hash table entries: 256 (order: 0, 4096 bytes) NET: Registered protocol family 1 RPC: Registered named UNIX socket transport module. RPC: Registered udp transport module. RPC: Registered tcp transport module. RPC: Registered tcp NFSv4.1 backchannel transport module. VFS: Disk quotas dquot_6.5.2 Dquot-cache hash table entries: 1024 (order 0, 4096 bytes) squashfs: version 4.0 (2009/01/31) Phillip Lougher NFS: Registering the id_resolver key type jffs2: version 2.2. (NAND) © 2001-2006 Red Hat, Inc. fuse init (API version 7.18) SGI XFS with security attributes, large block/inode numbers, no debug enabled msgmni has been set to 115 Block layer SCSI generic (bsg) driver version 0.4 loaded (major 254) io scheduler noop registered io scheduler deadline registered (default) io scheduler cfq registered brd: module loaded Spi id table Version 1.22 Spi(cs1) ID: 0xC2 0x20 0x19 0xC2 0x20 0x19 SPI nor flash boot mode is 3 Bytes Spi(cs1): Block:64KB Chip:32MB Name:"MX25L 256/257 35 E/F" spi size: 32MB chip num: 1 Found Nand Flash Controller V610. Nand ID: 0x2C 0x64 0x44 0x4B 0xA9 0x00 0x00 0x00 Nand: Micron MT29F64G08CBABA Randomizer Read-Retry Nand(HW-Auto): Block:2MB Page:8KB OOB:744B ECC:40bit/1k Chip:8GB*1 Higmac dma_sg_phy: 0x83a00000 higmac_mdio_bus: probed ETH0: rgmii, phy_addr=1, mii_name=mdio0 ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver hiusb-ehci hiusb-ehci.0: HIUSB EHCI hiusb-ehci hiusb-ehci.0: new USB bus registered, assigned bus number 1 hiusb-ehci hiusb-ehci.0: irq 53, io mem 0x100b0000 hiusb-ehci hiusb-ehci.0: USB 0.0 started, EHCI 1.00 hub 1-0:1.0: USB hub found hub 1-0:1.0: 1 port detected ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver hiusb-ohci hiusb-ohci.0: HIUSB OHCI hiusb-ohci hiusb-ohci.0: new USB bus registered, assigned bus number 2 hiusb-ohci hiusb-ohci.0: irq 54, io mem 0x100a0000 hub 2-0:1.0: USB hub found hub 2-0:1.0: 1 port detected Initializing USB Mass Storage driver... usbcore: registered new interface driver usb-storage USB Mass Storage support registered. mousedev: PS/2 mouse device common for all mice i2c /dev entries driver hisi_i2c hisi_i2c.0: Hisilicon [i2c-0] probed! hisi_i2c hisi_i2c.1: Hisilicon [i2c-1] probed! hisi_i2c hisi_i2c.2: Hisilicon [i2c-2] probed! usbcore: registered new interface driver usbhid usbhid: USB HID core driver TCP: cubic registered Initializing XFRM netlink socket NET: Registered protocol family 17 NET: Registered protocol family 15 lib80211: common routines for IEEE802.11 drivers Registering the dns_resolver key type VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5 PHY: mdio0:01 - Link is Up - 100/Full IP-Config: Complete: device=eth0, addr=192.168.2.76, mask=255.255.255.0, gw=192.168.2.1 host=HWHhisi, domain=, nis-domain=(none) bootserver=192.168.2.155, rootserver=192.168.2.155, rootpath= VFS: Mounted root (nfs filesystem) on device 0:9. Freeing init memory: 136K _ _ _ _ _ _ _ _ _ _ _ _ \ _ _ _ _ _ ___ / /__/ \ |_/ / __ / - _ ___ / / / / / / _ _ _ _/ / / \_/ \_ ______ ___________\___\__________________ [RCS]: /etc/init.d/S00devs [RCS]: /etc/init.d/S01udev Not recognise ACTION:change Not recognise ACTION:change [RCS]: /etc/init.d/S80network IP: 192.168.2.76 BOOTP: 192.168.2.155 GATEWAY: 192.168.2.1 NETMASK: 255.255.255.0 HOSTNAME: HWHhisi NETDEV: eth0 AUTOCONF: off route: SIOCADDRT: File exists [RCS]: /etc/init.d/S90hibernate Auto login as root ... Jan 1 00:00:05 login[856]: root login on 'ttyS000' Welcome to HiLinux. Mount: 192.168.2.155:/opt/rootfs_uclibc on / type nfs (rw,relatime,vers=2,rsize=4096,wsize=4096,namlen=255,hard,nolock,proto=udp,timeo=11,retrans=3,sec=sys,mountaddr=192.168.2.155,mountvers=1,mountproto=udp,local_lock=all,addr=192.168.2.155) chroot: can't execute '/usr/bin/env': No such file or directory ~ # ls / bin home mkimg.rootfs proc tmp boot init mknod_console root usr dev lib mnt sbin var etc linuxrc nfsroot share hello.c lost+found opt sys