用sysLinux引导
依次执行:
# mkdosfs /dev/fd0
# sysLinux /dev/fd0
编辑 sysLinux 的组态档 sysLinux.cfg,内容如下
TIMEOUT 20
DEFAULT Linux
LABEL Linux
KERNEL newkernel
APPEND root=/dev/ram0 ro initrd=Image.gz
然后将 sysLinux.cfg、newkernel、Image.gz 拷贝到磁盘中
# mount /dev/fd0 /mnt/floppy
# cp newkernel /mnt/floppy
# cp Image.gz /mnt/floppy
# cp sysLinux.cfg /mnt/floppy
#umount /mnt/floppy
整合完成!
直接引导
依次执行:
# dd if=newkernel of=/dev/fd0 bs=1k
252+1 records in
252+1 records out
在这个例子中,dd 写入了 252 个完整记录(records) + 1个partial record ,所以内核占用了 253 个软盘的 blocks 。这个数字称为 KERNEL_BLOCKS ,请记得它,这个数字还要使用.
#rdev /dev/fd0 /dev/fd0
#rdev -R /dev/fd0 0
#rdev -r /dev/fd0 VALUE
在这里这个VALUE的值应为16384+ KERNEL_BLOCKS(上一步dd 命令所产生的数值)
所以本例应为:#rdev -r /dev/fd0 16637
#dd if= root system file of=/dev/fd0 bs=1k seek=KERNEL_BLOCKS
在这里这个KERNEL_BLOCKS就是上一步dd 命令所产生的数值
所以本例应为:dd if= Image.gz of=/dev/fd0 bs=1k seek=253
整合完成!
现在我们就拥有了一张可以自激活到Linux环境的软盘。对于本例来讲,想要执行AMD官方测试软件Maxpower64,只要将Maxpower64这个可执行文件复制到 /bin目录就可以了。我们可以在“使用BusyBox制作常用命令“这个阶段来完成它.
# cp Maxpower64 /floppy-Linux/bin
这张软盘会自激活到linux环境下,并显示“#”命令提示符,我们只要执行Maxpower64就可以了。
#/bin/Maxpower64
如果希望系统一开机就直接执行Maxpower64,则需要在“编辑有关的 shell script”这个阶段编辑rc.sysinit文件为:
#!/bin/sh
mount –a
/bin/Maxpower64
这样软盘引导进入linux后会直接执行Maxpower64而不再显示“#”命令提示符。
小结
除了以上的方法,我们也可以通过引导器给内核传递参数来实现内核和根文件系统分别放置在不同的软盘上,这样内核就可以再大一些,支持的功能也就越多。总之制作一张包含小型linux的软盘并不困难,关键是要细心和耐心,此外最好能够了解BusyBox和RAMDISK的工作原理,这对于更好的完善系统是有很大帮助的。 |