分区扩容
看好自己的root分区在哪个设备,sd卡一般是/dev/mmcblk1,emmc是/dev/mmcblk2,用别人的dtb不一定,可能会变
然后装个gdisk (1.3版本中会默认安装, 1.2手动装一下)
使用gdisk打开磁盘,输入p
可以看到当前分区信息
rootfs在第五个分区
我们首先删掉第五个分区然后新建一个大分区,起始位置要和原来的分区一致
后三个参数直接Enter过去,默认即可
然后改一下新分区的UUID,因为是GPT分区表,bootargs中rootfs所在分区也是由UUID标示的,新建分区的UUID是个随机的内容,直接开机会无法启动,找不到rootfs
如图
把uuid改成B921B044-1DF0-41C3-AF44-4C6F280D3FAE
写入分区表
之后resize2fs即可
如图,分区已经扩大
注意如果要写入emmc,应该先dd进emmc再扩大分区
GPIO
花了一晚上xjb把GPIO试出来了
在/sys/class/leds映射了4个led,分别是风扇fan,前面的绿灯green_led_front,剩下两个我自己搞得用可以不管
开机电源按钮是GPIO 99
做了个镜像,附带一个说明
要固件加群1101467449
-
怎么控制前面板led 开启前面板led echo 1 > /sys/class/leds/green_led_front/brightness 关闭前面板led echo 0 > /sys/class/leds/green_led_front/brightness
-
怎么控制风扇 风扇插电源接口旁边那个2pin插座 开启风扇 echo 1 > /sys/class/leds/fan/brightness 关闭风扇 echo 0 > /sys/class/leds/fan/brightness
附带一个温控脚本 双温度控制,高于temp_limit_high后风扇开启 风扇启动后,低于temp_limit_low后风扇关闭 使用前面板绿灯指示风扇状态
import os
import subprocess
import time
fan_dev = "/sys/class/leds/fan/brightness"
front_led_dev = "/sys/class/leds/green_led_front/brightness"
fan_status = 0
temp_limit_high = 55
temp_limit_low = 45
def fan_on():
os.system("echo 1 > "+fan_dev)
os.system("echo 1 > "+front_led_dev)
def fan_off():
os.system("echo 0 > "+fan_dev)
os.system("echo 0 > "+front_led_dev)
def get_temp():
temp = int(subprocess.check_output(["sh", "-c", "cat /sys/class/thermal/thermal_zone0/temp"]))
return temp/1000
while 1:
time.sleep(3)
print("current temp:", get_temp())
if get_temp() > temp_limit_high and fan_status == 0:
fan_status = 1
fan_on()
if get_temp() < temp_limit_low and fan_status == 1:
fan_status = 0
fan_off()
- 怎么写入emmc
卡刷: 扩容分区之前,dd卡前2GB到emmc即可 线刷: 找台linux电脑,确保可以运行rkdeveloptool 短接emmc背面靠近gnd测试点的脚,复位或者上电,让板子进入maskrom模式 使用rkdeveloptool的db功能载入loader,loader可以从rkbin仓库找,在github 使用rkdeveloptool的wl功能,从0x0开始将镜像写入即可 不推荐使用windows线刷。。。玄学比较多