Linux系统构建
交叉工具链
安装
1、 解压工具链到某一目录下
2、 修改/etc/profile,添加
pathmunge/usr/local/arm/4.3.2/bin
3、 执行source/etc/profile
使用
编译器 arm-linux-gcc
反汇编工具 :arm-linux-objdump
ELF文件查看工具:arm-linux-readelf
系统组成
嵌入式Linux系统由Linux内核与根文件系统两部分组成,缺一不可。
内核制作
方法与pc平台基本一致。
1、 清除原有配置与中间文件
X86:make disclean
ARM:make disclean
2、 配置内核
x86:make menuconfig
arm:make menuconfig ARCH=arm
3、 编译内核
x86:make bzImage
arm :make uImage ARCH=arm CROSS_COMPILE=arm-linux-
根文件系统制作
1、 创建根文件系统的目录
mkdir rootfs
cd rootfs
mkdir bin dev etc lib proc sbin sys usr mnttmp var
mkdir usr/bin usr/lib usr/sbin lib/modules
2、 创建设备文件
cd dev/
mknod -m 666 console c 5 1
mknod -m 666 null c 1 3
cd ..
3、 安装/etc
tar etc.tar.gz –C /xxx/rootfs
4、 编译内核模块
进入Linux内核目录
make modules ARCH=arm
CROSS_COMPILE=arm-linux-
5、 安装内核模块
make modules_install ARCH=arm
INSTALL_MOD_PATH=/xxx/rootfs
6、 配置busybox(嵌入式开发中的瑞士军刀)
7、 编译、安装busybox
make ARCH=arm CROSS_COMPILE=arm-linux-
make install
8、 基于前面步骤制作好的根文件系统,可进一步制作ramdisk,步骤如下:
1、 genext2fs-b 8192 -d /xxx/rootfs ramdisk
** genext2fs为产生ramdisk 的工具**
2、gzip -9 -framdisk