下载内核,版本都无所谓了,根据自己喜好吧,建议别选太新的内 下载busybox。
(一)内核编译
解压内核,进入内核目录,运行命令:
apt-get install libncurses5-dev ---- 安装ncurses开发包
make menuconfig ---- 启动内核配置菜单
配置完成后,退出保存,自动生成.config文件,可以备份该文件,避免每次重复配置。
在这里做嵌入式系统的一般选择 initranfs 格式,根文件系统直接打包到内核里。开发
建议启用内核支持 NFS 文件系统,这样在grub中指定NFS根文件系统,便于调试和修
改。
make -j4 ---- 编译内核和内核模块,时间较长,磁盘空间最好大于4G
Kernel: arch/x86/boot/bzImage is ready
编译完成后会有提示,内核文件存放的目录,拷贝内核文件到我们做的根文件系统里
/rootfs/boot/bzImage
(二)根文件系统
解压busybox,进入该源码目录运行命令:
make menuconfig ---- 启动配置菜单
Busybox Settings ---> Installation Options 在这里可以配置busybox
编辑完成后安装的目录,填写我们的根文件系统,这样编译完成后会拷贝到
我们设定的目录下。busybox必须选择静态编译。
initramfs需要根目录下有init
ln -s bin/busybox init
完成后如下建立根文件目录和权限等:
drwxr-xr-x 2 root root 4096 2012-05-06 12:51 bin
drwxr-xr-x 2 root root 4096 2012-05-02 10:38 boot
drwxr-xr-x 10 root root 16384 2012-05-04 22:11 dev
drwxr-xr-x 5 root root 4096 2012-05-06 13:37 etc
drwxr-xr-x 3 root root 4096 2012-05-06 11:01 home
lrwxrwxrwx 1 root root 11 2012-05-03 16:57 init -> bin/busybox
drwxr-xr-x 2 root root 4096 2012-05-05 10:48 lib
lrwxrwxrwx 1 root root 11 2012-05-06 12:51 linuxrc -> bin/busybox
drwxr-xr-x 2 root root 4096 2012-04-18 17:46 proc
drwxr-xr-x 2 root root 4096 2012-05-06 12:15 root
drwxr-xr-x 2 root root 4096 2012-05-06 12:51 sbin
drwxr-xr-x 2 root root 4096 2012-05-04 19:16 sys
drwxrwxrwt 2 root root 4096 2012-05-06 12:15 tmp
drwxr-xr-x 5 root root 4096 2012-04-18 17:47 usr
drwxr-xr-x 8 root root 4096 2012-05-05 11:09 var
配置 /etc/inittab 文件:
cat etc/inittab
::sysinit:/etc/init.d/rcS
::respawn:/sbin/getty 38400 tty1
#::respawn:/sbin/getty 9600 ttyS0
::restart:/sbin/init
::shutdown:/bin/umount -a -r &> /dev/null
拷贝/dev下的字符和块设备到我们的根文件系统中。
阅读(2564) | 评论(0) | 转发(0) |