Uboot + Kernel

简介: Uboot + Kernel

Uboot + Kernel


Uboot

  1. 交叉编译器的安装
  1. 安装包 --> /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


目录
相关文章
|
Java Android开发
Android系统 获取用户最后操作时间回调实现和原理分析
Android系统 获取用户最后操作时间回调实现和原理分析
366 0
|
Ubuntu Linux 虚拟化
Linux下的IMX6ULL——构建bootloader、内核、文件系统(四)
Linux下的IMX6ULL——构建bootloader、内核、文件系统(四)
643 0
Linux下的IMX6ULL——构建bootloader、内核、文件系统(四)
|
11月前
|
Oracle 关系型数据库 Linux
VMware的创始人
VMware的创始人
243 4
|
12月前
|
开发框架 Dart 前端开发
Android 跨平台方案对比之Flutter 和 React Native
本文对比了 Flutter 和 React Native 这两个跨平台移动应用开发框架。Flutter 使用 Dart 语言,提供接近原生的性能和丰富的组件库;React Native 则基于 JavaScript,具备庞大的社区支持和灵活性。两者各有优势,选择时需考虑团队技能和项目需求。
737 8
|
安全 数据安全/隐私保护 UED
什么是OTA升级管理系统?
【7月更文挑战第20天】什么是OTA升级管理系统?
515 6
|
存储 缓存 Unix
xdg - 获取 XDG 标准目录路径
xdg - 获取 XDG 标准目录路径
390 0
|
存储 编译器 Linux
解密Linux内核神器:内存屏障的秘密功效与应用方法(下)
解密Linux内核神器:内存屏障的秘密功效与应用方法(下)
|
Linux
Linux内核中USB设备驱动实现
Linux内核中USB设备驱动实现
206 0
|
Ubuntu NoSQL Linux
Ubuntu 21.10 安装调试符号
Ubuntu 21.10 安装调试符号
783 0
|
Linux
cmdline(二):uboot cmdline怎么传?&&cmdline kernel怎么用?
cmdline(二):uboot cmdline怎么传?&&cmdline kernel怎么用?
511 0