您的位置:首页 > 运维架构 > Linux

arm-linux根目录文件的创建以及交叉工具链的安装

2013-09-11 17:38 260 查看
关于交叉工具链的安装:

将工具文件解压到某一个文件夹下(一般解压到 /opt 中),然后找到解压下的bin文件夹下的可执行文件。

编辑 /etc/profile ,加入例如这一行:pathmunge /opt/EmbedSky/crosstools_3.4.5_softfloat/gcc-3.4.5-glibc-2.3.6/arm-linux/bin/ 。

再输入命令source /etc/profile

那么就可以直接执行 bin下的文件了,可以直接输入命令比如arm-linux-gcc用以编译文件。

关于busybox的安装:

此工具用于制作根目录文件下的用于命令输入的可执行文件,即安装完成之后它的文件会出现了 /bin/ 下,如果根目录为rootfs则会在rootfs/bin/下(需要手动设置)。

进入解压后的busybox的文件夹下执行 make menuconfig;

设置build options下设置成静态二进制文件,并且设置交叉编译前缀如arm-linux-;

设置installation options下不要使用/usr(该选项可以避免busybox被安装到宿主系统的/usr下,破坏宿主系统),并且设置busybox 的安装文件夹(/xxx/rootfs);

其他设置可以按照需求选择

保存设置之后:

make ARCH=arm CROSS_COMPILE=arm-linux-;

make install;

安装完成之后进入安装目录下的 bin 文件夹可以看到多出的链接文件。

嵌入式LINUX系统由Linux内核和根文件系统两部分构成,缺一不可。

制作嵌入式Linux所需的文件系统:

A、创建目录和文件

B、为创建好的目录和文件建立管理数据

A、创建目录和文件

1、创建根文件系统的目录

mkdir rootfs

cd rootfs

mkdir bin dev etc lib proc sbin sys usr mnt tmp 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(此处为其教材中自带的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

安装完成之后会在 /xxx/rootfs/lib/modules会有相应的内核模块文件。

6、配置busybox(用于ls等命令)

如上述 关于busybox的安装 ,正确安装完成之后在 /xxx/rootfs/bin/下会有相应的链接文件。

B、为创建好的目录和文件建立管理数据

接下来使用initramfs制作根文件系统并且配置内核使用initamfs。

1、

在内核文件夹下运行 make menuconfig ARCH=arm

在gernerate setup中选中Initial RAM filesystem and RAM disk 并且输入安装路径如 xxx/rootfs/

2、

进入制作好的根文件系统中(xxx/rootfs/)执行 ln -s ./bin/busybox init。//姑且认为是初始化的时候用。

3、

重新编译内核

make zImage ARCH=arm CROSS_COMPILE=arm-linux-

然后将内核烧入即可操作基于ARM的文件系统。

注:以上过程编译内核所用的 .config 文件为天嵌自带的文件。

配置内核使用NFS作为根文件系统启动:

首先取消gernerate setup中原本选中的Initial RAM filesystem and RAM disk 并将File System中的Network File Systems选中并且注意其中的NFS client support和Root file system on NFS选中,并编译内核。

NFS实际上就是PC主机的文件开放给下位机,下位机通过NFS来访问主机。

编辑/etc/exports,如/home/zbf/kernel/linux-2.6.30.4/rootfs/ 192.168.1.*(rw,sync,no_root_squash)之后,重新启动。

service nfs restart

此时上位机的网络设置已经完成。

于下位机,烧入内核,并设置U-BOOT中的相关NFS的设置(如IP地址,共享目录等),启动后即可访问主机的目录。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: