编译内核、更新源

1、ubuntu下面修改更新源 sudo gedit /etc/apt/sources.list

2、编译内核:

(1) cd 到/usr/src/下,解压下载的内核源代码包

(2) make mrproper 清理生成的文件(貌似对第一次编译内核没有必要)

(3) make menuconfig (如果不行,需要安装libncurses5-dev,使用命令 sudo apt-get install  libncurses5-dev,搜索相关文件使用sudo apt-cache search 文件名)

我在安装时遇到问题:The following packages have unmet dependencies:
 libncurses5-dev : Depends: libncurses5 (= 5.9-4) but 5.9-10ubuntu1 is to be installed
                   Depends: libtinfo-dev (= 5.9-4) but it is not going to be installed
                   Depends: ncurses-bin (= 5.9-4) but 5.9-10ubuntu1 is to be installed

解决是在http://packages.ubuntu.com/网站上直接下载了 libncurses5、libtinfo-dev和ncurses-bin的5.9.4版本,然后用dpkg命令进行了安装。

(4) make bzImage -jn (n为cpu个数)

(5) make modules

(6)make modules_install

(7)make install

制作启动盘# sudo mkinitramfs 3.19.3 -o /boot/initrd.img-3.19.3 

更新grub2# sudo update-grub2 


编译2.6.38内核错误

arch/x86/kernel/entry_32.S: Assembler messages:

arch/x86/kernel/entry_32.S:1422: Error: .size expression for apf_page_fault does not evaluate to a constant

make[2]: *** [arch/x86/kernel/entry_32.o] 错误 1

make[1]: *** [arch/x86/kernel] 错误 2

make: *** [arch/x86] 错误 2

解决:

- --- entry_32.S.original	2011-03-18 08:21:51.000000000 -0400
+++ entry_32.S	2011-03-20 10:37:00.000000000 -0400
@@ -343,7 +343,7 @@
 					# int/exception return?
 	jne work_pending
 	jmp restore_all
- -END(ret_from_exception)
+END(resume_userspace)
 
 #ifdef CONFIG_PREEMPT
 ENTRY(resume_kernel)
@@ -1413,7 +1413,7 @@
 	CFI_ADJUST_CFA_OFFSET 4
 	jmp error_code
 	CFI_ENDPROC
- -END(apf_page_fault)
+END(async_page_fault)
 #endif

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值