系统移植(u-boot、内核、根文件系统)

1. u-boot是什么

Bootloader是硬件启动的引导程序,是运行操作系统的前提;对软硬件进行相应的初始化和设定,为最终运行操作系统准备好环境;加载并执行内核;

Bootloader不但依赖于CPU的体系结构,而且依赖于嵌入式系统板级设备的配置。

u-boot(Universal Boot Loader)是德国DENX小组开发的用于多种嵌入式CPU的bootloader程序。

2. u-boot移植步骤
  1. 下载源码
  2. 解压u-boot源码进入
  3. 指定交叉编译工具链
  4. 查看u-boot是否支持cpu — arch/arm/cpu/armv7/exynos/
  5. 导入板级配置文件 — 找一个最类似的 board配置修改, 这里我们参考的是 board/samsung/origen/ — make origen_config
  6. 编译u-boot 生成的u-boot.bin文件就是可执行的镜像文件。

exynos 需要三星提供的初始引导加密后,u-boot才能被引导运行运行

3. linux内核移植
  1. 下载linux内核并解压

  2. 进入源码目录,修改Makefile为交叉编译工具

  3. 明确三星猎户座芯片 — make exynos_defconfig

  4. 进入内核配置界面勾选需要的配置 — make menuconfig

  5. 编译内核:make uImage — u-boot格式的内核镜像文件

  6. 编译设备树:
    make exynos4412-origen.dtb

  7. 拷贝内核和设备树文件到tftp共享目录下,以供开发板远程下载;

4.根文件系统的移植

通过使用busybox工具制作几个重要的文件,和可执行文件目录;从http://www.busybox.net/ 下载busybox源代码。

  1. 拷贝源码到ubuntu中,并解压,
    tar -vxf busybox-1.22.1.tar.bz2
  2. 进入源码目录,执行make menuconfig进入根文件系统配置菜单
Busybox Settings --->
	Build Options --->
			[*] Build BusyBox as a static binary (no shared libs)          //勾选上
			[ ] Force NOMMU build
			[ ] Build with Large File Support (for accessing files > 2 GB)
			(arm
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值