前面那篇文章只是将linux kernel启动起来了,但是没有文件系统,这篇文章讲述kernel采用nfs的方式加载文件系统
1. 安装配置nfs server:
sudo apt-get install nfs-kernel-server
sudo vi /etc/exports,添加:/srv/homes hostname1(rw,sync,no_subtree_check)
sudo service nfs-kernel-server start
2. 将tq210自带的文件系统源码解压到/目录下,并将/opt/EmbedSky/TQ210/rootfs_linux_v1.4_CoreB 添加到nfs的exports中
3. 使用uboot启动,启动参数为:
set machid 998
set serverip 192.168.1.199
set bootargs console=ttySAC0,115200n8 noinitrd init=/init root=/dev/nfs nfsroot=192.168.1.199:/opt/EmbedSky/TQ210/rootfs_linux_v1.4_CoreB ip=192.168.1.6:192.168.1.199:192.168.1.1:255.255.255.0::eth0:on
tftp 30008000 uImage
bootm 30008000
发现可以挂载nfs,但是报错:
[init] SMB380 is error!
Acceleration_sensor: probe of Acceleration_sensor failed with error -1
Try to bring net interface up ...
sh: 1: unknown operand
nfs: server 192.168.1.199 not responding, still trying
经搜索发现是文件系统中sbin/net_set导致,删除etc/net.conf后,再重新启动系统则可以进入linux系统了
4. 经过测试发现
1) 当nfs文件权限设置为757时,就可以通过板子的linux来修改文件
2)uboot中将kernel加载到0x5000_0000处依旧可以跑起来,奇怪!!! 也就是只要不破坏uboot的地址空间,加载到哪里都能运行!!生命力强大的kernel
2016.9.30