|
|
原文见我的blog: http://blog.donews.com/6lines/archive/2009/06/14/1519891.aspx 日志里面有几张图片,这儿不贴图还要一张张来,就不贴了。
前一段时间换了一个大一点的硬盘,然后想在上面装一个linux,结果安装grub后总是提示内核镜像的位置已经超过了BISO的寻址范围(升级BIOS后仍然不行,HP的BIOS好像是自己出的...)。想要在本地硬盘上面安装看来是只能是在windows系统分区后面再分两个分区,不过这么一弄分区麻烦不说,所有软件又要重装一遍了(我的软件一般都放在D盘)。想想还不如在一个U盘上面东西都弄好,既可以用来当急救系统也可以做Ghost,而且用PNY的那个薄片U盘,还可以装钱包里随身带着。
好了,废话不多说,计划如下:
1. U盘用PNY 8G的,比较小巧可以随身携带。
2. U盘格式化为linux ext3类型,不说在fat上面装linux觉得怪异,而且fat格式也不支持linux的链接。
3. 用extlinux做BootLoader。
4. Gentoo为这个U盘系统的主要系统,所在直接安装在U盘上,而不是像网上说的那样用光盘版的系统直接拷贝然后用extlinux的changes参数来保存系统变化。
在开始这前先简单介绍一下安装的这几个系统:Gentoo是一个比较轻巧干净的linux发行版,它使用基于源代码分发方式的portage为包管理系统(当然也有预编译的软件),这意味着你可以完全控制你的系统,要装哪些软件不要装哪些软件,一个软件要装哪些模块,还可以针对自己的系统作出优化。BackTrack是一个在安全界备受推宠的专门用于安全检测审计的linux发行版,它里面包含了无数个专门的安全工具,在无线破解方面尤其擅长。slax和puppy是两个轻量级的linux发行版本,slax 200M左右puppy 100M左右,但都包含一个桌面系统和常用的软件。MaxDos v7.1光盘启动版,集成了ghost 11.5, PQ, DM, Windows密码破解等,最主要的是可以用来ghost备份和恢复我的windows系统。
好了,现在一步步开始正式安装,以下安装命令为我安装过后凭记忆写出,如果有不妥之处留言或写邮件到DarkThorn@163.com。
一、准备工作
准备一个网络连接,在安装gentoo及软件的时候我们要用到网络。如果是gentoo新手,然后最好手边有一份gentoo安装手册,在本文中只简单介绍gentoo安装过程。
然后下载软件(不知道下载地址google之):
1. 最新版的Gentoo minimal installation CD、Stage Tarball、Portage Snapshot,我用20090602的那个。
2. 下载光盘版本的BackTrack,我这里用BT4 Beta版。
3. 下载slax linux和puppy linux,然后各自解压到一文件夹下。
4. 下载MaxDOS v7.1光盘版。
5. UltraISO,用来从ISO中提取文件。
6. GDParam,用来获取磁盘镜像文件的c/h/s参数。
下载完成后将Gentoo Minimal Installaton CD刻盘。
二:提取DOS镜像
将下载的maxdos_71plus_iso.rar 解压得到maxdos_71plus_iso.iso,用UltraISO打开镜像文件,提取其中maxdos文件夹下面的maxs.sys文件。将maxs.sys改名为maxs.gz,用winrar打开解压出其中的maxdos.exe文件。最后将解压出的maxdos.exe改名为MaxDOS.img,这就是我们要用的DOS镜像,与上面下载好的软件一起保存好,在安装完gentoo后我们要把他们拷贝到U盘里。
三、安装gentoo
将U盘与gentoo安装盘插入计算机,从光驱启动。启动完成后将U盘分为一个区格式化ext3类型(请将以下命令中的U盘设备号以你自己系统做相应调整):
1. 用fdisk命令将U盘所有分区删除,然后重新建立一个新分区,分区大小为全U盘大小:
#fdisk /dev/sda
Command (m for help): d
Partition number (1-?): 1
在command后面输入p可以查看当前分区状况,一般来说默认U盘只有一个分区,如果有多个分区再重复上面的命令,直到删除完为止。删除完以后新建一个主分区并将其设为可启动:
Command (m for help): n
p
Command (m for help): a
2. 格式化U盘为ext3:
#mkfs.ext3 /dev/sda1
下面可以按手册安装gentoo了,不过要注意的是,如果内存在1G以上我们就不用swap分区了(你也可以在U盘上再划出一个分区做为swap),并且boot分区也不用另分。还有就是我们使用gentoo的genkernel,这样U盘应当可以在不同的机子上使用(当然你也可以拷贝光盘里的内核)。
3. gentoo基本系统安装:
dhcpcd eth0
mount /dev/sda1 /mnt/gentoo
mkdir /mnt/gentoo/boot
cd /mnt/gentoo
(挂载你下载gentoo stage/portage的windows分区,将stage/portage拷贝到当前目录即/mnt/gentoo下)
tar xvfp stage3-i686-20090602.tar.bz2
tar xvf portage-latest.tar.bz2 -C usr
mirrorselect -i -o >> etc/make.conf
mirrorselect -i -r -o >> etc/make.conf
cp -L /etc/resolv.conf etc/
mount -t proc none proc
mount -o bind /dev dev
chroot /mnt/gentoo /bin/bash
env-update
source /etc/profile
export PS1="(chroot) $PS1"
emerge --sync
(if a new portage version is available) emerge --oneshot portage
(if you use vim) emerge vim
vim /etc/locale.gen
(add to the file):
zh_CN GB18030
zh_CN.UTF-8 UTF-8
zh_CN.GB2312 GB2312
zh_CN.GBK GBK
locale-gen
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
emerge gentoo-source
注意,下面的命令与手册上的不同,手册上说的默认的内核配置文件的路径应当是错的,正确的应当是下面命令中的那个路径。在执行前先备份:
(mv /usr/share/genkernel/arch/x86/kernel-config /usr/share/genkernel/arch/x86/kernel-config.bak)
zcat /proc/config.gz > /usr/share/genkernel/arch/x86/kernel-config
genkernel all
将在/boot目录下生成的kernel...与initramfs...名字记下或改个名,我改为vmlinuz和initramfs。
四、完善gentoo基本系统
在/etc/fstab中将根目录挂载如下,将其它的项注释掉:
/dev/sda1 / ext3 noatime 0 1
设置你喜欢的hostname:
vim /etc/conf.d/hostname
如果使用dhcp,并且开机要自动启用,将下一行加入/etc/conf.d/net:
config_eth0=("dhcp")
并执行:
rc-update add net.eth0 default
为系统设置密码:
passwd
其它相应的自己设置即可。
五、安装基本软件
一般来说要安装的软件有syslog-ng, slocate, reiserfsprogs, jfsutils, dhcpcd, ppp等,自己视情况emerge。
六、安装syslinux
emerge syslinux
安装完成以后将extlinux安装在目录/extlinux下:
cd /
mkdir extlinux
extlinux -i /extlinux
cd /usr/share/syslinux
在syslinux目录或子目录下找到mbr.bin,然后安装mbr:
cat mbr.bin > /dev/sda
然后在syslinux目录或子目录下面找到下面五个文件,复制到/extlinux/下:
memdisk
vesamenu.c32
menu.c32
chain.c32
reboot.c32
七、安装其它系统
1. DOS
回到根目录,在根目录下新建文件夹命名为dos,将我们做好的MaxDOS.img文件放于此目录下。\
mkdir dos
cp /mnt/winfs/.../MaxDOS.img /dos/
2. BackTrack
挂载我们下载回来的BackTrack的iso:
mount -o loop /mnt/winfs/.../bt4-beta.iso /mnt/cdrom
在根目录下新建文件夹/btboot,复制iso/boot/下面的vmlinuz, initrd.gz到/btboot,然后复制整个BT4文件夹到根目录,注意BT4文件夹不能改名字:
mkdir btboot
cp /mnt/cdrom/boot/vmlinuz /btboot/
cp /mnt/cdrom/boot/initrd.gz /btboot/
cp -pPr /mnt/cdrom/BT4 /
3. slax
在根目录下新建文件夹/slaxboot,将slax/boot下的文件vmlinuz, initrd.gz复制到/slaxboot下,然后复制整个slax文件夹到根目录,注意slax文件夹不能改名字:
mkdir slaxboot
cp /mnt/winfs/.../slax/boot/vmlinuz /slaxboot/
cp /mnt/winfs/.../slax/boot/initrd.gz /slaxboot/
cp -r /mnt/winfs/.../slax/slax /
4. puppy
将整个puppy文件夹复制到根目录下,可以将puppy目录下的[boot]文件夹删除:
cp /mnt/winfs/.../puppy /
rm -r /puppy/[boot]
八、完成extlinux配置
在目录/extlinux下新建文件extlinux.conf,其内容如下:
PROMPT 0
TIMEOUT 100
DEFAULT vesamenu.c32
MENU BACKGROUND splash.png
F1 readme.txt
F2 extlinux.conf
MENU WIDTH 80
MENU MARGIN 10
MENU ROWS 12
MENU TABMSGROW 18
MENU CMDLINEROW 18
MENU ENDROW -1
MENU PASSWORDROW 11
MENU TIMEOUTROW 20
MENU HELPMSGROW 22
MENU HELPMSGENDROW -1
MENU HIDDENROW -1
MENU HSHIFT 0
MENU VSHIFT 0
MENU COLOR border 0 #0000 #0000 none
MENU TITLE 's Tool Box
LABEL gentoo
MENU LABEL ^Gentoo Linux
kernel /boot/vmlinuz
append initrd=/boot/initramfs ramdisk_size=8192 root=/dev/ram0 real_root=/dev/sda1 vga=0x318 rw
TEXT HELP
Gentoo Gen-Kernel 2.6.29...
ENDTEXT
LABEL bt
MENU LABEL ^BackTrack 4
kernel /btboot/vmlinuz
append initrd=/btboot/initrd.gz ramdisk_size=6666 root=/dev/ram0 rw vga=0x318 changes=/BT4/changes/
LABEL slax
MENU LABEL ^Slax v6.2
kernel /slaxboot/vmlinuz
append initrd=/slaxboot/initrd.gz ramdisk_size=6666 root=/dev/ram0 rw vga=0x318 changes=/slax/grach/ autoexec=xconf;telinit~4
LABEL slax-txt
MENU LABEL Slax v6.2 - Text Mode
kernel /slaxboot/vmlinuz
append initrd=/slaxboot/initrd.gz ramdisk_size=6666 root=/dev/ram0 rw vga=0x317 changes=/slax/txtch/
LABEL puppy
MENU LABEL ^Puppy Linux v4.2
kernel /puppy/vmlinuz
append initrd=/puppy/initrd.gz pmedia=cd
LABEL dos
MENU LABEL Max^DOS v7.1
kernel /extlinux/memdisk c=555 h=2 s=18 floppy
append initrd=/dos/MaxDOS.img
LABEL reboot
MENU LABEL ^Reboot
kernel /extlinux/reboot.c32
其中第四行menu background splash.png表明启动菜单的的背景图片为splash.png(保存于/extlinux下),它应当是一张640*480大小的png, jpg, gif, jmp格式图片。如果不喜欢可以将这一行去掉。
好了,到这里我们的整个系统就完成了,将所有挂载的系统umount,然后重启,将第一启动方式设置为USB-HDD方式,然后就可以看见可爱的extlinux启动界面了~~~
这样做出来的系统启动速度比光盘快多了,个人感觉与硬盘启动速度差不了多少,不过不知道以后用着会不会出什么问题。后面是一些我安装完成后的图片,是刚装完后半夜照的不是太清楚,呵呵,拿出来小秀一下,如果有什么问题及指正,请留言或写邮件到DarkThron@163.com,我的Blog: http://blog.donews.com/6lines,欢迎交流。 |
|