用busybox构建根文件系统及出错总结

总结下这几天来用busybox构建根文件系统出现的一些问题,总的来说比较重要的就是配置busybox的过程,必须要知道哪些是需要的,是必须加载的,否则当内核启动后加载文件系统会出现非人类所能理解的问题。所以只要我们知道哪些基本的配置项是必须的,保证我们的文件系统能正常加载后,其它的一些命令可以根据 自己的实际情况自己添加就行了。废话少说,下面开始进行配置busybox,本人使用的是最新的busybox1.16.2版本。

           正确配置busybox(可能本人理解有误,有些可能也不是必须项,只是出于解决问题的角度来进行此配置)

          输入:makemenuconfig 后出现类似配置linux kernel的界面,然后你就可以按下面几个选项进行配置了。

            Init Utilities --->

               init

               这个init项一定要选上,用busybox来初始化系统

           Login/Password Management Utilities --->

                Use internal password and group functions rather than system functions

                这个如果不选上,busybox识别不了lib下的libness, 然后解析不了uid...后果很严重

 

           Shell --->

                   选择ash

                   job control

                   这个必须选上,否则无法ctrl+c

            Busybox Settings -> Build Options -->

                 Build BusyBox as a static binary (no shared libs)

                 我不知道为什么,大家都选择的是编译成静态的形式,据说若是编译成动态的话有时加载会比较麻烦(有待确认,知道的人告诉一声)。【6688电子商务网站   】

           General Configuration

                 Show verbose applet usage messages

                  Support for SUID/SGID handling

                  Runtime SUID/SGID configuration via /etc/busybox.conf 

            Installation Options

                 Don't use /usr
                 (./nfsboot) BusyBox installation prefix

             这个选项也一定要选,否则make install busybox将安装在原系统的/usr,这将覆盖掉系统原有的命令.选择这个选项后,makeinstall后会在busybox目录下生成一个叫nfsboot的目录,里面有busybox和指向他的链接.

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wwsjgz.html