设置网易更新源,以提高速度。

安装必要的软件

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

获取源代码archive
sudo apt-get build-dep --no-install-recommends linux-image-$(uname -r)

apt-get source linux-image-$(uname -r)

在当前目录获得内核源代码linux_3.13.0.orig.tar.gz,解压缩后开始配置。


sudo make mrproper清楚原有配置。

sudo cp /boot/config-3.13.0-32-generic .

make menuconfig 加载此配置,并修改保存为config-3.13.0-32-tmp

sudo cp config-3.13.0-32-tmp .config

#sudo make dep

为了提高编译速度,可以执行

[plain]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. make all -j4  
编译内核了,make all就是将内核以及模块一起编译。后面的参数-j4表示,cpu要开启四个线程来编译内核。一般来说,每个cpu可以开启两个线程来编译内核,我的电脑是有两个cpu,所以开启了4个线程。

也可以执行sudo make 会自动编译内核和模块,生成bzImage.偶尔有报错 /bin/sh bc:not found .执行sudo apt-get install bc

重新执行sudo make成功生成vmlinux。

执行make modules_install 安装模块;

执行make install安装内核,更新grub。

如计划使用uboot则执行以下步骤生成uboot对应镜像。

执行

objcopy -O binary vmlinux vmlinux.bin

关于objcopy的介绍,参见Linux命令学习手册-objcopy命令

执行 gzip -9 vmlinux.bin 生成vmlinux.bin.gz

执行 mkimage -A sh -O linux -T kernel -C gzip -a 0x80800000 -e 0x80801000 -n "linux-sh4-2.6.23.17_stm23_A21" -d vmlinux.bin.gz vmlinux.ub

得到vmlinux.ub这个给uboot提供的镜像。

关于mkimage的介绍,参见嵌入式linux-利用mkimage 把zImage转换为uImage的方法 以及uboot mkimage使用详解

其中,mkimage的可以通过编译uboot源码,从tools下获取mkimage(或者sudo apt-get install u-boot-tools后/usr/bin/mkimage)。将vmlinux 压缩为uboot镜像。

注意:

在配置内核时,make menuconfig后,进入界面,输入/进入查询界面。可以对grub里面的内容进行检索。

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐