|
因为实验室没有linux环境,我写的python软件里边有一个自己写的c++ extension,如果换到windows环境,需要重新编译,vc6里边的一大堆参数看的好烦,而且其中还用到了一个gnu的c++库,到 windows环境下麻烦一大堆,不如自己动手做个移动的linux环境,就是把linux装到移动硬盘上,在机房或者实验室随便找台机器就能跑自己的程序了。
因为有免费的ubuntu的盘,所以就打算在我的40G的移动硬盘上装这个系统,之前都是用的fedora,对debian系统还不是很熟悉,估计反正都差不多吧,顺便对比一下。
把usb硬盘插上电脑,把光盘插入光驱,关机重启,从光盘进入安装界面,一步一步按部就班就可以了,我的usb硬盘划了15G出来,用ubuntu的分区工具自动在空闲分区划分了根分区和swap分区,还挺实用的,比较适合新手,然后把系统安装到usb上,基本上没有让你选的东西,网络可以先不安装,安装到最后一步,安装grub时选安装到/dev/sdaX,X是你的linux分区。然后重启。
继续从光盘启动,boot:rescue模式再次进入安装界面,选择语言后,然后让你选择挂载分区,因为我用的是usb,我的linux分区是usb硬盘的第一个分区,就是sda1,而ide硬盘也已经自动挂载了,所以选分区的时候只能选/dev/discs/disc1/part1,这个需要根据自己的情况修改,然后选execute a shell,启动shell进入关键阶段。
1.修改mkinitrd的module文件,告诉kernel在启动的时候需要加载什么驱动,因为我们用的usb硬盘,必须告诉kernel,usb的驱动,不然没法解开kernel加载;
chroot /target
把当前工作目录换到usb硬盘linux分区上,以后所有的操作都是在这个分区上,而不是rescue系统临时搞出来的ram分区。
然后启动编辑器nano,vi也可以,看你喜欢哪个了,不过我的nano没起来,奇怪的很,我只有用vi了。
vi /etc/mkinitrd/modules
添加下列东东
ehci_hcd
uhci_hcd
ohci_hcd
usb-storage
uhci_hcd和ohci_hcd是usb1.1的驱动
ehci_hcd是usb2.0的驱动
如果使用的机器都是支持usb2.0的,那uhci和ohci可以不加载
注意这里xxx_hcd都是下划线,不要搞错了,我搞了几回都不对就是这个原因。血泪教训阿。不会用vi的话,看看help,基本的还是很容易的,不过进入了vi,键盘的方向键就失去了作用了,hljk分别就是左右上下了,有点别扭,对于我这种用惯了emacs的,实在是折磨。
2 修改模块加载等待时间,让usb驱动模块有足够的时间加载完然后进入系统,否则会出现错误。
vi /etc/mkinitrd/mkinitrd.conf
找到DELAY=0的那行,改为DELAY=10,反正10以上就可以了,10以下据说有问题,我没试过,你有兴趣就试试。
3编译新启动镜像
mount -tproc none /proc
不知道这是干嘛的,反正没有这个命令后面也会告诉你的
mkinitrd -o /boot/initrd.img-<kernel version>-usb <kernel version>
就会根据你的配置生成新的镜像,以后拿这个启动就可以了
如果不知道kerenl version的话ls /lib/modules看看
4更新grub配置
vi /boot/grub/menu.lst
修改默认配置,改成这个样子:
title Ubuntu, kernel 2.6.10-5-386-usb
root (hd0,0)
kernel /boot/vmlinuz-2.6.10-5-386 root=/dev/sda1 ro quiet splash
initrd /boot/initrd.img-2.6.10-5-386-usb
savedefault
boot
hd0是第一个硬盘,刚启动的时候好像是不管ide硬盘的,默认起来usb就是第一个硬盘,因为usb启动嘛,可能主板不一样,会有些差异,我看的别人的帖子是hd1,到了我这儿就不行了 0是第一个分区,对应后面的sda1
保存后重新启动,然后设置bios启动顺序,以usb为第一个启动,保存配置后启动,从usb进去,出现grub界面,选刚才修改的entry进入,呵呵,等上1分钟,就可以进入系统了。
如果发现不成功,重复检查一下上述步骤是否正确。
usb falsh disc我没试过,估计也差不多。
对于fedora core,mkinitrd的命令有些不同,过程更简单一点,不用修改配置文件,安装完系统后,用rescue模式进入,挂载usb硬盘后:
mkinitrd --preload=ehci_hcd --preload=usb-storage --preload=scsi_mode --preload=sd_mode /boot/initrd-usb.gz 2.6.11-1.1369-FC4
然后修改grub就可以了,fedora core的我没有试过,有危险不保证哦
装完Ubuntu,用了一下,硬件驱动很全,起来简单配置一下显卡和无线网卡就可以用了,想当年我在FC4下配个无线浪费了多少青春。显卡估计用的是xorg的vesa,一般的2d驱动可以了,opengl估计还是不行,先放着吧。
然后就是apt-get 狂下载软件了,后面就有的忙了,还是FC省事,安装的时候全部装上了,以后就不麻烦了。
对比起来,Ubuntu适合新手,很多东西默认就安装好了,一般应用足可以了,FC更适合有经验的,很多新的软件很快就会有rpm包,deb的比较少,Enlightenment DR17 yum库的是10月1号的,apt库是9.15号,落后一大截。 |
|