Linux根文件系统的制作

@@1:Uboot编译:
首先必须安装交叉工具链arm-linux-;找到工具链解压安装:tar xvzf arm-linux-..... -C /
解压到根目录;修改/etc/profile即:vi /etc/profile 添加语句:pathmunge /opt/FriendlyARM/toolschain/4.5.1/bin;
第三步:让环境变量生效:source /etc/profile
2:选择要使用的board:如:make mini6410_nand_config-ram128
3:编译生成:make CROSS_COMPILE=arm-linux-

@@2:内核制作:make distclean
2:配置内核:make menuconfig ARCH=arm
3:编译内核:make uImage ARCH=arm CROSS_COMPILE=arm-linux-
根文件系统的制作:
1:创建根文件目录:mkdir rootfs ;cd rootfs ;mkdir bin dev etc lib proc sbin sys usr mnt tmp var;mkdir usr/bin usr/lib usr/sbin lib/modules
2:创建设备文件:cd dev/;mknod -m 666 console c 5 1;mknod -m 666 null c 1 3;cd ../
3:安装/etc: tar  xvzf etc.tar.gz -C /rootfs的路径/rootfs
4:编译内核模块:make modules ARCH=arm CROSS_COMPILE=arm-linux-
5:安装内核模块:make modules_install ARCH=arm INSTALL_MOD_PATH=/rootfs的路径/rootfs
6:配置busybox:进入busybox目录:make menuconfig
进入Busybox Settings->,选中"Build busybox as a static binary"静态链接;Cross Compiler prefix(arm-linux-)意思是gcc之前的前缀;退出当前项
选中Installation Options->(里面填上rootfs的路径);同时选上"Don't use/usr"避免busybox被安装在宿主机上,破坏宿主机
7:编译安装busybox: make ARCH=arm CROSS_COMPILE=arm-linux-;make install


@@3:根文件系统制作续:
首先是制作initramfs文件系统的方法,然后是制作nfs文件系统的方法。
*initramfs:1进入内核:make menuconfig ARCH=arm;进入"General setup"选中"Inital RAM filesystem......."然后在下一项中填入rootfs的路径,表示安装在哪里
2:建立软连接:进入制作好的rootfs目录,执行:ln  bin/busybox init
3:重新编译内核:make uImage ARCH=arm CROSS_COMPILE=arm-linux-

&2:nfs文件系统:1进入内核:make menuconfig ARCH=arm;删除"Inital RAM filesystem......."在进入filesystem选中"Network File System"
选中,NFS client support和root file system NFS
2:重新编译内核:make uImage ARCH=arm CROSS_COMPILE=arm-linux-

下面是配置NFS服务器:
首先建立nfs目录:mkdir /nfspool;
2:配置nfs:vi /etc/exports在中加入:/nfspool 10.10.206.*(rw,async.no_root_squash)
3:重启nfs服务:service nfs restart这样宿主机上的工作就ok了

在开发板上将开发板的ip和宿主机上的ip配置在同一网段:printenv查看环境变量
setenv ipaddr 10.10.206.200;setenv serverip 10.10.206.100;setenv gatewayip 10.10.206.254;saveenv
如果用的是nfs文件系统这要修改环境变量bootargs
setenv bootargs "root=/dev/nfs nfsroot=10.10.206.100:/nfspool/rootfs ip=10.10.206.200 rw console=ttySAC0 mem=128M";saveenv就可以了
原配置:bootargs=root=/dev/mtdblock2 console=ttySAC0,115200

你可能感兴趣的:(Linux根文件系统的制作)