slax linux引导盘与dos引导盘的整合

  近来一直帮朋友安装系统,开始在安装的时候都是帮朋友重新分区,我的习惯一直是从硬盘安装windows系统,而且在WINDOWS的系统盘上保留DOS,这样方便以后的恢复。可是手头的工具盘已经很破了,都是4年前做的DOS引导光盘。
  后来看到slax linux的引导光盘很不错,小巧,速度也快,slax linux是从slackware linux裁减而来,系统的配置类似freebsd,这是我选择它的一个非常重要的原因。就想能否把dos和slax整合在一起,这样也可以快速分区, format分区,同时可以利用linux来利用网络连接其它的计算机。
     想到就动手开始干了,把最新的slax linux光盘下载下来,才50多兆,然后使用winrar解压这个iso文件,整个的光盘目录就出来了。发现slax 用的是syslinux来做启动,查了些资料,syslinux可以引导dos软盘镜像的。不过需要memdisk,这个文件是在内存中虚拟一个磁盘,把dos的img文件放在虚拟磁盘上执行的。在slax的modules里有syslinux的模块包下载,操作步骤如下:
1.将下载的syslinux.mo放在解压后的modules中
2.进入DOS提示符,敲入make_iso c:\slax.iso
3.利用vmplayer来加载这个光盘镜像,启动slax
4.进入虚拟机的linux,配置好网络,利用find -name "memdisk"找到memdisk文件。
5.在虚拟机中利用FTP上传或者在WINDOWS下利用FTP从虚拟机中下载这个文件。
将memdisk放在解压后的光盘根目录,然后把找到的dos7.1工具盘镜像(dos.img)放在boot目录下,修改isolinux.cfg,改为如下的形式:

display boot/splash.cfg
default dos
prompt 1
timeout 40
F1 boot/splash.txt
F2 boot/splash2.txt
F3 boot/splash.cfg
label dos
kernel memdisk
append initrd=boot/dos.img

label slax
kernel boot/vmlinuz
append vga=769 changes=slaxsave.dat max_loop=255 initrd=boot/initrd.gz init=linuxrc load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=4444 root=/dev/ram0 rw

label memtest
kernel boot/memtest

  修改好文件以后,需要对当前的slax进行扩充,下载了python(方便以后利用它来写些小的使用程序),namp(做网络扫描),tcpdump (网络监听),vim(非常棒的编辑器),vsftpd(FTP服务软件),这些都是以二进制模块的方式放在modules文件夹下,还需要一个好用的 FTP客户端软件,自我感觉lftp不错,可是slax的网站上没有提供这个软件的mo文件。看了下文档,发现可以利用slackware的tgz安装包来直接制做,到slackware的网站下载了lftp的tgz,在vmplayer里启动slax.iso文件,下载到系统里,使用tgz2mo就可以转换过来了,然后上传到windows系统里,把转换好的lftp.mo文件放在modules文件下。 
  现在slax下的软件已经备齐了,顺便把DOS下的DM分区工具,ghost工具也全部拷贝到了这个文件夹里。好了,一切就绪,在WINDOWS的 DOS命令符下敲入make_iso c:\slax.iso,一张整合了DOS启动盘,扩展的slax光盘就出来了,按照上面的配置,默认是启动到dos的,我们也可以在提示符下敲入 slax来启动linux,如果进入了dos,可以切到光盘的盘符,假设光盘盘符为C: ,那么做如下操作:

A:\>c:
c:\>cd boot\DOS
c:\boot\DOS\>linux

我们的slax又照样的启动起来了。
整个光盘的目录如下:

│  COPYING
│  LICENSE
│  README
│  autorun.inf
│  changelog.txt
│  cheatcodes.txt
│  filelist.txt
│  livecd.sgn
│  make_disk.bat
│  make_disk.sh
│  make_iso.bat
│  make_iso.sh
│  requirements.txt
│  slaxsave.zip
│  unionfs.html
│  memdisk
│  isolinux.cfg
│  vim.exe
│  
├─base
│      01_kernel.mo
│      02_core.mo
│      03_frodo.mo
│      
├─boot
│  │  initrd.gz
│  │  isolinux.bi_
│  │  isolinux.bin
│  │  isolinux.boot
│  │  memtest
│  │  slax.ico
│  │  splash.cfg
│  │  splash.lss
│  │  splash.txt
│  │  splash2.txt
│  │  vmlinuz
│  │  dos.img
│  │  
│  └─DOS
│          config
│          linux.bat
│          loadlin.exe
│          readme.txt
│         
├─devel
│      slax-build-5.1.8.tar.gz
│      
├─modules
│      Tcpdump_3_9_3.mo
│      Vim_6_3_078.mo
│      nmap_4_11.mo
│      Python_2_4_3.mo
│      vsftpd_2_0_4_i486_1.mo
│      UnRAR_3_6_8.mo
│      bzip2_1_0_3.mo
│      lftp-3.5.4.mo
│      
├─optional
├─rootcopy
│  └─usr
│      └─share
│          └─vim
│                  vimrc
│                  
├─tools
│  │  README
│  │  deb2mo
│  │  dir2mo
│  │  img2mo
│  │  liblinuxlive
│  │  mksquashfs
│  │  mo2dir
│  │  tgz2mo
│  │  unionctl
│  │  uniondbg
│  │  unsquashfs
│  │  uselivemod
│  │  
│  └─WIN
│          config
│          cygwin1.dll
│          mkisofs.exe
│          syslinux.cfg
│          syslinux.exe
│         
└─DM
        DDLOADER.BIN
        DM.COM
        DM.OVL
        DM1.EXE
        DM1.HLP
        DM1.REC
        INI13.exe
        INT13.386
        ONTRACKD.SYS
        ONTRACKW.386
        XBIOS.OVL

  一张功能强大的启动光盘就出来了,一共只有73兆。

来源:http://bbs.chinaunix.net/viewthread.php?tid=852459 

由 npcomet 于 周五, 04/27/2007 - 23:04 提交。

非常好的一篇文章,

非常好的一篇文章,我也正在考虑winPE和slax/fanx的融合。

npcomet 的头像

支持

支持,不过为了体积到时候体积一定会增大的。