此生既入苦寒山,何妨再攀险峰!
分类: LINUX
2014-07-27 22:29:52
转载请注明原创地址:http://blog.chinaunix.net/uid-25847519-id-4377577.html
一、交叉编译安装
1、解压交叉编译工具:
sudo tar -jxvf arm-2009q3-67-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 -C /opt/
2、配置系统设置:
在/etc/profile文件里面添加交叉编译工具链路径:
vim /etc/profile
加上 export PATH=$PATH:/opt/arm-2009q3/bin/ 再把之前的交叉编译屏蔽
遇到问题说明请见下面链接:
blog.chinaunix.net/uid-25847519-id-4444238.html
二、内核编译操作:
1、解压 kernel_V1.0.05.tar.gz 内核包
tar -zxf kernel_V1.0.05.tar.gz 得到kernel文件目录
2、编译内核
cd kernel
cp arch/arm/configs/aimer39_ak3918_defconfig .config
make menuconfig
make zImage
或者:
mkdir build-39
cd kernel
make O=../build-39 aimer39_ak3918_defconfig
make O=../build-39 menuconfig
make j=4
出现:
LD vmlinux
SYSMAP System.map
SYSMAP .tmp_System.map
OBJCOPY arch/arm/boot/Image
Kernel: arch/arm/boot/Image is ready
AS arch/arm/boot/compressed/head.o
LZO arch/arm/boot/compressed/piggy.lzo
/bin/sh: 1: lzop: not found
make[2]: *** [arch/arm/boot/compressed/piggy.lzo] 错误 1
make[1]: *** [arch/arm/boot/compressed/vmlinux] 错误 2
make: *** [zImage] 错误 2
解决:
a、lzo安装
1)、wget
2)、 sudo su
tar xzvf lzo-2.06.tar.gz
3)、cd lzo-2.06
./configure --enable-shared
4)、make
make install
b、lzop安装:
1)、wget ''
2)、tar xzvf lzop-1.03.tar.gz
3)、cd lzop-1.03
./configure
ii)若出现configure: error: cannot compute sizeof (size_t)
See `config.log' for more details
这个问题的原因是linux在查找动态链接库时,忽视了/usr/local/lib中一系列*.so,将其添加到配置文件中,就可以解决。
1、打开/etc/ld.so.conf这个配置文件
2、把下面这行内容添加进去
/usr/local/lib
3、保存文件,执行命令:/sbin/ldconfig
对于非root用户来说,/etc/ld.so.conf是read-only的,想要解决这个问题也是有办法的。在vim74目录下先执行如下命
令:export LD_LIBRARY_PATH=/usr/local/lib/:$LD_LIBRARY_PATH // 为编译器设定额外的搜索路径,原理基本类似,
修改ld.so.conf的根本原因只是为了让编译器在make过程中去对应的路径下寻找依赖,这里直接指定搜索路径,是一个效果。