a-安装NFS服务
1.sudo apt-get install nfs-kernel-server
apt-get install portmap
apt-get install rpcbind
apt-get install nfs-common
2.、执行命令:mkdir /var/lib/tftpboot 建立一个 nfs 服务的文件夹;
3.sudo vi /etc/exports 配置 nfs 在 文 章 的 最 后 一 行 添 加 : /var/lib/tftpboot *(rw,sync,no_root_squash,no_subtree_check)
4.修改完上述配置文件保存退出。
5.执行命令:sudo /etc/init.d/rpcbind restart 重启 rpcbind 服务。nfs 是一个 RPC 程序,使用它前,需要映射好端口,通过 rpcbind 设定。
6.执行命令:sudo /etc/init.d/nfs-kernel-server restart 重启 nfs 服务。
7.if 会有问题,显示 Not starting: portmapper is not running.然后重启系统后就正常了,不正常可以加 sudo modprobe nfs 试试
b-制作zImage uImage内核映像
(一) 烧写自带映像(4M左右)
制作 uImage 所使用的 mkimage 工具在 u-boot 的 tools 目录下,在编译 u-boot 的时候会将 u-boot 目录下的 mkimage.c 文件编译成 mkimage 工具。将 mkimage 拷贝到文件系统根目录 usr/bin 目录下,然后进入 zImage 所在的目录内,并执行如下指令: mkimage -n ‘kernel 3.0.8’ -A arm -O Linux -T kernel -C none -a 0x20008000 –e 0x20008040 -d zImage uImage 如果没有问题,则会在 zImage 目录旁生成 uImage 文件。
(二)编译linux-3.0.8-20130327.tgz内核
解压,找到Makefile文件,修改
ARCH ?= arm CROSS_COMPILE?= $(CONFIG_CROSS_COMPILE:"%"=%)
将其修改为: ARCH ?= arm CROSS_COMPILE ?= /usr/local/arm/4.5.1/bin/arm-linux
在执行如下指令: cp mini210_linux_defconfig .config make 在 linux-3.0.8/arch/arm/boot 目录内生成 zImage 再利用 mkimage 将其制作为 uImage 文件。
c-烧写uImage内核映像tftp 21000000 uImage nand write 21000000 600000 500000 setenv bootcmd nand read 20008000 600000 500000\;bootm 20008000 saveenv
将 uImage 内核写入 nand flash,写入的是 Nand Flash 的第三个分区的起始地址 600000 (6MB),大小为 500000(5MB,因为内核为 4MB 多,不足 5MB)。
d-配置根文件系统
选择 rootfs_rtm_210.tgz 根文件系统,解压到/var/lib/tftpboot目录内,重新启动开发板。配置如下信息:
setenv bootargs noinitrd root=/dev/nfs rw nfsroot=10.25.130.31:/var/lib/tftpboot ip=10.25.130.26:10.25.130.31:10.25.130.1:255.255.255.0:arm:eth0:off console=ttySAC0,115200