制作根文件系统(基于s3cmini2440)
1、 创建目录
mkdir /mini2440/rootfs
cd /mini2440/rootfs
mkdir bin dev etc lib proc sbin sys usr mnt tmp var usr/bin usr/lib lib/modules
2、 创建设备文件(/mini2440/rootfs/dev)
cd dev/
mknod –m 666 console c 5 1
mknod -m 666 null c 1 3
3、 安装/mini2440/rootfs/etc
将etc.tar.gc解压到rootfs中
4、 tar -xzvf etc.tar.gz -C /mini2440/rootfs编译内核模块:进入内核目录(linux-2.6.32.2)
make modules ARCH=arm CROSS_COMPILE=arm-linux-
5、 安装内核模块到我们要制作的新文件系统中
make modules_install ARCH=arm INSTALL_MOD_PATH=/mini2440/rootfs
6、 配置busybox:
解压busybox到/mini2440/rootfs
进入busybox执行make menuconfig
进入busybox settings
Build options ->
选中”build busybox s a static binary”(静态链接) cross compilsx prefix(arm-linux-)
Install action options –>
选中”dnot use /usr”(避免安装到宿主机的/usr下)
Busybox installation prefix (/mini2440/rootfs)
7、 编译安装busybox
make ARCH=arm CROSS_COMPILE=arm-linux-
make install
8、 拷贝库文件
cd /usr/local/arm/4.4.3/arm-none-linux-gnueabi/lib
将ld-linux.so.3和libc.so.6拷贝到/mini2440/rootfs/lib下
cp /usr/local/arm/4.4.3/arm-none-linux-gnueabi/lib /ld-linux.so.3 libc.so.6 /mini2440/rootfs/lib
9、 配置环境变量
vi /etc/exports (宿主机)
添加:/mini2440/ * (rw,sync,no_root_squash)
*符号代表局域网中的一个ip地址,要和宿主机同网
10、启动文件系统
/etc/init.d/nfs_kernel_server restart
/etc/init.d/portmap restart
(这两个服务想有些系统可能没有安装,有错误提示,要安装上,apt-get install nfs***)
10、 ping 主机/开发板
11、 配置终端
Setenv bootargs console = tty SAC0,115200 root=/dev/nfs nfsroot=192.168.1.222:/mini2440/rootfs ip=192.168.1.110:192.168.1.1:255.255.255.0:s3c2440.arm9.net:eth0:off
(nfsroot=虚拟机linux IP,/mini2440/rootfs是文件系统的路径,ip是开发板的IP)
Save
Boot
Ubuntu IP 、开发板、Windows IP必须在同一网段。
开机画面的配置:/mini2440/rootfs/etc/profile