03--Armbian
文章平均质量分 57
Armbian 技术内幕和编译流程分析
嵌入式实操
践行高效开发的哲学理念
展开
-
learning armbian steps(12) ----- armbian 源码分析(七)
继续阅读lib/main.sh275 # Compile u-boot if packed .deb does not exist276 if [[ ! -f $DEST/debs/${CHOSEN_UBOOT}_${REVISION}_${ARCH}.deb ]]; then277 if [[ -n $ATFSOURCE ]]; then278 compile_atf279 fi280 compile_uboot原创 2021-01-31 12:39:21 · 444 阅读 · 0 评论 -
learning armbian steps(11) ----- armbian 源码分析(六)
接下来我们来分析一下uboot的编写过程:从 lib/compilation.sh 89开始阅读:89 compile_uboot() 90 { 91 # not optimal, but extra cleaning before overlayfs_wrapper should keep sources directory clean 92 if [[ $CLEAN_LEVEL == *make* ]]; then 93 di原创 2021-01-31 12:19:49 · 313 阅读 · 0 评论 -
learning armbian steps(10) ----- armbian 源码分析(五)
在上一节的分析当中,已经知道了uboot kernel的源代码路径及编译选项,以及rootfs的版本,相关信息如下所示:## BUILD CONFIGURATION Build target:Board: iotx-3Branch: defaultDesktop: Kernel configuration:Repository: git://git.ti.com/processor-sdk/processor-sdk-linux.gitBranch: branch:processor-s原创 2021-01-30 16:07:45 · 334 阅读 · 0 评论 -
learning armbian steps(9) ----- armbian 源码分析(四)
在上一节的分析当中,我们知道是通过对话框来选择到底编译的是哪块板子,基于什么样的配置。接下来我们来拿一个实例来分析一下具体的案例,我们会选中如下所示的版本iotx-3 AM335X 1Gb SoC eMMC相当于BOARD=iotx-3 BOARD_TYPE=conf接下来还是回到lib/main.sh当中169 source $SRC/config/boards/${BOARD}.${BOARD_TYPE}170 LINUXFAMILY="${BOARDFAMI原创 2021-01-30 16:01:22 · 418 阅读 · 0 评论 -
learning armbian steps(8) ----- armbian 源码分析(三)
在lib/main.sh当中 13 if [[ $(basename $0) == main.sh ]]; then 14 echo "Please use compile.sh to start the build process" 15 exit -1 16 fi 17 18 # default umask for root is 022 so parent directories won't be group writeable without this原创 2021-01-30 15:47:46 · 719 阅读 · 0 评论 -
learning armbian steps(7) ----- armbian 源码分析(二)
简要描述-本文正式从compile.sh脚本分析其编译过程,跟着脚本代码开始深入学习开始解析从compile.sh开始入手: 16 SRC="$(dirname "$(realpath "${BASH_SOURCE}")")" 17 # fallback for Trusty 18 [[ -z "${SRC}" ]] && SRC="$(pwd)" 19 20 # check for whitespace in $SRC and exit for safety reason原创 2021-01-30 15:34:59 · 473 阅读 · 0 评论 -
learning armbian steps(6) ----- armbian 源码分析(一)
简要描述前面已经学习了如何手动构建arm ubuntu rootfs,为了深入学习armbian。但由于armbian官方的文档比较的匮乏,所以最终还是决定通过其编译的过程并阅读其编译脚本来深入地学习。分析思路为了快速度深入地学习armbian 决定通过compile.sh来抓取完整的编译过程,来了解其大体的编译过程。然后再来阅读其compile.sh脚本。 通过对编译过程的分析, 总结如下:编译时,需要超级用户权限。提示是否只编译uboot kernel 或者uboot kern原创 2021-01-30 15:18:23 · 558 阅读 · 0 评论 -
learning armbian steps(5) ----- armbian 构建arm rootfs
简要描述基于learning armbian step(4) 的总结,我们来实践一下,接下来的会把整个构建的log都贴出来:操作日记安装相关的工具vmuser@vmuser-virtual-machine:~/qemu-arm$ sudo apt-get install qemu-user-static[sudo] password for vmuser:Reading package lists… DoneBuilding dependency treeReading state原创 2021-01-30 15:09:43 · 849 阅读 · 1 评论 -
learning armbian steps(4) ----- armbian 技术内幕
简要描述本文主要简述自已学习armbian的思路在学习新的框架之前,肯定有一个原型机,通过最普通的指令来实现其功能。做到这一点之后,所有的东西都不在是秘密,缺的时间进行系统深入的学习。操作思路其实可以自已先来手动构建一个原生的arm 文件系统,基于qemu-user-static debootstrap chroot命令就可以实现。通过qemu-debootstrap可以构建原生的arm 文件系统。通过qemu-aarch64-static 及chroot, 可以在X86主机上对a原创 2021-01-30 14:56:13 · 371 阅读 · 0 评论 -
learning armbian steps(3) ----- armbian 文件系统定制思路
简要描述本文给出如何定制自已的armbian文件系统。ubootkernelrootfs针对linux 系统开发人员来说,真正有用的只是其armbian文件系统,将其制作成所需的文件系统格式,如ubifs ext4等,并烧录在存储介质上面,就可以使用armbian文件系统。当然文件系统的制作,一般会使用loop device来制作。loop device制作,可参考:https://www.cnblogs.com/lianghong881018/p/10177329.html最终期望的原创 2021-01-30 14:52:52 · 817 阅读 · 0 评论 -
learning armbian steps(2) ----- armbian 镜像编译
简要描述本文主要是参考:https://docs.armbian.com/Developer-Guide_Build-Preparation/ 搭建armbian编译开发环境。如何操作通过如下指令进行编译:apt-get -y -qq install gitgit clone --depth 1 https://github.com/armbian/buildcd build./compile.sh本人选中的是rk3399.镜像输出最终最关心的是:uboot kernel r原创 2021-01-30 14:46:59 · 873 阅读 · 0 评论 -
learning armbian steps(1) ----- armbian 入门知识基础学习
第一问: armbian是什么?Armbian是轻量级的Debian系统和为ARM开发板专门发行并重新编译的Ubuntu系统。第二问: 什么场景下会用到armbian系统?一个带有arm编译器及apt安装工具的arm linux文件系统显得非常的有用。为快速开发,为快速验证,提供了便利,比如在arm linxu上运行arm docker。省去了很多交叉编译的工作量在里面。直接在arm板子上面开发,安装svn工具。当然armbian也是支持制作带桌面系统的arm linux文件系统。第三问: 如何原创 2021-01-30 14:40:25 · 926 阅读 · 0 评论