[全志A33-Vstar]Uboot
Envcpu: allwinner a33board: vstarhost: ubuntu 22.04
需要安装交叉编译工具链:
❯ sudo apt install gcc-arm-linux-gnueabihf
FEL模式通过FEL模式可以启动uboot或将内核镜像等文件下载到内存,是个很方便的功能。
若要使用fel系列的工具,需要先安装:
❯ sudo apt-get install sunxi-tools
vstar开发板进入fel的方式有两种:
按住power键不松手,随后按reset,等待1s后放开power键
按住vol + 键不松手,随后按reset,连续短按5-10次power键后有一个灯闪烁一下,此时松开vol+键即可进入。
fel烧写uboot命令:
❯ sudo sunxi-fel uboot ./u-boot-sunxi-with-spl.bin
uboot-sunxi仓库试错该章节并没有成功,所以如果想学习可以看看,只是想移植uboot就可以跳到下一个章节
要移植uboot首先想到的肯定是全志的uboot仓库,先拉下来代码:
❯ git clone ...
Ubuntu使用命令行修改分辨率
$ xrandrScreen 0: minimum 320 x 200, current 1920 x 1080, maximum 3840 x 2160HDMI-1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 477mm x 268mm 1920x1080 60.00*+ 1680x1050 60.00 1280x1024 60.00 ...eDP-1 connected (normal left inverted right x axis y axis) 1366x768 60.00*+ 1280x720 60.00 1024x768 60.00 ...$ xrandr --output HDMI-1 --mode 1920x1080
docker上传至hub
将已有容器提交为镜像如果你当前有的是一个正在运行的Docker容器,而不是镜像,你可以将这个容器保存为镜像,然后再上传到 Docker Hub。
可以使用docker commit命令,将当前容器保存为一个新的 Docker 镜像:
❯ docker commit <container-id> <new-image-name>
如果你的容器 ID 是 abc123,并且你想把它保存为名为 my-app-image 的镜像:
❯ docker commit abc123 my-app-image
如果你需要附加信息,可以使用-m选项添加你要提交的信息
使用docker images可以查看生成的镜像。
标记镜像现在已经有了一个镜像,即便没有,是容器的话,经过上一步骤也应该有了镜像,现在需要给镜像打标签标记版本:
❯ docker tag <new-image-name> <hub-username>/<repository-name>:<tag>
推送镜像现在可以将标记的镜像推送到docker hub了:
❯ ...
使用pxelinux启动内核
EnvBoard: BPI-F3 based on k1 of SpaceMit
Note: 本文默认已经在主机待建成功tftp服务
Content设置IP在主机上查询ip:
❯ ifconfigenx00e099a751b1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.230.28 netmask 255.255.255.0 broadcast 192.168.230.255 inet6 fe80::7d95:76be:c484:17b6 prefixlen 64 scopeid 0x20<link> ether 00:e0:99:a7:51:b1 txqueuelen 1000 (以太网) RX packets 223389 bytes 75866217 (75.8 MB) RX errors 0 dropped 94 overruns 0 frame 0 TX pa ...
OpenHarmony标准系统认证
环境配置该部分在Windows上完成
确保python版本为3.7以上,3.7.8是推荐的,但不是绝对的:
python --versionPython 3.7.8
安装包:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple setuptoolspip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyserialpip install -i https://pypi.tuna.tsinghua.edu.cn/simple rsapip install -i https://pypi.tuna.tsinghua.edu.cn/simple python-dateutil
Acts应用兼容性测试在这里选择OH对应的版本的套件和资源文件。
需要注意的一点就是,Acts套件如果是arm32可以直接下载,但是其他的需要在OH源代码目录进行编译。
由于这里是arm64, 所以要编译一下Acts套件。
进入OH的源码根目录后:
$ cd test/xts/acts$ ./bu ...
rk3568移植主线内核
EnvBoard: Lubancat-2io
这篇文章需要用到之前移植的uboot和extlinux的基础知识。
Get source❯ git clone [email protected]:torvalds/linux.git
查看一下dts的内容:
❯ ls arch/arm64/boot/dts/rockchip/rk3568* | grep lubancatarch/arm64/boot/dts/rockchip/rk3568-lubancat-2.dts
主线是有lubancat-2的设备树的,这就很大的方便了我们,可以稍作修改设备树即可完美在2io上全适配。
内核config配置❯ ls arch/arm64/configsdefconfig hardening.config virt.config
这里并没有rk3568 evb板子的配置文件,所以我们就先使用defconfig就好,遇到什么问题再解决什么问题。
❯ make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- defconfig❯ make ARCH=arm6 ...
rk3568的minipcie无法使用usb功能
From a8f5220957ebf1e7b45b9093319e4a5a9da13024 Mon Sep 17 00:00:00 2001From: Troy Mitchell <[email protected]>Date: Fri, 30 Aug 2024 14:11:28 +0800Subject: [PATCH 1/1] modify rk3568-hbis-p68.dtsi: add usb hub regulator node and the controling gpio that enables the hub.Signed-off-by: Troy Mitchell <[email protected]>--- .../rk3568/kernel/dts/rk3568-hbis-p68.dtsi | 86 +++++++++++++++++-- 1 file changed, 81 insertions(+), 5 deletions(-)diff --git a/device/board/hihope ...
野火uboot使用extboot启动内核流程
查看野火uboot参数:
=> printenv bootcmdbootcmd=run distro_bootcmd;boot_android ${devtype} ${devnum};boot_fit;bootrkp;
可以看到第一个命令是distro_bootcmd,事实上,野火的extboot也就是从这里启动的:
=> printenv distro_bootcmd distro_bootcmd=for target in ${boot_targets}; do run bootcmd_${target}; done
关于distro_bootcmd更详细的内容可以查看:https://blog.505218.xyz/2024/08/23/Rockchip-%E7%B3%BB%E5%88%97%E8%8A%AF%E7%89%87uboot-distro-cmd/
这里直接进入到bootcmd_mmc0,也就是从emmc启动,sd卡大同小异:
=> printenv bootcmd ...
rk3568移植uboot
EnvSystemt: Ubuntu 22.04
Content首先克隆仓库:
❯ git clone --depth=1 https://github.com/Caesar-github/u-boot# 这是rkbin仓库,至于为什么克隆见https://blog.505218.xyz/2024/08/23/rk3568%E7%A7%BB%E6%A4%8Duboot/❯ git clone --depth=1 [email protected]:Caesar-github/rkbin.git
执行以下命令:
❯ cd uboot && ./make.sh rk3568
生成以下文件:
❯ ls rk356x_spl_loader_v1.13.112.binrk356x_spl_loader_v1.13.112.bin❯ ls uboot.imguboot.img
其中rk356x_spl_loader_v1.13.112.bin是由rkbin仓库的ddr init.bin和miniloader合并成的,了解原理并手动合成可以看https://blog.505218.x ...
docker搭建的ha无法使用homekit bridge
Refhttps://juejin.cn/post/7075383203820732430