1.解压archiso_pata.img文件
archiso_pata.img文件在光盘的/boot文件夹里面,取得它,然后操作步骤是:
代码:
mkdir initrdHack
cp archiso_pata.img initrdHack/archiso_pata.img.gz
cd initrdHack
gzip -d archiso_pata.img.gz
sudo cpio -i --no-absolute-filenames < archiso_pata.img
sudo rm archiso_pata.img
archiso_pata.img 文件是个先用gz格式压缩了的,再用cpio压缩了的文件系统。这里用上面的命令把它解开,注意在执行cpio命令的时候一定要加--no- absolute-filenames,如果不加,所有的文件会覆盖根文件系统,你用的那个linux就挂啦~
成功以后,initrdHack文件夹里面有这一个基本的文件系统的目录结构。
启动的流程差不多是启动时执行init脚本,它里面有引导到真正系统的全部流程。大概看看这个脚本,看到第66行就知道,在启动过程中执行了hooks文件夹里面一系列hook文件来加载一系列的准备操作。我们看看hooks文件夹里面会发现有个archiso文件。它就是关键。
2.修改archiso这个hook文件
读读archiso文件,可以知道它的工作正是找到光驱,然后把它里面的内容挂载,再启动系统。
用我改好的archiso中的内容替换掉原来archiso中的内容。
3. 生成新的archiso_pata.img
搞定了archiso这个hook,清除掉hooks文件夹下面的临时文件,然后回到initrdHack目录里执行:
代码:
sudo find . | cpio -o -H newc > ../archiso_pata.img
cd ..
gzip -c archiso_pata.img > archiso_pata.img.gz
mv archiso_pata.img.gz archiso_pata.img
cpio接受目录树的文件列表,把他们压缩到一个img文件里面。然后把这个img文件用gzip压缩,最后重新再命名成img文件。这好像是initrd文件的约定。
注意find . | cpio -o -H newc > ../archiso_pata.img 这句里我把生成的文件放在了外面而不是直接放在里面,放里面生成的文件的大小是不对的。不过我还不知道原因,有同学知道可以告诉我阿.
4. 看看搞定没有
把生成的新archiso_pata.img连同VMLINZ26内核文件和archlinux.iso一起放在sda3根目录下面。VMLINZ26也放在光盘里的/boot文件夹下面。
找个可以用的grub,进去的时候点c,进入命令行,输入
代码:
root (hd0,2) #sda3是hd(0,2)
kernel /VMLINZ26
initrd /archiso_pata.img
就搞定拉~
参考
http://www.linuxsir.org/bbs/thread347396.html
archlinux 2009.08硬盘安装DIY
- syrano
- 帖子: 4313
- 注册时间: 2007-10-06 18:40
archlinux 2009.08硬盘安装DIY
E=m c^2
- gza633
- 帖子: 799
- 注册时间: 2009-03-13 14:26
- qiang_liu8183
- 论坛版主
- 帖子: 10699
- 注册时间: 2006-09-10 22:36
- 系统: Arch Debian
- 来自: 北京
- adam8157
- 帖子: 2794
- 注册时间: 2009-03-05 16:31
- 联系:
Re: archlinux 2009.08硬盘安装DIY
为什么总要想法改hook识别iso?
直接引导那个内核 iso里面那个镜像放出来就ok啊....
http://www.linuxsir.org/bbs/thread347370.html
arch,puppy这样的都是引导后挂载根镜像 光盘怎么启动,硬盘和U盘也怎么启动嘛,介质不同而已
不像debian,加载的是安装模块而不是根镜像,而且不同的引导内核找安装模块的地方也不一样...
直接引导那个内核 iso里面那个镜像放出来就ok啊....
http://www.linuxsir.org/bbs/thread347370.html
arch,puppy这样的都是引导后挂载根镜像 光盘怎么启动,硬盘和U盘也怎么启动嘛,介质不同而已
不像debian,加载的是安装模块而不是根镜像,而且不同的引导内核找安装模块的地方也不一样...
- syrano
- 帖子: 4313
- 注册时间: 2007-10-06 18:40
Re: archlinux 2009.08硬盘安装DIY
2009.08的hook中的archiso和2009.02中的不一样, 没有用于U盘和硬盘的代码.adaml 写了:为什么总要想法改hook识别iso?
直接引导那个内核 iso里面那个镜像放出来就ok啊....
http://www.linuxsir.org/bbs/thread347370.html
arch,puppy这样的都是引导后挂载根镜像 光盘怎么启动,硬盘和U盘也怎么启动嘛,介质不同而已
不像debian,加载的是安装模块而不是根镜像,而且不同的引导内核找安装模块的地方也不一样...
肉测无效.
E=m c^2
- HuntXu
- 帖子: 5776
- 注册时间: 2007-09-29 3:09
Re: archlinux 2009.08硬盘安装DIY
还真想装下...无奈没机会了...=.=
有个现成系统就只想着chroot装系统了...
用arch真惨...连装新系统都是奢望...
有个现成系统就只想着chroot装系统了...
用arch真惨...连装新系统都是奢望...
HUNT Unfortunately No Talent...
- 黄美姬
- 帖子: 8428
- 注册时间: 2009-10-08 11:15
- 来自: 大城市铁岭
Re: archlinux 2009.08硬盘安装DIY
我们是命运的妓女,它把我们都嫖了
N卡驱动:http://www.nvidia.cn/Download/index.aspx?lang=cn
极品飞车:http://www.geforce.cn/optimize/optimal- ... ts-450-ops
孤岛危机优化设置:http://www.geforce.cn/optimize/optimal- ... tx-450-ops
终端彩色:cp /etc/skel/.bashrc ~/
PS1="\[\e]2;\u@\H \w\a\e[32;1m\]\T$\[\e[0m\] "
http://cdimage.ubuntu.com/
http://releases.ubuntu.com/
N卡驱动:http://www.nvidia.cn/Download/index.aspx?lang=cn
极品飞车:http://www.geforce.cn/optimize/optimal- ... ts-450-ops
孤岛危机优化设置:http://www.geforce.cn/optimize/optimal- ... tx-450-ops
终端彩色:cp /etc/skel/.bashrc ~/
PS1="\[\e]2;\u@\H \w\a\e[32;1m\]\T$\[\e[0m\] "
http://cdimage.ubuntu.com/
http://releases.ubuntu.com/