最近要测试一个内核模块,学习下netlink,须要安装个linuxlinux
vmware版本9.0.2,gentoo版本:install-x86-minimal-20130528,3.8.13的内核网络
主要步骤参考这个:http://www.gentoo.org/doc/en/gentoo-x86-quickinstall.xmlless
但不必彻底按步骤来,由于是测试用,时区什么的都省了,没分boot分区,/分区使用ext3编辑器
这样在配置内核的时候,须要把ext3编进内核,而不能使用模块(查了下使用initrd也能够不编进内核)学习
内核配置参考:http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=1&chap=7测试
lspci会给出你的硬件配置,可是对我这种对硬件参数不太懂的根本无法用来配置内核,可使用lspci -k 这个命令能够显示其对应的内核模块是什么,而后在配置内核时搜索,就会给出你该配置什么ui
make defconfig // 使用默认配置 make menuconfig // 按'/'搜索
须要注意一点,这个版本vmware的默认磁盘为SCSI,为LSI logic设备。有篇帖子说4.0之前使用的是BusLogic设备,参考:http://blog.csdn.net/kl222/article/details/4681606.net
须要勾选以下设置,不然的话,内核加载时会报:VFS: Cannot open root device "sda2" or unknown-block(0,0),这个问题纠结了两天才搞出来xml
Device Drivers ---> [*] Fusion MPT device support ---> <*> Fusion MPT ScsiHost drivers for SPI <*> Fusion MPT ScsiHost drivers for FC <*> Fusion MPT ScsiHost drivers for SAS
接下来编译内核:make && make modules_install && make install
新版本的gentoo都使用的grub2,即是跟grub有很大不一样,如今不须要手配grub.cfg了,使用grub-mkconfig 输出到该文件便可
上面连接给出的是安装grub的教程,安装grub2,能够用emerge,我是下载下来源码本身编译的
使用 grub-install /dev/sda来安装
接下来reboot便可
启动后配置网络,vmware用的nat桥链接,编辑->虚拟网络编辑器 看DHCP和NAT设置,记下IP段和网关
ifconfig enp2s1 up#不知道怎么搞的,默认不启动 ifconfig enp2s1 192.168.128.128 netmask 255.255.255.0#设置IP,掩码 route add -net 0.0.0.0 netmask 0.0.0.0 gw 192.168.128.2#设置网关,我这里是.2
启动后发现网络不能自动启动,查了查发现时如下命令为执行(上面安装连接里有),自动启动后会自动设置IP,不用像上面那样手动设置,应该是DHCP的
# 我这里的名字是enp2s1,貌似是udev搞的,用下面命令建立一个空文件就能够是ethX命名的了 # touch /etc/udev/rules.d/80-net-name-slot.rules ln -s net.lo net.eth0 rc-update add net.eth0 default
==============================================================================================================
后续:虽然安装好了,可是分辨率很低,fgx模式好像无论用,先这样吧,如今字符模式够用了
grub2里不能用more less,分页查看能够用如下命令
set pager=1