# Orangepi Zero 2W “移植” AOSC OS半成功!

**URL:** <https://bbs.aosc.io/t/topic/817>\
**Category:** 设备支持\
**Created:** [2026 年9 月 25 日 09:52 UTC](https://bbs.aosc.io/t/topic/817 "2026-09-25T09:52:57Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![liujunyi](https://bbs.aosc.io/letter_avatar_proxy/v4/letter/l/3bc359/32.png) [@liujunyi](https://bbs.aosc.io/u/liujunyi)\
**Post date:** [2026 年9 月 25 日 09:52 UTC](https://bbs.aosc.io/t/topic/817/1 "2026-09-25T09:52:57Z")

</div>

(其实严格来说并不算移植)

首先附上一副图片和一段视频

 ![IMG20260924213430](https://bbs.aosc.io/uploads/default/original/1X/d8856d0a78f70f942340829442f2583bfdd54e16.jpeg)  
(视频丢了(悲))  
这是通过串口连接至我的 Orange Pi Zero 2W 并运行fastfetch的场景，可以看到由于我才开始干这件事，大多数东西仍然未设置。

事情的起因是我在高中里自由活动时间 ~~没事干~~ 突发奇想，Armbian 是一个专门为大大小小的开发板适配的项目，其中我的 Orange pi Zero 2W 是受 community 支持的，并且运行 Armbian Compile.sh 的时候会生成开发板系统所需的 .deb 文件，包括了设备树和内核等等，既然如此，为什么不用这些玩意快速适配各大开发板呢？

目前我做的移植的缺陷：你能想到的，包括 ~~HDMI~~ ,板载 WiFi , ~~网口~~ 等等等等都用不了。 ~~那这好像没什么用啊~~  
能用的部分:TF卡的读取与写入，soc , 内存，USB，串口，LED，(似乎gpio能工作但我没试)。  
26/9/25，21：16补充：目前通过opencode的一大堆申必操作，hdmi和网口能工作了。（A1 Sauce太好用了你知道吗）

下面是我的移植过程(A1 Sauce警告)：  
首先下载 Armbian 的 Compile.sh , 再通过合适的参数编译出 Orange Pi Zero 2W 的cli镜像， ~~然后可以把生成的镜像撇了~~ 把output里除了linux-libc的linux前缀的.deb包全拷出来。  
同时，下好AOSC OS arm64的 rootfs（我用的是base,不知道问题是不是出在这里），解压并设置好权限，安装 qemu-aarch64-static 包，用 arch-chroot 启动解压好的rootfs,更新。  
将 linux-image 包里的所有文件直接复制出来到对应的路径，将 linux-dtb , linux-headers , linux-uboot 包用 oma 装好，oma 会自动处理专用 vmlinuz ,搞完后退出(注意此时可能 qemu 会出现问题)。  
将 /usr/lib/u-boot-sunxi-with-spl.bin 拷出并用 sudo dd if=u-boot-sunxi-with-spl.bin of=(你存储卡的路径) bs=1k seek=8 conv=fsync刷入（命令是A1输出的），用 gparted 创建分区，空出前面2mb,将刚刚的rootfs保留权限拷贝进来。  
更改 /boot/extlinux/extlinux.conf ,把 ro 改为 rw , 同时把默认改为 sunxi 那个内核，然后拔了存储卡插开发板上，连接串口并监测，上电，可以发现启动了 AOSC OS.

作用：或许能给快速移植提供思路，但可能会引起争议

反正我接下来一个月会完善这东西，到时候再看看吧。 ~~接下来一个月有事干喽~~  
说实话我并不懂移植，只知道有DTB和内核还有驱动是难关，要是有谁能教我就好了。。。

---

<div class="post-metadata">

**Author:** ![liujunyi](https://bbs.aosc.io/letter_avatar_proxy/v4/letter/l/3bc359/32.png) [@liujunyi](https://bbs.aosc.io/u/liujunyi)\
**Post date:** [2026 年9 月 29 日 11:46 UTC](https://bbs.aosc.io/t/topic/817/2 "2026-09-29T11:46:54Z")

</div>

当我意识到自己做的事其实很低级.jpg  
现在通过另外半天的努力重新对AOSC OS desktop rootfs(大小写和空格问题致歉)进行移植，发现如下：  
1.摸清了A1是怎么让我的网口和hdmi跑起来的：将 ~~被撇掉的~~ 镜像里对应的/lib/modules/7.0.14-edge-sunxi64(用current可能不叫这个名字)替换掉linux-image包里的同名文件夹以及内部的所有文件驱动就好了（但WIFI还是炸的（悲））  
2.发现在配置完之后7.1.13-aosc-main内核是可以启动的，没准可以并入（但驱动全炸了）  
3.编译时记得打开一堆压缩支持，不然会炸  
4.不要随便更新，我刚刚更新被跑了一次dracut就直接炸了  
附一副图

 ![IMG20260929212543](https://bbs.aosc.io/uploads/default/original/1X/2adc2b041419046e5171d8a8694bd679e6e26a21.jpeg)

---

<div class="post-metadata">

**Author:** ![youxiaojie](https://bbs.aosc.io/letter_avatar_proxy/v4/letter/y/45deac/32.png) [@youxiaojie](https://bbs.aosc.io/u/youxiaojie)\
**Post date:** [2026 年10 月 9 日 04:40 UTC](https://bbs.aosc.io/t/topic/817/3 "2026-10-09T04:40:03Z")

</div>

要写设备树的。把别的发行版的设备树提取出来，这个内核加载时使用就可以了。arm平台就是一个设备树。

---

<div class="post-metadata">

**Author:** ![liujunyi](https://bbs.aosc.io/letter_avatar_proxy/v4/letter/l/3bc359/32.png) [@liujunyi](https://bbs.aosc.io/u/liujunyi)\
**Post date:** [2026 年10 月 9 日 14:30 UTC](https://bbs.aosc.io/t/topic/817/4 "2026-10-09T14:30:17Z")

</div>

不用吧，armbian有个dtb包把orangepi zero 2w的设备树搞上了

---

<div class="post-metadata">

**Author:** ![youxiaojie](https://bbs.aosc.io/letter_avatar_proxy/v4/letter/y/45deac/32.png) [@youxiaojie](https://bbs.aosc.io/u/youxiaojie)\
**Post date:** [2026 年10 月 9 日 18:30 UTC](https://bbs.aosc.io/t/topic/817/5 "2026-10-09T18:30:36Z")

</div>

既然已经有了，通过grub加载就都能认出来啊？

在 2026-10-09 22:40:22，liujunyi [bbs@aosc.io](mailto:bbs@aosc.io) 写道：

---

<div class="post-metadata">

**Author:** ![liujunyi](https://bbs.aosc.io/letter_avatar_proxy/v4/letter/l/3bc359/32.png) [@liujunyi](https://bbs.aosc.io/u/liujunyi)\
**Post date:** [2026 年10 月 9 日 22:12 UTC](https://bbs.aosc.io/t/topic/817/6 "2026-10-09T22:12:43Z")

</div>

请问Orangepi zero 2w哪来的BIOS来识别grub(当然不排除有些开发板，如orangepi 6 plus有)，我的开发板用的是u-boot启动的，而且我是缺了wifi的闭源内核驱动才无法加载。

---

<div class="post-metadata">

**Author:** ![youxiaojie](https://bbs.aosc.io/letter_avatar_proxy/v4/letter/y/45deac/32.png) [@youxiaojie](https://bbs.aosc.io/u/youxiaojie)\
**Post date:** [2026 年10 月 14 日 08:55 UTC](https://bbs.aosc.io/t/topic/817/7 "2026-10-14T08:55:32Z")

</div>

说得对，我忽略了。arm 基本都是uboot uboot有两种方式，一种直接加载内核设备树二合一的内核，一种分开加载。boot /bootz 内核地址 内存盘地址 设备树地址引导

---

<div class="post-metadata">

**Author:** ![liujunyi](https://bbs.aosc.io/letter_avatar_proxy/v4/letter/l/3bc359/32.png) [@liujunyi](https://bbs.aosc.io/u/liujunyi)\
**Post date:** [2026 年10 月 17 日 03:41 UTC](https://bbs.aosc.io/t/topic/817/8 "2026-10-17T03:41:23Z")

</div>

我现在想在此基础上编写一个自动移植的脚本，但是我写的代码一坨，有谁能帮我吗？

---

<div class="post-metadata">

**Author:** ![liujunyi2](https://bbs.aosc.io/letter_avatar_proxy/v4/letter/l/d9b06d/32.png) [@liujunyi2](https://bbs.aosc.io/u/liujunyi2)\
**Post date:** [2026 年10 月 18 日 12:23 UTC](https://bbs.aosc.io/t/topic/817/9 "2026-10-18T12:23:21Z")

</div>

这是我在学校的第二个账号，没准有时我会在这发

（没错拿学校电脑注册的）

---

<div class="post-metadata">

**Author:** ![liujunyi](https://bbs.aosc.io/letter_avatar_proxy/v4/letter/l/3bc359/32.png) [@liujunyi](https://bbs.aosc.io/u/liujunyi)\
**Post date:** [2026 年10 月 24 日 04:36 UTC](https://bbs.aosc.io/t/topic/817/10 "2026-10-24T04:36:16Z")

</div>

(诶话说我这个东西不会违反社区守则了吧)  
·安同开源社区 **决不会** 容忍任何形式的剽窃行为  
有谁能回答我这东西算剽窃吗?

---

<div class="post-metadata">

**Author:** ![白铭骢](https://bbs.aosc.io/user_avatar/bbs.aosc.io/%E7%99%BD%E9%93%AD%E9%AA%A2/32/12_2.png) [@白铭骢](https://bbs.aosc.io/u/%E7%99%BD%E9%93%AD%E9%AA%A2)\
**Post date:** [2026 年10 月 25 日 02:16 UTC](https://bbs.aosc.io/t/topic/817/11 "2026-10-25T02:16:18Z")

</div>

“剽窃”特指不经许可、不带来源说明，擅自说明为自身工作结果的做法（见学术剽窃）

---

<div class="post-metadata">

**Author:** ![liujunyi](https://bbs.aosc.io/letter_avatar_proxy/v4/letter/l/3bc359/32.png) [@liujunyi](https://bbs.aosc.io/u/liujunyi)\
**Post date:** [2026 年10 月 25 日 12:15 UTC](https://bbs.aosc.io/t/topic/817/12 "2026-10-25T12:15:55Z")

</div>

哦那没事了，我可以放心继续我的脚本编写了，谢谢
