0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【飞腾派4G版免费试用】第一章:从 Armbian 构建并安装 jammy 到飞腾派

杨永胜 来源:iysheng 作者:iysheng 2023-12-12 00:43 次阅读

Armbian 构建并安装 jammy 到飞腾派

前段时间在 licheepi 4A 上学习了一段时间的 Armbian 构建工程,同时为[Armbian/build]https://github.com/armbian/build 项目提交并合并了几个 pr.这次本着试试的态度尝试在飞腾派上通过 Armbian 构建出工程并计划提交到 Armbian 的上游。

经过一段时间的开发,目前已经可以编译出来 img 镜像

▸ ls output/images/Armbian-unofficial_24.2.0-trunk_Phytiumpi_jammy_legacy_5.10.153_minimal.img*
output/images/Armbian-unofficial_24.2.0-trunk_Phytiumpi_jammy_legacy_5.10.153_minimal.img
output/images/Armbian-unofficial_24.2.0-trunk_Phytiumpi_jammy_legacy_5.10.153_minimal.img.sha
output/images/Armbian-unofficial_24.2.0-trunk_Phytiumpi_jammy_legacy_5.10.153_minimal.img.txt

并经过特殊的手动烧写可以正常启动了。本章主要介绍下,现阶段如何使用 Armbian 构建出来的工程。

这部分代码,我整理好之后会尝试提交到[Armbian/build]https://github.com/armbian/build ,因为目前缺少打包 fip-all-sd-boot.bin 这部分内容,暂时代码还在我自己的仓库,如果大家感兴趣,欢迎大家尝试自己构建出飞腾派的 Armbian 镜像。我的仓库地址是[https://github.com/iysheng/build/tree/org_main]https://github.com/iysheng/build/tree/org_main

构建过程

下载 Armbian 的源码,并安装工具链到本地,考虑到网络问题,执行下述命令进行构建:

#!/bin/sh

export SHOW_LOG=yes
export SHOW_DEBUG=yes
export SHOW_COMMAND=yes
export NO_HOST_RELEASE_CHECK=yes
export GHCR_MIRROR=dockerproxy

./compile.sh build KERNEL_COMPILER=aarch64-none-linux-gnu- GITHUB_MIRROR=ghproxy REGIONAL_MIRROR=china BOARD=phytiumpi BRANCH=legacy BUILD_DESKTOP=no BUILD_MINIMAL=yes KERNEL_CONFIGURE=no RELEASE=jammy SKIP_EXTERNAL_TOOLCHAINS=yes

因为我是在 Fedora 38 PC上构建的而非官方建议的 Ubuntu 系列,所以我的代码中会有一些跳过 host 工具检查的地方,相信大家在编译过程中可以轻松解决这类命令找不到问题。

顺利构建完成后,就会在 output/images 目录下生成相应的 img 文件。

烧录过程

烧录过程着实让我研究了也会,经过几个小时的思考和测试,顺利的引导起来了系统。目前烧写分为如下几个步骤:

  1. 烧录网盘中的 fipsd-boot.bin 文件,这里面至少是由 uboot 的,有关这个文件是如何生成的?以及飞腾的启动引导流程,如果有了解的伙伴,希望可以指点指点。针对这个问题,我向萤火的技术支持也发送了邮件咨询,如果这部分内容我有进一步的了解,会继续填坑。
  2. 给sd卡分区,因为 Armbian 生成的 img,默认是包含有 boot 分区和 root 分区的,其中 boot 分区中包含了内核和设备树,root 分区包含的是根文件系统。具体如何分区呢,首先使用如下命令检查生成的 img 文件:
▸ fdisk -l output/images/Armbian-unofficial_24.2.0-trunk_Phytiumpi_jammy_legacy_5.10.153_minimal.img
Disk output/images/Armbian-unofficial_24.2.0-trunk_Phytiumpi_jammy_legacy_5.10.153_minimal.img: 1.27 GiB, 1367343104 bytes, 2670592 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
Disklabel type: dos
Disk identifier: 0x2448961d

Device                                                                                     Boot  Start     End Sectors  Size Id Type
output/images/Armbian-unofficial_24.2.0-trunk_Phytiumpi_jammy_legacy_5.10.153_minimal.img1      131072  655359  524288  256M ea Linux extended boot
output/images/Armbian-unofficial_24.2.0-trunk_Phytiumpi_jammy_legacy_5.10.153_minimal.img2      655360 2670591 2015232  984M 83 Linux

严格按照镜像信息进行分区,分为两个区。分好之后是这样的:

red@phytiumpi:~$ fdisk -l /dev/mmcblk0
Disk /dev/mmcblk0: 14.88 GiB, 15980298240 bytes, 31211520 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
Disklabel type: dos
Disk identifier: 0x0001a0bd

Device         Boot  Start      End  Sectors  Size Id Type
/dev/mmcblk0p1      131072   655359   524288  256M 83 Linux
/dev/mmcblk0p2      655360 30867456 30212097 14.4G 83 Linux
  1. 从 img 中提取 boot 分区内容到 sd 卡对应的分区,有了第二步骤的基础,这里的命令就简单了:
▸ sudo dd if=output/images/Armbian-unofficial_24.2.0-trunk_Phytiumpi_jammy_legacy_5.10.153_minimal.img of=/dev/mmcblk0p1 skip=131072 count=524288 status=progress
266297856 bytes (266 MB, 254 MiB) copied, 31 s, 8.6 MB/s
524288+0 records in
524288+0 records out
268435456 bytes (268 MB, 256 MiB) copied, 41.5903 s, 6.5 MB/s
  1. 从 img 中提取 root 分区内容到 sd 卡对应的分区,有了第三步骤的基础,这里的命令就更简单了:
▸ sudo dd if=output/images/Armbian-unofficial_24.2.0-trunk_Phytiumpi_jammy_legacy_5.10.153_minimal.img of=/dev/mmcblk0p2 skip=655360 count=2015232 status=progress
1025802752 bytes (1.0 GB, 978 MiB) copied, 149 s, 6.9 MB/s
2015232+0 records in
2015232+0 records out
1031798784 bytes (1.0 GB, 984 MiB) copied, 154.554 s, 6.7 MB/s

启动测试

烧录好镜像之后,就开始启动测试了,需要注意,修改 bootcmd 和 bootargs,分别如下:

Phytium-Pi#printenv bootcmd
bootcmd=ext4load mmc 0:1 0x90100000 Image;ext4load mmc 0:1 0x90000000 dtb/phytium/phytiumpi_firefly.dtb;booti 0x90100000 -:- 0x90000000
Phytium-Pi#printenv bootargs
bootargs=console=ttyAMA1,115200 earlycon=pl011,0x2800d000 root=/dev/mmcblk0p2 rootfstype=ext4 rootwait  rw

接着就是引导启动了,首次会创建用户以及root密码等内容,这里就跳过了,这里展示几个系统截图:
Screenshot from 2023-12-12 00-06-11.png
Screenshot from 2023-12-12 00-16-24.png

因为为申请的项目偏向算法开发,所以对用户界面就没有过多要求,从我提供的构建脚本也可以看出,选择的是BUILD_DESKTOP=no BUILD_MINIMAL=yes 。本章暂时到这里了,更多内容敬请期待。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • SD卡
    +关注

    关注

    2

    文章

    559

    浏览量

    63792
  • 命令
    +关注

    关注

    5

    文章

    678

    浏览量

    21983
  • 脚本
    +关注

    关注

    1

    文章

    387

    浏览量

    14829
  • 飞腾派
    +关注

    关注

    2

    文章

    9

    浏览量

    205
收藏 人收藏

    评论

    相关推荐

    飞腾4G免费试用】开箱测评~关于奴家南宋穿越回来邂逅飞腾的故事

    体验,正好这次看到电子发烧友上有飞腾试用就顺手申请了,本来没有抱太大期望,后来喜出望外地发现被选中了,感谢飞腾及电子发烧友社区 飞腾
    发表于 12-07 09:30

    飞腾4G免费试用】第五:使用C++部署tflite模型飞腾

    个月来的文章汇总: 【飞腾4G免费试用第一章
    发表于 12-27 21:17

    飞腾4G免费试用】2飞腾openwrt固件烧录

    接上文【飞腾4G免费试用】环境搭建 9-工具包 Win32DiskImager2.0.1.8写镜像文件。 选择:
    发表于 12-27 21:37

    飞腾4G免费试用】初步认识飞腾4G版开发板

    这几天收到飞腾 4G 基础套件,给大家做个介绍,让大家可以了解下这块开发板, 飞腾
    发表于 01-02 22:23

    飞腾4G免费试用】大家来了解飞腾4G版开发板

    今天把收到的飞腾4G版开发板做各视频,让大家直观的了解下做工精细,布线合理,做工扎实的飞腾
    发表于 01-02 22:43

    飞腾4G免费试用飞腾开发板运行Ubuntu系统

    飞腾4G版开发板是款做工精细,布线合理的开发板,今天给大家介绍下如何运行Ubuntu系统,下面是网上的资料,帮助大家快速认识
    发表于 01-08 22:40

    飞腾4G免费试用飞腾运行uefi固件,加载通用操作系统

    步优化吧。 二、环境 飞腾4G版本, 32GU盘两个,个做
    发表于 01-11 12:35

    飞腾4G免费试用】测试用飞腾安装OpenHarmony

    飞腾开发板是萤火工场研发的款面向行业工程师、学生和爱好者的开源硬件。主板处理器采用飞腾定制四核处理器,该处理器兼容 ARM V8 指令集,包含 2 个 FTC664核和 2 个 F
    发表于 01-13 22:02

    飞腾4G免费试用】红绿灯项目-2飞腾 openkylin 进行IO控制2

    | 接上文【飞腾4G免费试用】红绿灯项目-2飞腾
    发表于 01-17 19:46

    飞腾4G免费试用】来更多的了解飞腾4G版开发板!

    以及优刻谷边缘物联网关等产品。 值得提的是,飞腾还公布了飞腾“种子计划”,该计划将在飞腾派发布
    发表于 01-22 00:34

    飞腾4G免费试用飞腾4G版开发板套装测试及环境搭建

    先简单介绍下这款飞腾4G版开发板套装; 飞腾是由中电港萤火工场研发的
    发表于 01-22 00:47

    【新品体验】飞腾4G版基础套装免费试用

    飞腾是由飞腾携手中电港萤火工场研发的款面向行业工程师、学生和爱好者的开源硬件,采用飞腾嵌入式四核处理器,兼容ARM V8架构,板载64位
    发表于 10-25 11:44

    飞腾4G免费试用】1.开箱与镜像烧录

    飞腾4G免费试用】1.开箱 & 镜像烧录 首先非常感谢 飞腾
    发表于 12-08 12:47

    飞腾4G免费试用】开发环境搭建

    ,非常有竞争力的开源产品。 欣赏完飞腾的外观和做工,下面进入正题。将这么好的开源硬件耍起来。 1、烧录系统镜像 飞腾派系统可以选择TF卡启动。 1)准备
    发表于 12-09 17:53

    飞腾4G免费试用第一章 Armbian 构建安装 jammy 飞腾

    Armbian 构建安装 jammy
    发表于 12-12 00:48