构建嵌入式rtlinux系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

构建嵌入式rtlinux系统

1

1.下载linux内核linux-2.4.22.tar.gz,从ftp:///上镜像站点下载的,速度很快。

解压到/usr/src/linux-2.4.22

2下载RTLinux:rtlinux-3.2-rc1.tar.bz2 从ftp:///pub/rtlinux上下载。

解压到/usr/src/rtlinux-3.2-rc1

3. 给linux内核打RTLinux补丁,并编译新内核:

cd /usr/src/rtlinux-3.2-rc1

ln –s /usr/src/linux-2.4.22 /usr/src/rtlinux-3.2-rc1/linux

cd ./linux

只有在这个目录下你的命令才会生效。否则会显示

make: *** No rule to make target 'config' , stop的错误提示.

patch –p1 < ../patches/kernel_patch-2.4.22-rtl3.2-pre3

make mrproper

如果你以前编译过内核,那应当先执行#make mrproper 这个命令,它可以删除以前的建构的痕迹。如果你没有编译过,可以不执行它。

make menuconfig

选择网卡驱动以及EXT3文件系统,去掉APM选项,disableAPIC支持,将一些不必要的支持去掉,如对红外线和其它周边设备的支持,重要的一点是记住通常为节略空间内核必须支持RAMDISK及ext2,否则系统不能正常引导。编译之前请确认您是以root的身份在进行操作,否则会返回Permission Denied的提示。,把你认为不需要的东西都不要编译到内核,比如业余电台,scsi,I20,IrDA,isdn,bluetooth.最后保存为.config后退出。

make dep(设置依赖关系)

make bzImage(建构内核)

make modules 通常情况下将所有要用到的模块编译进内核,因此,这一步可以省略。

至此,你已得到了linux内核镜像文件在/usr/src/linux-2.4.22/arch/i386/boot/目录下。

4.编译得到rtlinux模块

cd /usr/src/rtlinux-3.2-rc

make clean

make menuconfig 内核选项取默认值即可

make dep

make modules

make devices 用来在系统的/dev/目录下生成相应的设备文件,

make install

此时,你在/usr/src/rtlinux-3.2-rc/modules/下得到编译好的rtlinux模块。

5.根文件系统的制作

制作根文件系统前,我们先要解决一个问题:因为一个根文件系统要实现基本的功能,必须包括一些常用工具:如:sh,ls,cd,cat…… 但是常用工具会占用很多空间,要是用原

来系统中的这些命令,就是全部用静态编译,不是用动态连接库,大概也要有2MB~3MB,体积过于庞大。因此我们我们的解决的方案是使用BusyBox工具。BusyBox 它包含了七十多种Linux 上标准的工具程序,只需要的磁盘空间仅仅几百k 。在嵌入式系统上常用到它。

5.1建立BusyBox

首先我们从官方网站上下载BusyBox的较新版本:busybox-1.00-rc3.tar.gz并且解开

#tar zxvf busybox-1.00-rc3.tar.gz

为了压缩空间,我们采用静态编译,修改Makefile 中的DOSTA TIC 参数为true

DOSTA TIC=true

然后修改BusyBox 中的init.c,设定系统要执行的第一个程序为: /etc/rc.d/rc.sysinit

#define INIT_SRCIPT "/etc/rc.d/rc.sysinit"2

开始编译BusyBox

#make menuconfig 根据实际情况来决定各编译选项,以尽量减少编译后大小。

#make

#make install

到这一步我们就得到了可执行命令busybox

解决了这个问题后,我们可以开始制作根文件系统

5.2制作根文件系统

首先为根文件系统建一个目录叫做doc,然后进入doc目录内

# mkdir doc

# cd doc

然后为root filesystem 建立一些标准的目录

# mkdir dev etc etc/rc.d bin proc mnt tmp var

# chmod 755 dev etc etc/rc.d bin mnt tmp var

# chmod 555 proc

# ln -s sbin bin

然后进入/dev 目录下建立根文件系统必须的一些设备文件。

建立一般终端机设备

# mknod tty c 5 0

# mkdir console c 5 1

# chmod 666 tty console

建立VGA Display 虚拟终端机设备

# mknod tty0 c 4 0

# chmod 666 tty0

建立RAM disk 设备

# mknod ram0 b 1 0

# chmod 600 ram0

建立floppy 设备

# mknod fd0 b 2

# chmod 600 fd0

建立null 设备

# mknod null c 1 3

# chmod 666 null

相关文档
最新文档