首页>计算机>Linux认证>应用技术>正文
如何把Linux内核放进软盘里

www.zige365.com 2007-8-21 17:01:36 点击:发送给好友 和学友门交流一下 收藏到我的会员中心
笔者的同事最近在测试AMD 64bit CPU时,遇到这样一个问题:当插入含有AMD官方软件Maxpower64的软盘后,系统提示不能引导。关于这个软件AMD公司提供的信息很少,只知道它必须在linux环境下执行。所以笔者打开软盘,发现里面只有两个文件:syslinux.cfg,Maxpower64,这样问题就明确了,靠这两个文件是无法引导进入linux系统的,更不用说执行Maxpower64。下面我就介绍一下如何修复这个软件,使得它可以正常使用。

    我们首先要得到一张可以引导进入linux环境的软盘,这种软盘必须由两部分组成,即内核和根文件系统。我们首先制作一个内核。

    内核的编译

    要把内核部分放到一张1.44MB的软盘上去,通常要对内核进行压缩,压缩内核的最好方法是进行重新编译内核,将一些不必要的支持去掉,如对网络和其它周边设备的支持,重要的一点是记住内核必须支持RAMDISK及ext2,否则系统不能正常引导。编译之前请确认您是以root的身份在进行操作,否则会返回Permission Denied的提示。

    首先要到合适的编译路径,一般路径都在/usr/src/Linux,RH9的路径是在/usr/src/Linux-2.4,只有在这个路径你的命令才会生效。否则会显示

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

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

    接下来执行#make  menuconfig 开始配置内核,把你认为不需要的东西都不要编译到内核,比如业余电台,scsi,I20,IrDA,isdn,bluetooth.最后保存为.config后退出。

    再接下来就依次执行以下命令:

    #make  dep  (设置依赖关系)

    #make  clean  (准备要建构的源码树)

    #make  bzImage  (建构内核 )

    #make  modules ( 配置模块)

    #make  modules_install  (使用配置的模块)

    #make  install  (把新的内核和相关文件复制到正确的目录)

    执行到这里,在/boot下会看到名字为vmlinuz-2.4.22custom的文件。这就是我们编译得到的内核。如果它的size大于1.44M,那就得重新编译,再去掉一些不需要的东西,直到内核小于1.44M,为了便于记忆,我们不妨将它重新命名为newkernel,接下来我们紧接着制作根文件系统。

    根文件系统的制作

    制作根文件系统前,我们先要解决一个问题:因为一个根文件系统要实现基本的功能,必须包括一些常用工具:如:sh,ls,cd,cat…… 但是常用工具会占用很多空间,要是用原来系统中的这些命令,就是全部用静态编译,不是用动态连接库,大概也要有2MB~3MB,放不进软盘。因此我们我们的解决的方案是使用BusyBox工具。BusyBox 它包含了七十多种 Linux 上标准的工具程序,只需要的磁盘空间仅仅几百 k 。在嵌入式 系统上常用到它 (例如 Linux Router Project 和 Debian boot floppy就使用到它)

    建立 BusyBox

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

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

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

    DOSTATIC=true

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

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

    开始编译BusyBox

    #make

    #make install

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

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

    制作根文件系统

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

    # mkdir floppy-Linux

    # cd floppy-Linux

       然后为 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

本新闻共4页,当前在第1页  1  2  3  4  

我要投稿 新闻来源:Linux技术中坚站 编辑: 作者:
相关新闻
红旗linux认证模拟题库仅供参考(1)
红旗linux认证模拟题库仅供参考(2)
红旗linux认证模拟题库仅供参考(3)
红旗linux认证模拟题库仅供参考(5)
红旗linux认证模拟题库仅供参考(6)
红旗linux认证模拟题库仅供参考(7)