作者tdb (tbd)
看板Linux
标题[心得] 在Ubuntu底下编deb档的kernel
时间Wed Jul 19 23:20:32 2006
在Ubuntu底下编deb档的kernel
1. 安装编译相关软体
code: apt-get build-dep linux-image-386
apt-get install kernel-package
其中xxx可以从apt-catch search linux-image查到,随便选一个就好了。
2. Download the kernel.
linux-stable stable kernel (from kernel.org)
linux-stable-mm stable -mm patch to the stable kernel (from kernel.org)
linux-stable-prepatch prepatch for the stable kernel (from kernel.org)
linux-stable-snapshot snapshot for the stable kernel (from kernel.org)
code: rsync -avz rsync.ppckernel.org::linux-stable-mm2 ./
或可以自己到www.kernel.org去抓,不过我是喜欢用rsync比较方便。
3. Set up the env-variable.
cflags:
code: export CFLAGS_KERNEL="-mcpu=7450 -O2 -pipe -fno-strict-aliasing
-maltivec -mabi=altivec -mpowerpc-gfxopt"
code: export CXXFLAGS_KERNEL="${CFLAGS_KERNEL}"
(可以参考
http://gentoo-wiki.com/Safe_Cflags )
如此可以针对机器最佳化。在此的cflags是针对PowerPC G4,请不要使用,可以到
网站上查询你的机器。
gcc:
code: export MAKEFLAGS="CC=gcc-3.4"
(因为gcc-4编kernel时,有些装置会编不起来,所以建议强迫指定用gcc-3.4
当然有些人可以用gcc-4来编是因为他没有用到相关装置。)
4. Copy .config from /boot
从boot中拷最新的config档当范例,然在再修改。
5.
code: make menuconfig
选你要的装置与modules.
可以参考lsmod, more /proc/cpuinfo等等。
6. 开始编译
code: make-kpkg clean
code: make-kpkg --initrd --revision=2.6.14-mm2-1 --append-to-version=ibookg4
kernel_image kernel_headers
其中append-to-version是你kernel的特殊套件名称,你可以自己取啦,避免和
系统的不一样,那样同版次的modules才能共存。
而revision是指改版地几次,如此在同一版次的kernel可以在从新编译而dpkg系统会认为
是新的,如此升级才会顺利唷。
而initrd可有可无,不过若不要的话,你要将fs modules编到kernel里,而主流是要的。
7. 经过漫长的的等待,在上一个目录就会生成两个deb档,
分别是
code: dpkg -i xxx.deb
code: dpkg -i xxx.deb
好了reboot,享受新的kernel吧。如果有问题,检查一下lilo, GRUB, yaboot有没有设对
吧!
对了,以上2~6步骤要在root或者在fakeroot下执行唷。而最後当然是要root啦。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.121.141.92