接着 busybox-1.20.2 交叉编译 并构建最小根文件系统
构建一个从initramfs启动的uImage:
导出环境变量路径:
export PATH=$PATH:/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/
1 进入内核目录,内核配置:make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- menuconfig
General setup --->
[*] Initial RAM filesystem and RAM disk (initramfs/initrd) support
(rootfs) Initramfs source file(s)
选中:Initial RAM filesystem and RAM disk (initramfs/initrd) support 和设置根文件系统的目录Initramfs source file(s) ,我的根文件系统拷贝到当前内核目录下的rootfs
保存配置文件重新编译之后得到uImage就是initramfs启动的,这样的uImage不管bootargs是什么都只能启动initramfs,即我们的根文件系统。
2 顺便把iptables也加到initramfs下,由于iptables需要内核netfilter的配合才能实现。所以需要重新配置内核:
[*] Networking support --->
Networking options --->
[*] Network packet filtering framework (Netfilter) --->
把Network packet filtering framework (Netfilter) 可以选上的都选上,反正是用来学习额。
3 把iptables-1.4.21 交叉编译这一章编译出来的iptables拷贝到根文件系统的bin下,重新编译内核即可
至此,iptables和netfilter的使用环境基本已经搭建成功。