gentoo安装 virtualbox上可用

来源:互联网 发布:淘宝客户端ipad版 编辑:程序博客网 时间:2024/05/09 08:08

今天被无聊的课程设计折腾的死去活来,就在闲着的时候将广受好评的gentoo linux配置了一遍,确实在麻烦程度上不同凡响,整整花了我一下午的时间,
而且因为内核配置的问题,文件系统成为了only read filesystem 不过这是内核配置的问题 与其他的方面无关,就将简化的方法奉上吧
不过最好还是看看官方文档如何配置的。这只是我简化它的内容。
顺便说一下,微软可以将gentoo作为windows易用的对比,然后99%的人都会毫不犹豫的用windows了
linux还真是小众啊。
使用mini iso文档进入livecd模式
任何一种方式都可以
一开始就进行net-setup eth0 按照自己的机器的配置进行配置
然后进行一下检测 ping www.google.com 看看是否可以连接上网络
重启sshd  /etc/init.d/sshd restart
passwd 重新设置root,密码
进行硬盘分配
fdisk 和cfdisk 都可以
其中fdisk 使用方式如下
(FIXED:在进行这一步之前 进入/dev文件夹看看到底是sda还是hda如果是hda的话 将下面的sda转换成hda,最新的virtualbox较以前似乎有很大的变化,硬盘模式改成了sda)
fdisk /dev/sda 
出现命令号后找这说明进行 
一般是按n(new 创建新的分区)
第一个boot分区 可以使用的小一点的地方  差不多100mb 我是这么分的
第二个分区swap分区 不用设置的很大 我用的是300mb
剩下的全部分给/ 根目录
紧接着使用
mke2fs 将分区格式化成需要的模式
livecd ~ # mke2fs /dev/sda1 (主分区就用ext3吧) livecd ~ # mke2fs -j /dev/sda3 (创建并激活交换分区) livecd ~ # mkswap /dev/sda2 && swapon /dev/sda2
硬盘准备好后开始进行正式工作了
mount /dev/sda3 /mnt/gentoo
cd /mnt/gentoo 
mkdir boot
mount /dev/sda1 /mnt/gentoo/boot

时间我没有设定,关系不大,懒得麻烦。
下载最新的stage包
先进入过载的gentoo文件 
cd /mnt/gentoo
livecd gentoo # links http://www.gentoo.org/main/en/mirrors.xml 
或者直接使用wget
livecd gentoo 
wget ftp://distfiles.gentoo.org/pub/gentoo/releases/x86/current-stage3/stage3-i686-*.tar.bz2

解压stage文件
livecd gentoo # time tar xjpf stage3*
下载最新的portage包
livecd gentoo # cd /mnt/gentoo/usr livecd usr # links http://www.gentoo.org/main/en/mirrors.xml (选一个镜像,进入snapshots/目录,高亮显示 portage-latest.tar.bz2 ,按下D键下载) 或者不选择最近的镜像,直接用wget下载) livecd gentoo # cd /mnt/gentoo/usr livecd usr # wget http://distfiles.gentoo.org/snapshots/portage-latest.tar.bz2
解压
livecd usr # time tar xjf portage-lat*
使用chroot设定根目录
livecd usr # cd / livecd / # mount -t proc proc /mnt/gentoo/proc 
livecd / # mount -o bind /dev /mnt/gentoo/dev 
livecd / # cp -L /etc/resolv.conf /mnt/gentoo/etc/ 
livecd / # chroot /mnt/gentoo /bin/bash 
livecd / # env-update && source /etc/profile >>> Regenerating /etc/ld.so.cache...

时区同样没有设定 关系不大 懒得麻烦
设定主机和域名
livecd / # cd /etc livecd etc # echo "127.0.0.1 mybox.at.myplace mybox localhost" > hosts 
livecd etc # sed -i -e 's/HOSTNAME.*/HOSTNAME="mybox"/' conf.d/hostname (使用指定的主机名并检查)
livecd etc # hostname mybox livecd etc # hostname -f mybox.at.myplace

内核编译
和别的版本的内核编译基本上一样
livecd etc # time emerge gentoo-sources real 2m51.435s user 0m58.220s sys 0m29.890s 
livecd etc # cd /usr/src/linux livecd linux # make menuconfig (配置内核)
livecd linux # time make -j2 (所花的时间很大程度上决定于你所选的选项) real 3m51.962s user 3m27.060s sys 0m24.310s 
livecd linux # make modules_install 
livecd linux # cp arch/i386/boot/bzImage /boot/kernel
强烈建议将linux内核源文件从/usr/src/linux 转移到一个别的什么地方 因为不知道什么原因总会引起不必要的错误而花费过多的时间
我将/usr/src/linux(版本号) 转移到了 ~/linux  
cp -rf /usr/src/linux-(版本号) 
编译一次通过
进入源文件根目录 
cp arch/x86/boot/bzImage /boot/kernel

编辑/etc/fstab,用实际的分区名代替BOOTROOTSWAP。记得确认一下文件系统是否与所安装的相匹配。

在此之前如果用不惯nano的话 强烈建议安装vim
不知道为什么在镜像文件中没有最可爱的vim
emerge vim

安装守护进程
livecd conf.d # time emerge syslog-ng vixie-cron real 1m54.099s user 1m2.630s sys 0m34.620s 
livecd conf.d # rc-update add syslog-ng default 
livecd conf.d # rc-update add vixie-cron default
安装其他的一些辅助程序
livecd conf.d # emerge xfsprogs (如果使用XFS文件系统) 
livecd conf.d # emerge jfsutils (如果使用JFS文件系统) 
livecd conf.d # emerge reiserfsprogs (如果使用Reiser文件系统)
livecd conf.d # emerge dhcpcd (如果使用DHCP客户端) 
livecd conf.d # emerge ppp (如果使用PPPoE ADSL连接)

安装grub
emerge grub 
vim /boot/grub/grub.conf
将你的硬件的信息些如文件中
default 0 timeout 10 title Gentoo root (hd0,0) kernel /boot/kernel root=/dev/sda3 
****FIXED:特别提示 一定要将root=/dev/sda3这一行和 kernel /boot/kernel 写在同一行中,切记
命令行中输入grub进行第一次配置
livecd conf.d # grub Probing devices to guess BIOS drives. This may take a long time. grub> root (hd0,0) Filesystem type is ext2fs, partition type 0xfd grub> setup (hd0) Checking if "/boot/grub/stage1" exists... yes Checking if "/boot/grub/stage2" exists... yes Checking if "/boot/grub/e2fs_stage1_5" exists... yes Running "embed /boot/grub/e2fs_stage1_5 (hd0)"... 16 sectors are embedded. succeeded Running "install /boot/grub/stage1 (hd0) (hd0)1+16 p (hd0,0)/boot/grub/stage2 /boot/ grub/menu.lst"... succeeded Done. grub> quit
推出chroot
exit
直接reboot 不用umount了 怪麻烦的 而且也没有什么实在的意义
ok 然后就可以看看你的内核配置的怎么样了
如果失败的话就证明内核有些问题了 要再重新编译一遍 将该加上的库加上
到此结束