Orange Pi One 上手日记
Why Orange Pi One
刚刚入手OrangePi One,主要目标是选定一款国内设计生产的单板机,方便19年的市场宣传。
手头也弄好了树莓派3B+,OpenWRT的编译也做过了,WIFI驱动缺少的bin文件什么的(更新了一下openwrt master,这部分已经集成无需再折腾)。其实我并不满意树莓派,主要是串口太少,默认也没启用调试串口(虽然可以通过显示器来显示信息)。这对于FreeIOE来说是个天生的不足,使用扩展卡不利于做市场宣传。
国内不少单板机,BananaPi, NanoPi等等。最终选择OrangePi的原因是他的板子价格诚意更高,社区资料也算国内比较完善的,CPU是全志的,也能算得上鼓励国产?
亮照
移植OpenWRT 18.06
OrangePi PC固件
OrangePi PC固件是能让OrangePi One跑起来的,直接
时选择Orange Pi PC即可编译生成镜像文件。(直接解压ext4的img文件,然后dd到tf卡上即可)make menuconfig
OrangePi One专属固件
One和Pc还是有一些差别的,比如电源芯片部分PC用的是SY8106A,同时从sunxi的uboot configs里面看到CONFIG_DRAM_CLK也不一致。
OpenWRT的改动:
- u-boot
1 | --- a/package/boot/uboot-sunxi/Makefile |
- target
1 | --- a/target/linux/sunxi/image/cortex-a7.mk |
- 串口启用(非必要)
以下是 patches-4.14/900-ARM-dts-sun8i-kooiot-Orange-Pi-One.patch 文件内容1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34--- a/arch/arm/boot/dts/sun8i-h3-orangepi-one.dts
--- b/arch/arm/boot/dts/sun8i-h3-orangepi-one.dts
sw4 {
label = "sw4";
- linux,code = <BTN_0>;
+ linux,code = <KEY_RESTART>;
gpios = <&r_pio 0 3 GPIO_ACTIVE_LOW>;
};
};
&uart1 {
pinctrl-names = "default";
pinctrl-0 = <&uart1_pins>;
- status = "disabled";
+ status = "okay";
};
&uart2 {
pinctrl-names = "default";
pinctrl-0 = <&uart2_pins>;
- status = "disabled";
+ status = "okay";
};
&uart3 {
pinctrl-names = "default";
pinctrl-0 = <&uart3_pins>;
- status = "disabled";
+ status = "okay";
};
&usb_otg {
至此
并选中ext4镜像文件,之后就是等电脑干活了 -.-make menuconfig
镜像下载地址
TODO
- 重启键
重启按键绑定到KEY_RESTART也并没有启作用,这几天再研究一下。
[2019-01-30 补充]
由于config文件是从其他配置修改而来,导致kmod-gpio-button-hotplug并没有选中(CONFIG_PACKAGE_kmod-gpio-button-hotplug=y)。而选中此选项后,才能保证按键会正确触发/etc/rc.button中的脚本。
我已经将sw4案件改名为power,按下会让OrangePi One关机。(网盘镜像已经更新,如需指向其他案件脚本: 1. dts中改名 2. 更改/etc/rc.button/power脚本
1 | --- a/arch/arm/boot/dts/sun8i-h3-orangepi-one.dts |