Uboot + Kernel
Uboot
- 交叉编译器的安装
- 安装包 --> /home/tarena/workdir/arm-linux-gcc
解压
$ tar xvf arm-cortex_a9-eabi-4.7-eglibc-2.18.tar.gz
解压得到 文件夹 arm-cortex_a9-eabi-4.7-eglibc-2.18
$ mv arm-cortex_a9-eabi-4.7-eglibc-2.18 arm-linux-gcc
设置环境变量
将bin目录添加到.bashrc文件中PATH环境变量中
$ vim ~/.bashrc
在PATH后面添加/home/tarena/workdir/arm-linux-gcc/arm-linux-gcc/bin:
保存退出
$ source ~/.bashrc
编译uboot源码
$ cd /home/tarena/workdir/uboot
解压 Uboot 源码
$ tar xvf uboot.tar.bz2
$ cd uboot
将uboot项目源码配置成当前开发版使用
$ make x6818_config
$ make
将编译得到 ubootpak.bin,复制到 win 使用烧录软件将 ubootpak.bin 烧录到tf 将tf插入开发版
修改提示符
$ vi include/configs/x6818.h +142 "tarena#" --> "Jasonakeke$"
Kernel
获取 Linux 内核源码
Linux 内核官网:www.linux.org
解压内核源码
$ cd /home/tarena/workdir/kernel $ tar xvf kernel.tar.bz2 $ cd kernel
将内核源码配置成 x6818 开发版
$ make x6818_defconfig
或者复制该配置文件到内核源码根目录
$ cp arch/config/x6818_defconfig ./.config
(可选)配置内核模块
$ make menuconfig
编译 Linux 内核
$ make
编译得到的内核镜像 Image 在 arch/arm/boot/ 目录下
uboot 引导内核 使用的是 uImage 通过 mkimage 命令将 Image 制作成 uImage uboot 编译过程 顺带编译得到了 mkimage /home/tarena/workdir/uboot/uboot/tools/mkimage 将mkimage 命令拷贝到 /bin
$ sudo cp /home/tarena/workdir/uboot/uboot/tools/mkimage /bin
在内核根目录下运行下面的命令 即可将 Iamge
制作成 uImage
$ make uImage
将编译好的uImage拷贝到/tftpboot目录下
$ cp arch/arm/boot/uImage /tftpboot
配置好网络,准备通过网络下载内核到开发版的内存 在串口工具(secureCRT)的 uboot
命令行下执行命令
$ tftp 48000000 uImage
将下载到48000000,Linux内核启动起来
$ bootm 48000000