前言:
此次编译是继一次简单的内核编译(一)进行操作编译的,请先查看第一篇再来看此片文章
一、使用busybox代替自己制作的init脚本,实现内核启动;
1、在这里我们使用静态编译busybox,所以需要先安装glibc-static依赖包,如果不安装会报错
2、解压busybox到/usr/src/,切换到解压目录,运行make menuconfig
3、在busybox编译菜单中选择静态编译,以便于我们使用时方便
4、选择好静态编译后,保存退出,运行make进行编译,编译完成后,运行make install进行安装,安装成功后生成以下文件及目录
5、cd /mnt/sysroot/目录中,使用cpio归档当前所有文件做备份,备份完成后删除所有文件
复制编译busybox时产生的文件到/mnt/sysroot/,复制时使用-a选项,保持源文件的属性
6、复制完成后,确保/mnt/sysroot/sbin/目中要有init脚本
7、删除linuxrc链接文件,然后创建系统初始化所需要的目录
8、在/mnt/sysroot/etc/目中中创建network文件,内容如下:
9、在/mnt/sysroot/etc/rc.d/目中创建rc.sysinit系统初始化脚本,内容如下:
10、创建完成后,给/mnt/sysroot/etc/rc.d/rc.sysinit.添加执行权限
11、在/mnt/sysroot/etc/中创建系统初始化需要的文件inittab,内容如下:
12、创建启动时需要的字符设备
13、运行sync同步数据,然后挂起宿主机,启动新建的虚拟机,启动结果如下:
14、关闭新建的虚拟机,启动宿主机,在/mnt/sysroot/etc/inttab中定义,系统启动时启动多个终端
15、运sync同步数据,挂起宿主机,启动新建的虚拟机,启动结果如下
16、至此简单的内核编译完成,可以玩耍了,本人写的不好,请大侠多多指教
原创文章,作者:马行空,如若转载,请注明出处:http://www.178linux.com/4875
评论列表(1条)
小伙伴们的图越来越专业了