Chinaunix首页 | 论坛 | 博客
  • 博客访问: 354428
  • 博文数量: 48
  • 博客积分: 764
  • 博客等级: 上士
  • 技术积分: 1133
  • 用 户 组: 普通用户
  • 注册时间: 2011-01-17 13:29
文章分类

全部博文(48)

文章存档

2014年(5)

2013年(34)

2012年(9)

分类: LINUX

2014-12-21 14:29:23

#Reference
http://adam8157.info/blog/2012/04/setup-kernel-developing-environment/
https://blog.nelhage.com/2013/12/lightweight-linux-kernel-development-with-kvm/

#Build kernel and modules
在编译内核之前, 对内核裁剪显得尤为重要, 这样可以大量节省编译时间.
我用fedora 21:
firo@f linux$ grep -i '=[ym]' /boot/config-3.17.6-300.fc21.x86_64 | wc -l
4144
几乎把内核所有的代码编译了一编! 太耗时了! 一个简单的办法:
make localmodconfig
firo@f linux$ grep -i '=[ym]' .config | wc -l
1329
另外, make help 会显示内核编译帮助.
这里你要手动吧virtio_blk这个内核选项选为M, 因为下文用kvm启动的时候有用.
否则,就是这个错误:


开始编译
mkdir /tmp/kmods
 make bzImage
 make modules
 make modules_install INSTALL_MOD_PATH=/tmp/kmods

#生成initrd
我之前用过busybox, 这次用个更简单, 且更好用的supermin
git clone  git://github.com/libguestfs/supermin.git
cd supermin/examples
 export SUPERMIN_KERNEL=/path/to/linux.git/arch/x86/boot/bzImage
 export SUPERMIN_MODULES=/tmp/kmods/lib/modules/3.xx.yy
build-basic-vm.sh
稍等一会, 生成 basic-full-appliance
cd 进入后执行
qemu-kvm -m 512 -kernel kernel -initrd initrd    -append 'vga=773 selinux=0'  -drive file=root,format=raw,if=virtio
内核要运行起来了.
阅读(3421) | 评论(0) | 转发(0) |
0

上一篇:RCU

下一篇:没有了

给主人留下些什么吧!~~