miniLinux的制作(图文)
来源:互联网 发布:股票利润怎么算法 编辑:程序博客网 时间:2024/05/18 00:40
1、解压Linux内核源码包至/usr/src/目录下,并软连接至linux中。
2、进入linux文件夹中,使用make help获取帮助。执行make allnoconfig关闭所有可选的配置。
3、执行make menuconfig对内核进行编译前的功能模块进行配置。以下的配置选项是根据自己的需要和对主机适配信息选择。可通过lsmod、lscpu、lspci等进行查看。
4、进行编译。编译的最终的结果在当前目录下的arch/x86/boot/bzImage。
5、前面四步完成后,为主机添加一个新的硬盘。
6、为新的硬盘创建sdb1和sdb2两个分区,并格式化成ext4文件系统。
7、将sdb1挂载到/mnt/boot/作为新系统的boot分区,sdb2挂载到/mnt/sysroot/作为新系统的根目录。
8、在sdb设备上安装grub,并在boot下配置grub.conf文件,然后创建一些必须的文件夹。
9、使用编写的shell脚本复制本机的一些常用命令至sdb中的相应文件夹中。(shell脚本命令代码在文末)
10、可以增加额外init脚本实现开机挂载文件系统。
11、一切准备就绪之后,将上述编译好的内核系统 bzImage 复制到/mnt/boot/下之后执行sync命令。
12、新建虚拟机,注意的一项是到 选择现有磁盘 这一步时需要找到相应的新建磁盘设备。miniLinux启动成功并且发现复制过来的命令也可以执行生效了。(宿主机需要挂起或者关闭)
通过上述的实验基本上可以实现一个自定制的miniLinux系统,但是实际应用中我们需要与busyBox相互结合实现一个具有实质应用的系统。在上述的基础上:
1、我们需要以静态的方式对busyBox进行编译,首先安装glibc-static模块。
2、解压busyBox后,在解压目录下执行 make menuconfig对其进行配置。详情:https://www.busybox.net
3、编译安装busyBox。
4、编译安装完成后,生成的文件在_install目录下,并将其全部复制到/mnt/sysroot/目录下。(前面步骤所创建的文件夹和命令可全部删除,使用busyBox代替即可)
附-复制命令脚本:
#!/bin/bash#target=/mnt/sysroot[ -d $target ] || mkdir /mnt/sysrootread -p "A command: " commandlibcp() { for lib in $(ldd $1 | grep -o "[^[:space:]]*/lib[^[:space:]]*"); do libdir=$(dirname $lib) [ -d $target$libdir ] || mkdir -p $target$libdir [ -f $target$lib ] || cp $lib $target$lib done}while [ "$command" != 'quit' ]; do if ! which $command &> /dev/null; then read -p "No such command, enter again: " command continue fi command=$(which --skip-alias $command) cmnddir=$(dirname $command) [ -d $target$cmnddir ] || mkdir -p $target$cmnddir [ -f $target$command ] || cp $command $target$command libcp $command read -p "Another command(quit): " commanddone
- miniLinux的制作(图文)
- MiniLinux的制作
- RDLC 报表的制作(图文)
- RDLC 报表的制作(图文)
- 使用SketchUp制作球体的方法(图文教程)
- 使用SketchUp制作椭圆形球体的方法(图文教程)
- 【.Net码农】RDLC 报表的制作(图文)
- ROM制作图文教程(详细)
- 为你的整轨APE音乐制作CUE文件(图文)
- 微信演示制作软件易企秀的上手体验(图文)
- VS打包部署图文详细步骤及程序防卸载的制作(密码验证卸载)
- 制作U盘启动来安装Linux系统的具体方法(图文)
- 修改initrd做miniLinux
- flash制作图文教程!!!
- 使用UltraISO制作U盘启动盘的方法(图文教程)
- 使用UltraISO制作U盘启动盘的方法(图文教程)
- 使用UltraISO制作U盘启动盘的方法(图文教程)
- 图文演示关于系统流程图如何制作的使用方法
- 关于echarts的markline线上的数值的上下移动问题
- IIS 403.14
- 1374Problem D:正方体积木
- 集成高德地图记录
- 悟透JavaScript(理解JS面向对象的好文章)
- miniLinux的制作(图文)
- iOS APP技术服务支持
- JAVA JDBC连接SQL Server数据库进阶(二)---批处理
- [jzoj]3486. 【NOIP2013模拟联考10】道路改建(rebuild)(缩环+Tarjan+拓扑+bitset记录状态)
- 建立商城商品关联属性表实现单商品多规格功能
- 贴图设置注意事项
- TCP状态转移
- 粒子滤波
- 我所理解的JVM