|
发表于 2014-6-9 10:02:14
|
显示全部楼层
简单 :
参考 : http://linux-sunxi.org/How_to_bo ... e_network#Automatic
默认的ubuntu12.04 LTS 32bit 没装NFS, 安装也很简单:
1. apt-get install nfs-kernel-server
mkdir -p /var/nfsexport/arch/
2. 设置共享目录
vi /etc/exports加上
/var/nfsexport *(rw,sync,no_root_squash,no_subtree_check)
3. 重启NFS:
/etc/init.d/nfs-kernel-server restart
每次设置NFS共享目录,都必须重启NFS 。
下载并编译好kernel(笔者当时用的3.4.43)和script.bin(这部分可以看前面写的体验Cubieboard之制作最小系统章节)
make ARCH=arm menuconfig 加上:
CONFIG_IP_PNP=y
CONFIG_SUNXI_EMAC=y
CONFIG_ROOT_NFS=y
将uImage和script.bin拷贝到/var/nfsexport/arch/
下载并编译好uboot
下载uboot.bin 和sunxi-spl.bin到SD卡
#dd if=spl/sunxi-spl.bin of=/dev/sdX bs=1024 seek=8
#dd if=u-boot.bin of=/dev/sdX bs=1024 seek=32
将SD卡插到板子,上电,接上ttl线,找到相应的com并设置crt,
按空格进入命令行,输入:
setenv ethaddr 12:34:56:78:99:aa // 设置MAC
自动分配ip:
setenv autoload no
dhcp // 动态分配IP给板子
setenv serverip 192.168.1.109 // ubuntu ip
saveenv // 执行dhcp后必须save,要不然ipaddr无法保存
setenv nfsroot ${serverip}:/var/nfsexport/arch/binary // 设置网络文件系统目录,这里必须放有
可用的文件系统
setenv bootcmd "nfs 0x43000000 ${nfsroot}/script.bin; nfs 0x48000000 ${nfsroot}/uImage; bootm 0x48000000" // 设置自启动命令,开机时自动nfs下载
setenv bootargs "console=ttyS0,115200 root=/dev/nfs init=/sbin/init nfsroot=${nfsroot} ip=${ipaddr}{netmask}{gatewayip}:::eth0"
saveenv
4. 下载文件系统:
wget https://releases.linaro.org/13.0 ... 20130422-342.tar.gz
解压到共享目录:
tar -xzf linaro-quantal-nano-20130422-342.tar.gz -C /var/nfsexport/arch
如果启动时卡在:
务必手动设置ip和网关:
Sun7i# setenv netmask <netmask>
Sun7i# setenv dnsip <dns>
Sun7i# setenv gatewayip <gateway>
Sun7i# setenv ipaddr <ip-address>
连上网线,必须保证能PING 服务器ubuntu
然后设置bootargs和nfsroot,保存savaenv
注意:
用官方网址提供的ArchLinuxARM-sun4i-latest.tar.gz文件,启动卡在:
timed out waiting for device sys-subsystem-net-device-eth0.device,
解决方法配置内核加上:
CONFIG_FHANDLE=y
CONFIG_DEVPTS_MULTIPLE_INSTANCES=y,登录时,用户名和密码都是root
2. 使用bsp提供的文件系统,启动也有点问题,必须加上init=/sbin/init
3. 如果启动时出现一直复位的现象,建议手动执行启动内核: bootm 48000000
4. 下载到一半会出现”T... T”,属于正常情况
|
|