- 论坛徽章:
- 0
|
原文请看参考:
http://wiki.osuosl.org/display/LNX/M...+CD+for+Debian
引言
我们要想通过‘apt-get source boot-floppies’来认识如何定制CD镜像并不是容易的事。我仅仅想创建一个带有我所需要的且含有新驱动程序的网络安装盘,从而可以在我的机器上安装Debian。
最初我想添加对LSI Fusion MPT控制器的支持,因此我必须重新创建ISO文件从而可以通过其中的任一控制器来启动。在此期间,我又添加了如tigon3(不知是什么东西),e1000等驱动程序。此时它们都已成为内核的一部分,因此我们的下一步工作是升级内核并将内核添加到CD中。
你完全可以按照下面列出的步骤来做。令人高兴的是,V.J. McIntyre写了一个神奇的shell脚本来自动完成这些操作,懒人有福了!!不过不要忘记谢谢V.J. McIntyre噢!Thanks V.J.!!
创建ISO文件
我是通过下面的方法来创建ISO文件的:
在此推荐大家使用内核工具’make-kpkg’来创建新的内核包。这样你不但拥有一个为启动盘而定制的内核而且还是可以随处使用的包文件。
先通过menuconfig|xconfig||config来定制内核然后运行
make-kpkg --append-to-version='-bf2.4' kernel_image
建立内核包。
接下来获取你在上面所建立的内核文件,需要用到boot-floppies里root文件夹中的kernel.sh脚本:
./kernel.sh . 2.4.25 bf2.4
这里的2.4.25是你的内核版本号。在这一步将会在当前目录中建立好几个文件如:configbf2.4.gz, sys_mapbf2.4.gz, linuxbf2.4.bin, modcontbf2.4 以及modulesbf2.4.tgz。
如果你在运行过程中遇到麻烦,你可以下载我修改的kernel.sh.
./kernel.sh命令在目录问题上可能会出错。所以你确保你的内核文件直接位于boot-floppies目录。
现在你就可以使用你刚刚建立的文件来创建自己的CD。
获取mini-iso.sh并将它放到boot-floppies的源目录root下。
进入到你的boot-floppies目录并执行:
./mini-iso.sh bf2.4
http://debian.oregonstate.edu/debian
yes
通过上面这一步我们可以从
http://debian.oregonstate.edu/debian处下载bf2.4
boot / root / drivers / rescue及basedebs等文件并可以创建bootbf2.4.iso文件。
同时你可以看到它也下载了resc2880bf2.4.bin文件 ,这个文件是磁盘营救镜像。用下面的方法挂载此文件:
mount -t auto -o loop resc2880bf2.4.bin /var/tmp/bf2.4
你需要一些特别的内核选项才可以挂载.bin文件,也就是CONFIG_BLK_DEV_LOOP, CONFIG_MSDOS_FS and CONFIG_FAT_FS等。你可以使用我的内核设定。如果你还不能挂载那极有可能是因为你没有添加对msdos文件格式的支持。
一旦挂载成功,我们需要复制由./kernel.sh生成的linuxbf2.4.bin文件至/var/tmp/bf2.4/linux.bin,然后用sys_mapbf2.4.gz和configbf2.4.gz来替换/var/tmp/bf2.4目录下的sys_map.gz、config.gz两文件。针对你的内核版本你可能需要编辑/var/tmp/bf2.4/install.sh文件,同时不要忘记编辑/var/tmp/bf2.4/debian.txt文件中的内核版本号。
现在你可以卸载/var/tmp/bf2.4并复制resc2880bf2.4.bin文件到boot-floppies源目录(这里指的是在挂载前,你是从boot-floppies移动的resc2880bf2.4.bin文件)
当你运行mini-iso.sh脚本时,还有另外一个下载下来的文件,那就是driversbf2.4.tgz。取得此文件并将它放到一个临时的目录,然后用
tar zxf driversbf2.4.tgz
将其解开。在此目录中,你将复制modcontbf2.4和modulesbf2.4.tgz来代替modcont和modules.tgz,通过
tar zcf driversbf2.4.tgz *
命令行重新建立driversbf2.4.tgz(不要忘记删除原有的driversbf2.4.tgz文件,否则此文件也会包含在新建的driversbf2.4.tgz文件中)
你可以点击下面的链接来查看其它的一些相关信息:
http://www.debian.org/releases/stabl...replace-kernel
如果你认为有必要替换修复软件中的内核,你必须在新内核中配置以下特性而不是简单的引导模块:
RAM disk support (CONFIG_BLK_DEV_RAM)
Initial RAM disk (initrd) support (CONFIG_BLK_DEV_INITRD)
Kernel support for ELF binaries (CONFIG_BINFMT_ELF)
Loop device support (CONFIG_BLK_DEV_LOOP)
FAT, Minix, and Ext2 file systems (some architectures don't need FAT and/or Minix file systems ? see the source) For Intel x86, Minix file support is not required, but MSDOS and ext2 are.
Socket filtering for DHCP (CONFIG_FILTER)
Packet socket, also for DHCP (CONFIG_PACKET)
Unix domain sockets for system logging ? is provided as a module in the vanilla flavor (CONFIG_UNIX)
注意:要确保你计划使用的内核中为要使用CONFIG_DEVFS设置。CONFIG_DEVFS与安装程序(installer)不兼容。
最后,请参看build your own custom kernel now。
Good luck!!!
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/2542/showart_67563.html |
|