构建一个带iptbales的从initramfs启动的uImage

接着 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的使用环境基本已经搭建成功。


你可能感兴趣的:(iptables,内核,文件系统,Netfilter,uImage)