制作嵌入式linux (step by step实做指南)
制作嵌入式linux 指导老师:马永亮:http://blog.chinaunix.net/u/24866/ 准备:1、一个作为宿主机的Linux;本文使用的是Redhat Enterprise Linux 5.4; 2、在宿主机上提供一块额外的硬盘作为新系统的存储盘,为了降低复杂度,这里添加使用一块IDE接口的新硬盘; 3、Linux内核源码,busybox源码;本文使用的是目前最新版的linux-2.6.34.1和busybox-1.16.1. 一、为系统上的新硬盘建立分区,这里根据需要先建立一个大小为100M的主分区作为新建系统的boot分区和一个512M的分区作为目标系统(即正在构建的新系统,后面将沿用此名称)的根分区;100M的分区格式化后将其挂载至/mnt/boot目录下;512M的分区格式化后将挂载至/mnt/sysroot目录; 说明: 二、编译内核源代码,为新系统提供一个所需的内核(本例中的源代码包都位于/usr/src目录中) # cd /usr/src # make menuconfig
根据您的实际和规划选择所需要的功能;本实例计划制作一个具有网络的功能的tiny linux且不打算使用内核模块,因此,这里选择把本机对应的网卡驱动直接编译进了内核.作者使用的是vmware Workstation虚拟机,,所需的网上驱动是pcnet32的,其它的均按需要选择.选择完成后需要保存至当前目录下.config文件中.
# make SUBDIR=arch/ # make menuconfig 三、编译busybox # cd /usr/src # make menuconfig 说明: # make install 安装后的文件均位于/mnt/sysroot目录中;但为了创建initrd,并实现让其启动以后将真正的文件系统切换至目标系统分区上的rootfs,您还需要复制一份刚安装在/mnt/sysroot下的busybox至另一个目录,以实现与真正的根文件系统分开制作.我们这里选择使用/mnt/temp目录; # mkdir -pv /mnt/temp
四、制作initrd # cd /mnt/temp 1、建立rootfs: 2、创建两个必要的设备文件: 3、为initrd制作init程序,此程序的主要任务是实现rootfs的切换,因此,可以以脚本的方式来实现它: # vim init
给此脚本执行权限: 4、制 |
||
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |