您的位置 首页 厂商

把Linux放进软盘里

把Linux放进软盘里笔者的同事最近在测试AMD 64bit CPU时,遇到这样一个问题:当插入含有AMD官方软件Maxpower64的软盘后,系统提示不能引导。关于这个软件

Linux放进软盘

笔者的搭档最近在测验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 开端装备内核,把你以为不需要的东西都不要编译到内核,比方业余电台,csi,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

树立 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

到这儿咱们就有了一个开始的小型根文件体系,可是还需要装备一些有关的 shell script来完善它。

修正有关的 shell script

首要进入到 /floppy-Linux/etc/ 这个目录下修正 inittab,rc.d/rc.sysinit,fstab这三个文件 ,内容别离如下:

inittab

::sysinit:/etc/rc.d/rc.sysinit

::askfirst:/bin/sh

rc.sysinit

#!/bin/sh

mount –a

fstab

proc /proc proc defaults 0 0

然后修正inittab,rc.sysinit,fstab这三个文件的权限

# chmod 644 inittab

# chmod 755 rc.sysinit

# chmod 644 fstab

装备完shell script后,咱们注意到这些shell script会运用一些 /bin目录下的指令,可是咱们的/bin目录下是空的。现在咱们就运用BusyBox来制造这些常用指令。

运用BusyBox制造常用指令

将busybox 复制到软盘的/bin目录下,而且改名为init

# cp busybox /floppy-Linux/bin/init

然后创立常用指令的link,详细的作业原理请参阅busybox的官方阐明。

# ln -s init ls

# ln -s init cp

# ln -s init mount

# ln -s init umount

# ln -s init more

# ln -s init ps

# ln -s init sh

现在咱们就有了所需的常用指令。

到这儿咱们的根文件体系就制造完成了,可是和内核相同,要把根文件体系部分放到一张1.44MB的软盘上去,也要进行紧缩,下面咱们就着手紧缩它。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/changshang/300774.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部