一、设置环境变量

// 写在家目录下面的 .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

am3352 linux 内核 编译,am335x uboot, kernel 编译相关推荐

  1. am335x uboot, kernel 编译

    一.设置环境变量 // 写在家目录下面的 .bashrc 里面export KERNEL_PATH=~/aplex/kernel3.2.0 // kernel 路径export UBOOT_PATH= ...

  2. linux内核的配置过程,linux内核的配置机制及其编译过程

    linux内核的配置机制及其编译过程. 一.配置系统的基本结构 Linux内核的配置系统由三个部分组成,分别是: 1.Makefile:分布在 Linux 内核源代码根目录及各层目录中,定义 Linu ...

  3. linux内核烧制,手机烧录自己编译的linux kernel

    编译linux kernel : 首先,要编译手机平台上的内核镜像,需要交叉编译工具,而一般主流的手机上的交叉编译环境都很完备了,只要把它纳入PATH目录,基本都可以make成功. 假设交叉编译环境工 ...

  4. STM32MP157开发笔记 | 04 - TF-A、uboot、linux内核源码获取、编译、烧写

    更新时间 更新内容 2021-12-20 初稿 2022-08-03 更新内核编译部分 一.编译TF-A 1. 获取TF-A源码 下载链接:en.SOURCES-tf-a-stm32mp1-opens ...

  5. 树莓派Linux内核源码配置、编译、挂载(boot/kernal/根文件)、开启新内核

    目录 一.树莓派Linux源码配置(适合树莓派) 总体概述 配置的三种方式 1.照搬厂家的配置(使用这种方式) 2.参考厂家的配置(感受一下) 3.完全自主配置(需要一定工作经验) 二.树莓派Linu ...

  6. linux 4.14.2编译,vmware中linux内核2.6.14.4编译全过程_linux教程

    很久就开始尝试编译Linux内核,但是总是遇到不少的问题,经过几十次的编译,直到现在才解决,人都要崩溃了.所以干脆把这个过程写出来,希望在你遇到同样问题的时候少走点弯路.我用的是Red Hat Lin ...

  7. Linux内核学习之路_1_编译Linux内核

    1.准备工作 1.1 学习环境 1.2 下载Linux内核源码 1.3 解压Linux内核 1.4 目录结构介绍 1.2.2 Linux内核配置 1.1 学习环境 本系列教程使用的环境如下: 操作系统 ...

  8. 嵌入式Linux内核配置、裁剪与编译浅析(ARM版)

    第一部分Linux内核裁减 (1)安装新内核: i)将新内核copy到/usr/src下并解压: #tar -zxvf linux-2.6.38.4.tar.gz ii) 将名为linux的符号链接删 ...

  9. LINUX - 实时LINUX内核(PREEMPT_RT)的编译安装以及测试

    目录 1.什么是实时性操作系统? 2.怎么实现实时性系统? 3.PREEMPT_RT 4.使用方法 4.1下载linux内核源码 4.2下载RT patch 4.3 使用方法 5.测试 6.总结 7. ...

最新文章

  1. python yield与递归
  2. NYOJ 647 奋斗的小蜗牛在请客
  3. C# 从CIL代码了解委托,匿名方法,Lambda 表达式和闭包本质
  4. spark on yarn 配置及异常解决
  5. rocketmq 初探(二)
  6. 【BZOJ - 3224】普通平衡树(Splay模板题)
  7. php返回ajax必须是数组,ajax返回数组,页面接收不到数据
  8. js中WINDOW对象
  9. 替罪羊树+3369 【模板】普通平衡树
  10. excel怎么设置自动计算_机械设计工程师辅助计算Excel表格,自动进行选型计算...
  11. 协同办公OA业务系统数据集成(4)-前端业务流程数据接口调用
  12. 牛逼哄哄的对象深复制
  13. C/C++每日一问--判断素数
  14. 如何给图片加水印?这三个图片加水印方法,帮你添加花式水印
  15. iphone版 天行skyline_‎App Store 上的“Skyline University”
  16. 接口思想将kafka topic写入到hbase中
  17. 微信小程序腾讯云环境搭建
  18. Ffmpeg中的文件格式
  19. 三维地下管线系统(CS)视频
  20. 文化的影响:整体感知与分析感知

热门文章

  1. 六、Python第六课——Python中的for循环及数字列表
  2. logisticregression参数_通俗地说逻辑回归【Logistic regression】算法(二)sklearn逻辑回归实战...
  3. arcgis 属性表 汇总_Arcgis中遥感影像地理配准、矢量化与地图制作
  4. xss-lab靶场通关writeup(1~6.......在更新)
  5. java分布式会话redis_详解springboot中redis的使用和分布式session共享问题
  6. transporter上传卡正在交付_【iOS】Xcode11使用Transporter将APP上传到App Store,卡在正在验证APP...
  7. restful风格_什么是RESTful风格的API设计?
  8. UnicodeEncodeError: 'gbk' codec can't encode character '\xeb' in position 20: illegal multibyte sequ
  9. VANSI打造全球领先的区块链数字资产交易平台
  10. 搭建网站必不可少的知识14