一、主要资料
http://uml.devloop.org.uk/
http://uml.devloop.org.uk/howto.html
百度
二、起因
想学习linux内核网络,通过VMware和KGDB来调试,机器受不了,编译也慢。初步弄完UML之后,发现
采用UML调试和学习还是比较快的。
三、环境
一台上互联网的机器,好几年前的PC,window7操作系统,装VMWorkStation 10。采用PPoe上网,IP地址:192.168.0.101,
路由器192.168.0.1。
四、安装REHL6.4-i386
虚拟机安装,过程简单。装好后,不知为何不能上网,把网卡改成桥模式,自己配了个IP地址: 192.168.0.200,加了个默认网关,
手工写了个DNS(查看windows 机器的:ipconfig /all):
ifconfig eth0 192.168.0.200
route add default gw 192.168.0.1
手工编辑 /etc/resolv.conf添加DNS。
vi /etc/resolv.conf 内容如下:
nameserver 221.228.255.1
nameserver 218.2.135.1
ping www.sohu.com,能通。
五、编译
进入REHL6.4;
下载4.1.1源码,解压;
将最顶层 Makefile 文件中的优化选项进行修改 -O2 改成 -O1;
make ARCH=um defconfig
make ARCH=um menuconfig
make ARCH=um
make ARCH=modules
make ARCH=moduels_install
最后一步会将模块拷贝到/lib/modules目录下,后面要用。
六、下载文件系统并更新
http://fs.devloop.org.uk/
我下载的是 CentOS 6.x 32bit;
解压得到 CentOS6.x-x86-root_fs,工作目录就是linux源码所在目录;
mkdir ram
mount CentOS6.x-x86-root_fs ram/ -o loop
cd ram/lib/modules/
cp /lib/modules/4.1.1 . -rf
cd 工作目录
umount ram