rt-linux没有桌面,配置RTLinux系统
一、下载释放核心源代码从Internet站点上下载了内核文件(2.4.28内核)及补丁(RT-Linux 3.2-rc1),将下载的两个文件放置到/var/tmp目录。1、用tar命令释放内核源代码# cd /usr/src# rm -rf rtlinux#mv rtlinux-3.2-rc1 rtlinux#cd rtlinux# tar –xzvf /var/tmp/linux-2.4.28.
一、下载释放核心源代码
从Internet站点上下载了内核文件(2.4.28内核)及补丁(RT-Linux 3.2-rc1),将下载的两个文件放置到/var/tmp目录。
1、用tar命令释放内核源代码
# cd /usr/src
# rm -rf rtlinux
#mv rtlinux-3.2-rc1 rtlinux
#cd rtlinux
# tar –xzvf /var/tmp/linux-2.4.28.tar.gz
2、将RT-Linux打包到Linux核中。
#mv linux-2.24.28 linux
#cd linux
#patch -p1 < /usr/src/rtlinux/patches/kernel_patch-2.4.28-rtl3.2-rc1
二.配置内核
1、删除源代码目录中残留的.o文件和其它从属文件。
# cd /usr/src/ rtlinux/linux
# make mrproper
2、启动内核配置程序
# make menuconfig
3、配置内核
Linux的内核配置程序提供了一系列配置选项。对于每一个配置选项,用户可以回答"*"、"m"或" "。其中"*"表示将相应特性的支持或设备驱动程序编译进内核;"m"表示将相应特性的支持或设备驱动程序编译成可加载模块,在需要时,可由系统或用户自行加入到内核中去;" "表示内核不提供相应特性或驱动程序的支持。不合理的配置可能造成内核编译失败。
三、编译内核
1、建立编译时所需的从属文件
# make dep
2、清除内核编译的目标文件
# make clean
3、编译内核
# make bzImage (注意大小写)
内核编译成功后,会在/usr/src// rtlinux/linux /arch/i386/boot目录中生成一个新内核的映像文件bzImage。
四、编译可加载模块
如果用户在配置内核时设置了可加载模块,则需要对这些模块进行编译,以便将来使用insmod命令进行加载。
# make modules
# make modules_install
编译成功后,系统会在/lib/modules目录下生成一个2.4.28-rtl3.2-rc1子目录,里面存放着新内核的所有可加载模块。
五、启动新内核
1、将/usr/src/ rtlinux/linux /arch/i386/boot/bzImage文件拷贝到/boot目录下
#cd /boot
# cp /usr/src/ rtlinux/linux /arch/i386/boot/bzImage ./
2、生成镜像文件rtlinux
#mkinitrd rtlinux.img 2.4.28-rtl3.2-rc1
执行成功后会在/boot文件夹下生成rtlinux.img
3、配置/boot/grub/brug.conf文件,在该文件中加入下面几行:
title rtlinux(2.4.28)
root(hd0,0)
kernel /boot/bzImage ro root=/dev/hda1
initrd /boot/ rtlinux.img
保存退出
4、重新启动系统
# reboot
5、重启后进入RTLinux
#cd /usr/src/rtlinux
#make xconfig
按默认选项配置
6、编译RTLinux<
#make
#make devicds
#make install
7、重启后进入RTLinux
在RTLinux中,应确保mbuff,rtl_fifo,rtl, rtl_posixio, rtl_sched, rtl_time等动态加载到RTLinux
内核中。
#rtinux status //查看加载了哪些模块
#rtinux start //加载所有rtinux模块
#rtinux status //确认是否被加载
看到所有模块被加载了,就成功了,否则,重新配置内核。
六、安装RTLinux手册
1、下载rtldoc-3.2-pre1.tar.gz
2、进入/usr/src/ rtlinux/doc下解压缩文件
# cd /usr/src/ rtlinux/doc
#tar –xzvf rtldoc-3.2-pre1.tar.gz
该操作会在/usr/src/ rtlinux/doc目录下创建 doc-3.2-pre1
3、将doc-3.2-pre1下doc中的man添加到MANPATH搜索路径中
方法1)在/etc/man.config文件中加入一行” MANPATH /usr/src/ rtlinux/doc/doc-3.2-pre1/doc/man”
方法 2)在用户主目录的.bashrc文件中加入一行” export MANPATH=$ MANPATH: /usr/src/ rtlinux/doc/doc-3.2-pre1/doc/man”
这样就可以使用”man rtf_create”等命令,用来查看文档了。
七、出现问题
1、启动配置后的系统后,无法解压bzImage。
bzImage出现无法解压的问题,是因为在不会配置内核的前提下,我直接使用了默认的内核,虽然也是make modules,make modules_install,但是内核中的kernel为空,导致无法解压bzImage.
2、启动后,出现”kernel panic : no init found Try init= option to kernel ”,系统停止加载。
出现该问题的原因是在写配置/boot/grub/brug.conf文件,在该文件中kernel /boot/bzImage ro root=/dev/hda1,hda1为/boot挂载点,hda2为/挂载点,应该写的是根目录的挂载点,故因将“kernel /boot/bzImage ro root=/dev/hda1 ”改为“kernel /boot/bzImage ro root=/dev/hda2”。问题解决。
3、启动后,系统加载后,出现“staring system logger”,然后停止响应。
出现该问题的原因是内核配置问题。出现提示是“/var/log/ksys* ”文件为只读文件,不能移动。修改内核,去掉file system中的”/dev file system support ”选项,重新编译后内核启动,系统加载成功。
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)