晚上安装CRUX老是没有安装上,很纠结,主要的原因是因为总是没有安装成功bootloader,或者bootloader配置不成功,参考了网上的其他的一些文章,觉得有些地方讲得不是很清楚,导致俺花了那么多的时间,以下是我使用lilo启动CRUX的安装及配置过程
1、由于使用的是CRUX 2-2版本,参考官方的手册http://crux.nu/Main/Handbook2-2(多谢周钒兄的链接俺才知道这个)
2、使用fdisk命令对硬盘进行分区格式化,我的VMWARE的硬盘是IDE的,因此命令为fdisk /dev/hda (SCSI的为/dev/sda),我对我的硬盘的配置情况如下图:
其中/dev/hda1用于挂载/boot,即内核文件, hda2用于当做swap分区,hda3用作/分区,同时使用a命令设置hda1为启动盘
设置完后记得用w命令去保存。
完后对硬盘影响格式化,
mkfs.ext3 /dev/hda1
mkfs.ext3 /dev/hda3
mkswap /dev/hda2
swapon /dev/hda2
3、把hda3挂载到/mnt目录下,hda1挂载到/mnt/boot下
mount /dev/hda3 /mnt
cd /mnt
mkdir boot
mount /dev/hda1 /mnt/boot
4、配置完后用setup命令安装CRUX,一直下一步下一步安装完成(期间如果在第三部没有选择挂载到/mnt目录下,则在setup时要注意重新选择挂载的目录)
5、挂载相关的目录
$ mount --bind /dev /mnt/dev
$ mount --bind /tmp /mnt/tmp
$ mount -t proc proc /mnt/proc
$ mount -t sysfs none /mnt/sys
$ chroot /mnt /bin/bash
6、编译内核,安装内核文件及模块
$ cd /usr/src/linux-2.6.15.6
$ make menuconfig
选中Device Driver/Network Device Support/的以下两项
保存退出
$ make bzImage
$ cp arch/i386/boot/bzImage /boot/vmlinuz
$ cp System.map /boot/System.map
7、修改fstab,使系统启动时自动挂载自己创建的设备,挂载/dev/hda1到/boot目录,同时挂载/dev/hda3到"/"目录,如下图。
8、配置bootloader
8.1 lilo配置方式
修改/etc/lilo.conf文件,注意,这里的boot是启动的硬盘,而不是分区(俺就是在这被搞了N久)
配置完后,使用lilo命令加入相关启动项,reboot即可。
8.2 grub配置方式
cp /usr/share/grub/i386-pc/* /boot/grub/
vim /boot/grub/menu.lst
修改完grub配置文件后,安装grub
grub
grub> root (hd0,0) 这里的hd指的是硬盘,无所谓scsi还是ide硬盘,0指的是第一个硬盘。后面的0呢,指的是boot所在的分区,旧的grub版本的话是从0开始的,也就是0表示第一个分区,由于我的boot是在/dev/hda1上,因此填0
grub>setup (hd0) 安装grub到第一块硬盘的MBR(主引导扇区)
grub>quit
8.2.1 menu.lst配置,在这里主要是修改linux的启动项,主要是修改kernel的,这里的(hd0,0)/vmlinuz表示我的内核是放置在(hd0,0)(即/dev/hda1)分区的的vmlinuz下,root用于指定"/"目录所在的分区,在我这里是/dev/hda3,然后reboot重新启动
至此,系统安装成功,可以享受其他事情去啦!