Uml Usage

Good reference: http://lenky.info/2012/04/06/uml-user-mode-linux/ 

http://blog.csdn.net/ztz0223/article/details/7874759   UML进行Linux内核调试 --1 环境搭建 
http://blog.csdn.net/ztz0223/article/details/8227004

1. Tools install
sudo apt-get install fakeroot build-essential crash kexec-tools makedumpfile kernel-wedge
sudo apt-get build-dep linux
sudo apt-get install git-core libncurses5 libncurses5-dev libelf-dev asciidoc binutils-dev

2. Install Ubuntu FS

1. 准备好在一个img文件中安装根文件系统(rootfs)。

Ubuntu系统中有个工具debootstrap是专门用来实现无盘安装rootfs的,借助这个工具,可以将一个Ubuntu系统安装到一个img文件,步骤如下:

a. 安装debootstrap

# sudo apt-get install debootstrap 

b. 创建一个大小为1G的img文件并格式化为ext3

# dd if=/dev/zero of=rootfs.img bs=1M count=1024 
# mkfs.ext3 rootfs.img

c. 将rootfs.img挂载为一个loop设备

# mkdir uml-karmic-root 
# sudo mount  -o  loop rootfs.img uml-karmic-root 

d. 将Ubuntu 9.10(karmic)安装到rootfs.img中

# cd uml-karmic-root 
# sudo debootstrap --arch i386 karmic uml-karmic-rootfs/ http://ftp.sjtu.edu.cn/ubuntu

注意,arch参数可以通过查看当前主机的arch来确定uname -a, http://ftp.sjtu.edu.cn/ubuntu是当前ubuntu系统的更新源,你可以查看/etc/apt/sources.list来选择安装源。

2. 为UML配置rootfs

a. 更改分区挂载点文件etc/fstab

# sudo echo “/dev/ubda / ext3 defaults 0 1”> uml-karmic-root/etc/fstab 
# sudo echo “proc /proc proc defaults 0 0” >> uml-karmic-root/etc/fstab

b. 创建hosts文件

# sudo echo “127.0.0.1 localhost” > uml-karmic-root/etc/hosts

c. 配置网络接口:

# echo "auto lo" > uml-karmic-root/etc/network/interfaces 
# echo "iface lo inet loopback" >> uml-karmic-root/etc/network/interfaces 
# echo "auto eth0" >> uml-karmic-root/etc/network/interfaces 
# echo "iface eth0 inet dhcp" >> uml-karmic-root/etc/network/interfaces

d. 更改系统配置禁用tty[1-6]控制台 

Ubuntu系统除了X窗口之外还默认开启了6个tty控制台(可通过ALT+F1~F6切换),但UML需要一个就够了。另外,为了避免启动UML时会弹出xterm终端,只允许启用tty0。

# sudo chroot uml-karmic-root


将不用的tty删除。注意,ubuntu 8.10系统中的tty文件存放在/etc/event.d目录中(tty1~tty6),而9.10是以conf文件的形式存放在/etc/init目录中。

# rm /etc/init/tty[2-6].conf

将tty1.conf重命名为tty0.conf并将:

exec /sbin/getty 38400 tty1

这一行的内容修改为:

exec /sbin/getty 38400 tty0

再将/etc/default/console-setup文件中的ACTIVE_CONSOLE字段修改为:

ACTIVE_CONSOLE="/dev/tty0"

最后在/etc/securetty添加tty0允许root登录tty0控制台。 

=============================================
  779  gdb linux vbda=../Debian-Squeeze-x86-root_fs mem=512m
  780  ./linux vbda=../Debian-Squeeze-x86-root_fs mem=512m
  781  ./linux ubda=../Debian-Squeeze-x86-root_fs mem=512m
  782  gdb linux ubda=../Debian-Squeeze-x86-root_fs mem=512m
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值