ubuntu 14.04 内核编译
安装必要的软件sudo apt-get install fakeroot build-essential crash kexec-tools makedumpfile kernel-wedgesudo apt-get build-dep linuxsudo apt-get install git-core libncurses5 libncurses5-dev libelf-dev a
设置网易更新源,以提高速度。
安装必要的软件
sudo apt-get install fakeroot build-essential crash kexec-tools makedumpfile kernel-wedgesudo 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
为了提高编译速度,可以执行
- make all -j4
也可以执行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里面的内容进行检索。
更多推荐
所有评论(0)