Chinaunix首页 | 论坛 | 博客
  • 博客访问: 243251
  • 博文数量: 33
  • 博客积分: 3030
  • 博客等级: 中校
  • 技术积分: 500
  • 用 户 组: 普通用户
  • 注册时间: 2007-03-09 17:49
文章分类

全部博文(33)

文章存档

2011年(1)

2010年(1)

2009年(10)

2008年(21)

我的朋友

分类: LINUX

2009-04-15 15:07:59

最后项目参考的原文地址:

这几天,从看到这篇文章开始,我不断地在一个8G的u盘上折腾。

一、
先是在fat文件系统上安装老毛桃WinPE和 puppy Linux,是参考的下面文章:


http://hi.baidu.com/sun5768/blog/item/127fc0087bf76236e8248843.html

具体安装的过程和文章中说的有一点区别,就是原来u盘上已经格式化过了,所以在安装的第一阶段不需要格式化,只需要直接关闭提示格式化的窗口就可以,而且,成功的经验是先安装puppy linux,按照puppy主页上的说明和提供的工具安装,把中文补丁pet文件放在u盘中,进入puppy后双击pet文件安装补丁(中文还是非常难看)。puppy linux安装好以后再安装老毛桃winpe,不格式化,直接安装,由于老毛桃winpe用的是grub4dos来引导系统,因此在它的grub菜单上选择第一个硬盘一个分区就可以进入puppy linux。这样,一个win/linux双系统的u盘就好了。

二、
然后感觉在fat上装linux不爽,于是打算象硬盘那样在u盘上分2个分区,一个fat32文件系统,一个ext3文件系统或reiserfs文件系统,但是,试验下来不行,不过这是前天的事了,当时可能有些东西没做对,现在看来不一定不行,这个以后再试。

于是开始想单独装一个linux的liveusb,网上介绍livecd的文章很多,参考了几篇介绍制作liveusb文章,基本上都是讲如何利用livecd镜像转成liveusb的,文章如:


文章中的文字未必全部正确或与你的现实情况相吻合,因此需要仔细观察后做必要的调整。特别是sir上的这篇文章,很好的说,其中用rsync来同步的方法在后面的安装过程中起了很大的作用:


但是,这个过程中出了一个问题,如果按部就班的安装,当然是完全可以用的。但是,我又要说但是了,如果想要用getoo-live-usb这篇文章中的办法来通过释放image.squashfs来更新镜像中的内容,然后重新打包的话,在我目前的gentoo系统下就不行了,原因就是下载下来的gentoo的livecd的2008版中的内核只支持squashfs的3.1版,而我系统里的内核2.6.29中的squashfs已经是4.0版了,要命的是它不向下兼容,有此造成在当前系统内无法用mount -o loop的方法来挂载这个镜像文件,更不要说修改里面的内容了,所以只能用squashfs-tools工具来想办法,但是,工具中unsquashfs命令解包出来的内容,再用mksquashfs打包回去的话,livecd原来的内核就不能识别了,3.1本来就无法识别4.0的版本。image.squashfs镜像就识别不出来,于是考虑用升级替换镜像内核的办法,但是,livecd内的镜像系统好像有很多限制,被mask了很多东西,于是造成不能升级到最新的内核,搞来搞去,我觉得,与其这样搞法,还不如自己直接做一个gentoo的liveusb。

三、
于是放弃升级image.squashfs的想法,而是直接动手做一个基于gentoo的liveusb。思路很简单,就是用硬盘安装gentoo的办法,先在/mnt/gentoo下装一个gentoo,思路如sir上的文章,但在格式化时要注意,只能选择vfat/ext2/ext3文件系统,因为安装的时候要用到syslinux附带的一个命令extlinux,syslinux默认就是在vfat文件系统上通过squashfs镜像来制作liveusb的工具,而extlinux命令则能支持ext2/ext3文件系统。但是其他文件系统还不支持。安装好后其实是一个完整的目录结构,但是live下不需要这么多的东西,所以要用到sir上文中提到的一个很好的办法:

#rsync -a --delete --progress --exclude "var/tmp/*" --exclude "var/cache/*" --exclude "*.h" --exclude "usr/portage" --exclude "etc/portage" --exclude "usr/share/doc" --exclude "usr/src" 源目录 目的目录

然后再把目的目录打包成squashfs镜像,然后依照文章中的步骤,最后做成一个iso文件。用虚拟机测试这个iso文件,如果可以引导成功的话,那么就成功一半了。后面是准备把这个livecd的iso转成liveusb,关键还是要用到extlinux命令。发行版的livecd挂载出来都可以看到里面有一个叫isolinux的目录,从livecd到liveusb的转换中关键就是动这个目录的手术,其实这个目录就是系统里的/boot,里面装的就是kernel/initrd/System.map和grub这样的引导文件,所以找出对应关系很容易,照着改就可以,isolinux目录下有一个isolinux.cfg文件,在liveusb中要改名成extlinux.conf,书写格式和grub.conf相似,容易掌握:

default gentoo
timeout 150
prompt 1
label gentoo
  kernel vmlinuz
  append root=/dev/ram0  dokeymap looptype=squashfs loop=/image.squashfs  cdroot initrd=initrd vga=794

其中kernel后的vmlinuz实际是你系统内编译出来的内核,initrd=后的initrd实际是genkernel命令执行后在/boot下生成的initrd开头的文件,可以用genkernel --integrated-initramfs单独生成。extlinux.conf文件一定要放在/boot下,这个和/boot/grub/grub.conf是不一样的。这样,在执行了

extlinux -i ./boot

后,liveusb就做好了,当然,liveusb里有多少功能,那需要你在安装和配置gentoo的时候做好,这里面的过程比较复杂,有人喜欢通用型的,有人喜欢专向型的。当然,无论是livecd还是liveusb,都有一个很大的缺点就是更新起来麻烦,需要在机器下挂载,解包,升级,配置,重新打包等等。

四、
于是,继续折腾,回到shelleX的文章,不过,我不重新安装debian了,我的机器上还有一个ubuntu,用来救急的,平时不用,难般升一次级。这次直接拿来用用。同样用ext3文件系统,用rsync同步,我觉得这个比cp好,将来维护更新起来也方便。模仿顶部链接的文章中做,e2label /dev/sdb1 qdh,这个加标签的动作后来使我联想到,其实无论哪个系统中,都存在一个自动识别的问题,livecd或liveusb中之所以这个问题不突出,关键是他们都用一个镜像来解决,引导部分用了/dev/ram0,这些都是相对固定的,不像硬盘/u盘,在不同主机上可能被识别成不同的名字,所以需要用标签来解决问题。

然后是一个安装grub的问题,我试下来不要象文章中那样chroot后再grub-install,而是不要chroot,直接在主系统里用:

grub-install --root-directory=/mnt/usb /dev/sdb

然后修改usb上的fstab、grub.conf等文件,要注意的是,在主机系统里u盘在/dev/sdb,也就是(hd1)的位置,但是要把u盘里面的grub.conf中的root 后面修改成(hd0,0),否则是不能引导成功的,因为用liveusb引导时,它对机器而言是第一个设备。这样一个usb上的linux系统就装好了,测试下来很成功。不过,u盘上的运行速度还是不能和我主机上的速度相比。


五、
现在u盘上装的是SystemRescueCd和老毛桃winpe,SystemRescueCd是基于gentoo的livecd,在u盘上,先把SystemRescueCd装成liveusb,文章可以参看gentoo的相关文章,文件系统用fat32。然后在windows下安装老毛桃winpe,不格式化,安装引导程序时选择上“优先引导原来的mbr”,否则SystemRescueCd就不能被引导。老毛桃winpe的安装是隐式的。装好后,用u盘引导启动机器,会有一行提示,按空格键进入winpe的grub,按其他键就进入SystemRescueCd。现在唯一遗憾的是SystemRescueCd不认中文,而且由于squashfs版本的问题,不能直接在自己的gentoo上处理。明后天想想办法。


六、
折腾了几天,开始搞中文支持的过程是比较顺利的,只能看中文,把字体加上去了,增加了xfs服务。而且整个体积还是能够控制在280多M,但是,要增加中文输入太困难了。xorg变得太多了,1。5和1。4严重不匹配,遗憾呀,只能等等看了,过几天再说。

http://hi.baidu.com/sun5768/blog/item/127fc0087bf76236e8248843.html
装系统前的准备

菜鸟成长手册:没有光驱如何装操作系统 菜鸟成长手册:没有光驱如何装操作系统
一个能启动电脑的U盘和一个系统的光盘镜像

  在安装系统前,需要准备好一些东西。一个是操作系统的镜像,另一个就是能启动的U盘。下面我们就来讲解怎么安装 deepin版的XP系统。

注:读懂本文需要了解安装操作系统的一些基础知识。

● 首先是制作一个能启动电脑的带WindowsPE的启动U盘

  先到网上去下载一个叫“老毛桃WinPE”的工具到硬盘里,再把U盘接在电脑上,然后按下面的步骤一步步来就可以制作 一个能启动的U盘了。

菜鸟成长手册:没有光驱如何装操作系统(2)
选第4项,然后回车

菜鸟成长手册:没有光驱如何装操作系统(2)
输入U盘的盘符,然后回车

菜鸟成长手册:没有光驱如何装操作系统(2)
来到格式化步骤,按默认的设置,点“开始”就行

菜鸟成长手册:没有光驱如何装操作系统(2)
顺利格式化

菜鸟成长手册:没有光驱如何装操作系统(2)
引导部分

  这里要说明一下,在“设备”里有两个选项,一个是电脑的硬盘,一个是要制作的U盘。这里一 定要选对U盘而别选错硬盘,从大小就能分出来哪个是U盘。笔者的U盘是2G的,所以应该选择(hd1)[1898M]。下面的“选项”部分可以不用管,默 认不勾选任何参数就行。确认好以上步骤后,点“安装”然后进行下一步。

菜鸟成长手册:没有光驱如何装操作系统(2)
写入引导完毕,按任意键继续

菜鸟成长手册:没有光驱如何装操作系统(2)
要给启动U盘设个密码

  本来笔者不想设置启动U盘的密码,但这个步骤不能跳过,所以没办法只好设了一个密码。设置 完后,一定要牢记你设好的密码,否则启动U盘会无法使用。

菜鸟成长手册:没有光驱如何装操作系统(2)
制作完毕

  当你完成以上步骤后,恭喜,一个具有启动功能的U盘已经来到你的身边。你再也不用心烦没有 光驱不能从光驱启动了,因为以后你可以从U盘启动再安装操作系统!想知道怎么操作吗?下一页就开始。


阅读(3190) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~