一次简单的内核编译(二)

  前言:

    此次编译是继一次简单的内核编译(一)进行操作编译的,请先查看第一篇再来看此片文章

一、使用busybox代替自己制作的init脚本,实现内核启动;

 1、在这里我们使用静态编译busybox,所以需要先安装glibc-static依赖包,如果不安装会报错

  45.png

 2、解压busybox到/usr/src/,切换到解压目录,运行make menuconfig

  43.png

 

 3、在busybox编译菜单中选择静态编译,以便于我们使用时方便  44.png

 

  4、选择好静态编译后,保存退出,运行make进行编译,编译完成后,运行make install进行安装,安装成功后生成以下文件及目录46.png

  5、cd /mnt/sysroot/目录中,使用cpio归档当前所有文件做备份,备份完成后删除所有文件

  47.png

  复制编译busybox时产生的文件到/mnt/sysroot/,复制时使用-a选项,保持源文件的属性

  48.png

 

 6、复制完成后,确保/mnt/sysroot/sbin/目中要有init脚本

  49.png

 7、删除linuxrc链接文件,然后创建系统初始化所需要的目录

50.png

54.png

 8、在/mnt/sysroot/etc/目中中创建network文件,内容如下:

 51.png

 9、在/mnt/sysroot/etc/rc.d/目中创建rc.sysinit系统初始化脚本,内容如下:

  57.png

 10、创建完成后,给/mnt/sysroot/etc/rc.d/rc.sysinit.添加执行权限

  53.png

 

 11、在/mnt/sysroot/etc/中创建系统初始化需要的文件inittab,内容如下:

  56.png

  12、创建启动时需要的字符设备

  58.png

  13、运行sync同步数据,然后挂起宿主机,启动新建的虚拟机,启动结果如下:

  59.png

  14、关闭新建的虚拟机,启动宿主机,在/mnt/sysroot/etc/inttab中定义,系统启动时启动多个终端

  60.png

  

 15、运sync同步数据,挂起宿主机,启动新建的虚拟机,启动结果如下

  61.png

  62.png

  63.png

 16、至此简单的内核编译完成,可以玩耍了,本人写的不好,请大侠多多指教

原创文章,作者:马行空,如若转载,请注明出处:http://www.178linux.com/4875

赞 (0)
马行空马行空
上一篇 2015-05-28 15:23
下一篇 2015-06-01 19:12

相关推荐

  • N25_第二周博客作业:

    N25_第二周博客作业: 1、linux上的文件管理命令都有哪些,其常用的使用方法及其相关示例演示。 Linux上常见的文件管理类命令有mkdir、touch、cp、mv、rm、stat。 mkdir:创建新目录 SYNOPSIS   mkdir [OPTION]… DIRECTORY… 常用: 1、直接建目录 [root@…

    Linux干货 2016-12-09
  • 网络yum源的配置

    1.准备: 光盘 包 元数据 2.网络服务http(s)  ftp 查看是否安装  which  vsftp;  ls  /misc/cd/Packages | grep vsftpd 安装  rpm  -ivh  /misc/cd/Packages/vsftpd… …

    2017-06-13
  • MySQL优化大全

     1. 优化SQL   1)通过show status了解各种sql的执行频率         show status like 'Com_%'        了解 Com_select,Com_in…

    Linux干货 2015-04-13
  • 数据的游戏:冰与火

    我对数据挖掘和机器学习是新手,从去年7月份在Amazon才开始接触,而且还是因为工作需要被动接触的,以前都没有接触过,做的是需求预测机器学习相关的。后来,到了淘宝后,自己凭兴趣主动地做了几个月的和用户地址相关数据挖掘上的工作,有一些浅薄的心得。下面这篇文章主要是我做为一个新人仅从事数据方面技术不到10个月的一些心得,也许对你有用,也许很傻,不管怎么样,欢迎指…

    Linux干货 2016-08-15
  • 利用varnish构建httpd缓存服务器

    varnish如何存储缓存对象:     file: 单个文件;不支持持久机制;     malloc: 缓存在内存中;     persistent:基于文件的持久存储;(此方式不建议使用) vcl:配置缓存系统的缓存机制;【线程中缓存功…

    Linux干货 2016-06-20
  • lnmp部署实验

    Lnmp部署 实验环境: 1、Centos 7主机一台,客户机一台。 2、在centos 7主机上部署:    Nginx  php-fpm  php-mysql  mariadb-server 实验步骤: 1、启动nginx服务,确保80端口打开,启动mariadb-server,确保3306端口…

    Linux干货 2016-10-30

评论列表(1条)

  • stanley
    stanley 2015-06-01 19:07

    小伙伴们的图越来越专业了