• 一、设置环境变量

    //  写在家目录下面的 .bashrc 里面
export KERNEL_PATH=~/aplex/kernel3.2.0 // kernel 路径
export UBOOT_PATH=~/aplex/uboot2011.09 // u-boot 路劲
export ROOTFS_PATH=~/aplex/filesystem
export TOOLFS_PATH=~/aplex/tools
export ARCH=arm // 设置平台类型
export CROSS_COMPILE=arm-linux-gnueabihf- // 设置交叉编译器前缀
export PATH=$PATH:~/aplex/gcc-linaro-arm-linux-gnueabihf-4.7-2013.03-20130313_linux/bin // 配置交叉编译器加入环境变量
export APLEX_PATH=~/image
  • 二、 u-boot 编译

    cd  $UBOOT_PATH
make O=out ok335x
// 编译完成之后你会在 out 目录下找到 MLO 以及 u-boot.img, 将这两个文件放在 等下制作好的 SD 卡boot 分区下
  • 三、 kernel 编译

    cd $KERNEL_PATH
make aplex_defconfig
make uImage -j4
// 编译完成之后会在 arch/arm/boot/ 下面生成 uImage 文件, 等下也将这个文件放在 SD 卡 boot 分区下
  • 四、文件系统生成

    cd  $ROOTFS_PATH
mkubiimg.sh
// mkubiimg.sh 是生成 ubi 文件系统的脚本
// 工具的安装请参考 : http://www.cnblogs.com/chenfulin5/p/7975633.html
// ubi 文件系统的制作请参考: http://www.cnblogs.com/chenfulin5/p/8024016.html
mkubiimg.sh 脚本如下:
sudo mkfs.ubifs -q -r rootfs_v2 -m 2048 -e 126976 -c 4040 -o ubifs.img -F #制做 rootfs_v2 目录下面的文件系统为 ubifs.img
echo mkfs.ubifs over!
sudo ubinize -o ubi.img -m 2048 -p 128KiB ubinize.cfg # 压缩 ubifs.img 为 ubi.img
echo ubinize over! sync cp ubi.img $APLEX_PATH -rf # 将ubi.img 拷贝到 ~/image 下面
echo make file system ok !
  • 五、SD 的制作

    将 SD 卡插入电脑, 如下操作
![](http://images2017.cnblogs.com/blog/991711/201801/991711-20180115174107084-7846262.png)
    sudo fdisk  /dev/sdc   # sdc 是 SD卡的节点
Command (m for help): d # 删除分区
Selected partition 1 # 删除第一个分区
Command (m for help): n # 添加分区
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p # 主分区
Partition number (1-4, default 1): 1 # 第一个分区
First sector (2048-15126527, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-15126527, default 15126527):
Using default value 15126527 Command (m for help): t # 改变分区格式
Selected partition 1
Hex code (type L to list codes): e # 选择FAT16格式
Changed system type of partition 1 to e (W95 FAT16 (LBA)) Command (m for help): a # 设置为 boot 分区
Partition number (1-4): 1 Command (m for help): p # 显示 Disk /dev/sdc: 7744 MB, 7744782336 bytes
32 heads, 12 sectors/track, 39392 cylinders, total 15126528 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x5fb59036 Device Boot Start End Blocks Id System
/dev/sdc1 * 2048 15126527 7562240 e W95 FAT16 (LBA)
Command (m for help): w # 保存
    mkfs.vfat -n "boot"  -F 16 /dev/sdc1
  • 六、最后将上述文件放到 /dev/sdc1

    sudo mount  /dev/sdc1  /mnt
cp u-boot.img MLO uImage ubi.img /mnt -rf
sync
sudo umount /mnt

am335x uboot, kernel 编译的更多相关文章

  1. Hi3519V101 Uboot和Kernel编译

    前面已经搭建好了Ubuntu下的海思开发环境,现在对编译Uboot和Kernel的过程做一个简单的记录.参考文档<Hi3519V101 U-boot 移植应用开发指南.pdf>和<H ...

  2. (九)uboot配置编译、源码分析

    一.X210官方uboot配置编译实践1.找到官方移植好的uboot(BSP概念)(1)源头的源代码是uboot官网下载的.这个下载的源代码可能没有你当前使用的开发板的移植,甚至找不到当前开发板使用的 ...

  3. (五)u-boot2013.01.01 for TQ210:《移植前的准备及u-boot初编译》

    移植前的准备 移植前,要做的事情是搭建开发环境以及对U-boot源码的获取.首先说一下开发环境: 1.此次U-boot移植的硬件平台是天嵌的TQ210开发板: CPU:板载核心是S5PV210(Cor ...

  4. I.MX6 U-boot Kernel backlight setting

    /********************************************************************* * I.MX6 U-boot Kernel backlig ...

  5. ARM开发板系统移植-----u-boot的编译

    本文和另外两篇姊妹篇都是为了说明如何裁剪出适合在mini2440 开发板上运行的Linux系统,以记录自己的学习成果.其中本文先介绍了嵌入式系统的软件组成部分,然后介绍编译出适合在mini2440开发 ...

  6. I.MX6 linux kernel编译错误处理

    /******************************************************************************** * I.MX6 linux kern ...

  7. UBoot配置编译及Makefile分析

    一. UBoot配置编译初步分析 1. UBoot源码结构 (1)UBoot工程项目中的文件可以分为3类 ① 第1类目录:与处理器体系结构或开发板硬件直接相关 ② 第2类目录:一些通用的函数或驱动程序 ...

  8. UBoot的编译与烧写

    每当我们学习任何编译语言之前,第一节课都是介绍我们要学习的是什么,以及编译语言和工具,最后写一个小程序编译并运行就算入门,也就是所谓的"Hello, world!".这里也不例外, ...

  9. 【转】完整精确导入Kernel与Uboot参与编译了的代码到Source Insight,Understand, SlickEdit

    The linux kernel and u-boot contains lots of files, when we want to broswe the source code,we just w ...

随机推荐

  1. ios开发中用过的一些外部库总结 cocoapods list

    下面几个库是在之前的一个ios app开发中使用过的一些外部库: 1. zbar :2. shakebox :3. processbar :4. tableviewcontroller :新版的sta ...

  2. CTreeCtrl鼠标双击响应函数中怎么知道双击的是哪个子项?

    原帖链接: http://bbs.csdn.net/topics/310185501 楼主: CTreeCtrl鼠标双击响应函数中怎么知道双击的是哪个子项? 6楼: CPoint pt;GetCurs ...

  3. Python控制台输出带颜色的文字(高亮显示)方法

    在开发项目过程中,为了方便调试代码,经常会向stdout中输出一些日志,默认的这些日志就直接显示在了终端中.而一般的应用服务器,第三方库,甚至服务器的一些通告也会在终端中显示,这样就搅乱了我们想要的信 ...

  4. [转]SSH 原理和基本使用:ssh 安全配置 以及ssh key 认证登录

    一.什么是 SSH ? SSH全称(Secure SHell)是一种网络协议,顾名思义就是非常安全的shell,主要用于计算机间加密传输.早期,互联网通信都是基于明文通信,一旦被截获,内容就暴露无遗. ...

  5. android check box 自定义图片

    http://blog.csdn.net/competerh_programing/article/details/7417074

  6. POJ 3216 Repairing Company(最小路径覆盖)

    POJ 3216 Repairing Company id=3216">题目链接 题意:有m项任务,每项任务的起始时间,持续时间,和它所在的block已知,且往返每对相邻block之间 ...

  7. wget常见用法

    1.很多软件官网会有安装脚本,并把脚本搞成raw模式,方便下载后直接运行的shell文件.比如docker wget -qO- get.docker.com | bash -q的含义是:--quiet ...

  8. nginx configure fastdfs + SSL

    ./configure \ --prefix=/usr/local/nginx \ --with-http_stub_status_module \ --with-http_ssl_module \ ...

  9. hibernate中的saveOrUpdate()报错

    最近使用hibernate保存数据的时候,没有使用id自增主键,而是使用了一种调用seq以后手动赋值的方式生成主键,然后使用saveorupdate()报错.上网查看终于知道了问题所在,记录一下: 在 ...

  10. 使用sqoop将MySQL数据库中的数据导入Hbase

    使用sqoop将MySQL数据库中的数据导入Hbase 前提:安装好 sqoop.hbase. 下载jbdc驱动:mysql-connector-java-5.1.10.jar 将 mysql-con ...