There are currently 63 posts.
Font size: Small - 100% (Default)  Content converter: No conversion
 
Clicks Replies
157 62
入手三块蓝色的RK3308B开发板
巨大八爪鱼
武林盟主 二十一级
Reply
Floor 1 Posted at: 7/28/26 15:41
巨大八爪鱼
武林盟主 二十一级
Reply
Floor 2 Posted at: 7/28/26 15:43
 
巨大八爪鱼: LCPI RK3308B四核CPU开发板 DDR3-2Gbit 物联网开发板:https://item.taobao.com/item.htm?id=895164956309
  7/28/26 20:25 Reply
巨大八爪鱼: 【川宇旗舰店】
川宇双头typec数据线适用苹果16iPhone15充电线ipad快充电器线华为小米电脑tpyec充电线器usbc加:https://detail.tmall.com/item.htm?id=820012786591
川宇64g行车记录仪内存卡sd高速tf手机内存卡C10监控摄像存储音响:https://detail.tmall.com/item.htm?id=681760890726
川宇读卡器多合一多功能3.0高速tf卡内存电脑micro sd卡通用车载手机读卡器:https://detail.tmall.com/item.htm?id=532576105980
  7/28/26 20:28 Reply
巨大八爪鱼
武林盟主 二十一级
Reply
Floor 3 Posted at: 7/28/26 20:03
 
巨大八爪鱼: 详细页面:https://wiki.radxa.com/RockpiS/downloads
  7/28/26 20:23 Reply
巨大八爪鱼
武林盟主 二十一级
Reply
Floor 4 Posted at: 7/28/26 20:06
在64位Windows 7系统上安装balenaEtcher烧录软件。
用USB读卡器将一张全新的64GB内存卡插入电脑,运行balenaEtcher烧录软件,直接烧录rockpis_ubuntu_focal_server_arm64_20210924_0418-gpt.img.gz镜像文件。烧录完成后把SD卡插到开发板上就能成功开机了。
(备注:不需要运行SDFormatter V3.1)

 
巨大八爪鱼: 板子只需要插一根TypeC的USB线到电脑上。
  7/28/26 20:22 Reply
巨大八爪鱼: 在电脑上用adb shell进板子的命令行。
  7/28/26 20:45 Reply
巨大八爪鱼
武林盟主 二十一级
Reply
Floor 5 Posted at: 7/28/26 20:13
大部分SD卡空间都分给了根目录。
巨大八爪鱼
武林盟主 二十一级
Reply
Floor 6 Posted at: 7/28/26 20:21
打开WiFi:
# nmcli r wifi on
#

连接路由器:
# nmcli dev wifi connect "TP-LINK_0034" password "BJ0014iot"
Device 'p2p0' successfully activated with '44313867-7cd7-4d3c-b9c8-45e7e877b853'
.
# ping www.baidu.com -c 4
PING www.a.shifen.com (220.181.111.232) 56(84) bytes of data.
64 bytes from 220.181.111.232 (220.181.111.232): icmp_seq=1 ttl=53 time=9.53 ms
64 bytes from 220.181.111.232 (220.181.111.232): icmp_seq=2 ttl=53 time=7.31 ms
64 bytes from 220.181.111.232 (220.181.111.232): icmp_seq=3 ttl=53 time=5.23 ms
64 bytes from 220.181.111.232 (220.181.111.232): icmp_seq=4 ttl=53 time=5.37 ms

--- www.a.shifen.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3005ms
rtt min/avg/max/mdev = 5.232/6.860/9.534/1.748 ms
#

查看板子IP地址:
# ifconfig p2p0
p2p0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.100  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::e10f:6e24:ca58:a2ae  prefixlen 64  scopeid 0x20<link>
        ether 32:5a:5f:2a:1e:e9  txqueuelen 1000  (Ethernet)
        RX packets 419  bytes 108879 (108.8 KB)
        RX errors 0  dropped 3  overruns 0  frame 0
        TX packets 39  bytes 4477 (4.4 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

#

可以看到板子的IP地址是192.168.1.100,然后就可以用电脑上的ssh软件连上板子,进命令行了。
用户名和密码都是rock。
巨大八爪鱼
武林盟主 二十一级
Reply
Floor 7 Posted at: 7/28/26 20:32
巨大八爪鱼
武林盟主 二十一级
Reply
Floor 8 Posted at: 7/28/26 20:36
巨大八爪鱼
武林盟主 二十一级
Reply
Floor 9 Posted at: 7/28/26 20:37
川宇数据线
巨大八爪鱼
武林盟主 二十一级
Reply
Floor 10 Posted at: 7/28/26 20:38
川宇64GB内存卡
巨大八爪鱼
武林盟主 二十一级
Reply
Floor 11 Posted at: 7/29/26 17:34
参考资料:https://wiki.radxa.com/RockpiS/dev/kernel-4.4

【编译内核】
wget https://github.com/radxa/kernel/archive/refs/heads/stable-4.4-rockpis.zip
unzip -q stable-4.4-rockpis.zip
cd kernel-stable-4.4-rockpis
make rk3308_linux_defconfig
make ARCH=arm64 CROSS_COMPILE=/home/oct1158/Documents/Code/C/Luckfox_Nova_SDK_250430/prebuilts/gcc/linux-x86/aarch64/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu-

【解决报错】
  HOSTLD  scripts/dtc/dtc
/usr/bin/ld: scripts/dtc/dtc-parser.tab.o:(.bss+0x10): multiple definition of `yylloc'; scripts/dtc/dtc-lexer.lex.o:(.bss+0x0): first defined here
collect2: error: ld returned 1 exit status
make[2]: *** [scripts/Makefile.host:100: scripts/dtc/dtc] Error 1
make[1]: *** [scripts/Makefile.build:484: scripts/dtc] Error 2
make: *** [Makefile:582: scripts] Error 2
解决办法:修改顶层Makefile文件,找到第323行
HOSTCFLAGS   := -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu89
在最后面添加-fcommon

  CC      arch/arm64/kernel/vdso.o
arch/arm64/kernel/vdso.c: In function 憊dso_init?
arch/arm64/kernel/vdso.c:119:6: warning: 憁emcmp?reading 4 bytes from a region of size 1 [-Wstringop-overflow=]
error, forbidden warning:vdso.c:119
  119 |  if (memcmp(&vdso_start, "\177ELF", 4)) {
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make[1]: *** [scripts/Makefile.build:278: arch/arm64/kernel/vdso.o] Error 1
make: *** [Makefile:1029: arch/arm64/kernel] Error 2
解决办法:修改顶层Makefile文件,找到第420行
KBUILD_CFLAGS   := -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs \
           -fno-strict-aliasing -fno-common \
           -Werror-implicit-function-declaration \
           -Wno-format-security \
           -std=gnu89 $(call cc-option,-fno-PIE)
在最后面添加-Wno-stringop-overflow

为了避免其他的错误,另外还需要添加-Wno-attribute-alias -Wno-sizeof-pointer-memaccess -Wno-missing-attributes -Wno-address-of-packed-member -Wno-zero-length-bounds -Wno-packed-not-aligned -Wno-builtin-declaration-mismatch -Wno-array-bounds -Wno-restrict -Wno-stringop-truncation

/bin/sh: 1: mkimage: not found
make[3]: *** [scripts/Makefile.lib:343: arch/arm64/boot/dts/rockchip/overlay/rockchip-fixup.scr] Error 127
make[2]: *** [scripts/Makefile.build:484: arch/arm64/boot/dts/rockchip/overlay] Error 2
make[1]: *** [scripts/Makefile.build:484: arch/arm64/boot/dts/rockchip] Error 2
make: *** [arch/arm64/Makefile:127: dtbs] Error 2
解决办法:sudo apt-get install u-boot-tools
巨大八爪鱼
武林盟主 二十一级
Reply
Floor 12 Posted at: 7/29/26 17:34
巨大八爪鱼
武林盟主 二十一级
Reply
Floor 13 Posted at: 7/29/26 17:42
编译出来的内核镜像:
oct1158@oct1158-ubuntu:~/Documents/Code/C/kernel-stable-4.4-rockpis$ ls -lh arch/arm64/boot/Image
-rwxrwxr-x 1 oct1158 oct1158 12M Jul 29 17:29 arch/arm64/boot/Image
oct1158@oct1158-ubuntu:~/Documents/Code/C/kernel-stable-4.4-rockpis$

编译出来的设备树文件:
oct1158@oct1158-ubuntu:~/Documents/Code/C/kernel-stable-4.4-rockpis$ ls -lh arch/arm64/boot/dts/rockchip/rk3308-rock-pi-s.dtb
-rw-rw-r-- 1 oct1158 oct1158 67K Jul 29 17:31 arch/arm64/boot/dts/rockchip/rk3308-rock-pi-s.dtb
oct1158@oct1158-ubuntu:~/Documents/Code/C/kernel-stable-4.4-rockpis$
巨大八爪鱼
武林盟主 二十一级
Reply
Floor 14 Posted at: 7/29/26 17:43
dtbo(Device Tree Blob Overlay)是 Linux/Android 系统中用于‌动态叠加修改硬件配置的设备树覆盖层二进制文件‌,需与主设备树(.dtb)合并后由内核加载 。‌‌核心特征
    ‌本质‌:编译后的二进制文件(由 .dts 源文件经 dtc 工具生成),非独立运行,必须叠加到主 .dtb 上生效 。
    ‌作用‌:在不修改主设备树的前提下,实现对特定硬件节点(如外设启用、引脚复用、参数调整)的增量配置,常用于区分同一 SoC 下不同机型或模块配置 。
    ‌应用场景‌:Android 启动分区(dtbo.img)、树莓派 overlays/ 目录、嵌入式 BSP 定制 。
    ‌加载机制‌:引导加载程序(Bootloader)先将 .dtb 载入内存,再应用 .dtbo 进行节点合并,最终形成完整设备树传给内核 。‌‌

与相关概念区别
    ‌DTS/DTSI‌:设备树源码(文本格式),.dts 为主文件,.dtsi 为可复用片段 。
    ‌DTB‌:主设备树二进制,描述基础硬件架构,通常由 SoC 厂商提供 。
    ‌DTBO‌:设备树叠加层二进制,描述差异化配置,由板级厂商或定制方提供 。‌‌

若需查看或修改其内容,需使用 dtc 工具反编译为 DTS 格式处理,不可直接编辑二进制文件 。‌‌

oct1158@oct1158-ubuntu:~/Documents/Code/C/kernel-stable-4.4-rockpis$ ls -lh arch/arm64/boot/dts/rockchip/overlay/*.dtbo
-rw-rw-r-- 1 oct1158 oct1158 1.3K Jul 29 17:29 arch/arm64/boot/dts/rockchip/overlay/i2c1-hym8563.dtbo
-rw-rw-r-- 1 oct1158 oct1158  546 Jul 29 17:29 arch/arm64/boot/dts/rockchip/overlay/rk3308-console-on-uart0.dtbo
-rw-rw-r-- 1 oct1158 oct1158  788 Jul 29 17:29 arch/arm64/boot/dts/rockchip/overlay/rk3308-console-on-uart1.dtbo
-rw-rw-r-- 1 oct1158 oct1158  669 Jul 29 17:29 arch/arm64/boot/dts/rockchip/overlay/rk3308-console-on-uart2.dtbo
-rw-rw-r-- 1 oct1158 oct1158  505 Jul 29 17:29 arch/arm64/boot/dts/rockchip/overlay/rk3308-i2c0.dtbo
-rw-rw-r-- 1 oct1158 oct1158  262 Jul 29 17:29 arch/arm64/boot/dts/rockchip/overlay/rk3308-i2c1.dtbo
-rw-rw-r-- 1 oct1158 oct1158  383 Jul 29 17:29 arch/arm64/boot/dts/rockchip/overlay/rk3308-i2c2.dtbo
-rw-rw-r-- 1 oct1158 oct1158  504 Jul 29 17:29 arch/arm64/boot/dts/rockchip/overlay/rk3308-i2c3.dtbo
-rw-rw-r-- 1 oct1158 oct1158  624 Jul 29 17:29 arch/arm64/boot/dts/rockchip/overlay/rk3308-i2c3-m0.dtbo
-rw-rw-r-- 1 oct1158 oct1158  624 Jul 29 17:29 arch/arm64/boot/dts/rockchip/overlay/rk3308-i2c3-m1.dtbo
-rw-rw-r-- 1 oct1158 oct1158  262 Jul 29 17:29 arch/arm64/boot/dts/rockchip/overlay/rk3308-pwm1.dtbo
-rw-rw-r-- 1 oct1158 oct1158  383 Jul 29 17:29 arch/arm64/boot/dts/rockchip/overlay/rk3308-pwm2.dtbo
-rw-rw-r-- 1 oct1158 oct1158  383 Jul 29 17:29 arch/arm64/boot/dts/rockchip/overlay/rk3308-pwm3.dtbo
-rw-rw-r-- 1 oct1158 oct1158  260 Jul 29 17:29 arch/arm64/boot/dts/rockchip/overlay/rk3308-shajin-gt970.dtbo
-rw-rw-r-- 1 oct1158 oct1158  881 Jul 29 17:29 arch/arm64/boot/dts/rockchip/overlay/rk3308-spi-spidev.dtbo
-rw-rw-r-- 1 oct1158 oct1158  382 Jul 29 17:29 arch/arm64/boot/dts/rockchip/overlay/rk3308-uart0.dtbo
-rw-rw-r-- 1 oct1158 oct1158  624 Jul 29 17:29 arch/arm64/boot/dts/rockchip/overlay/rk3308-uart1.dtbo
-rw-rw-r-- 1 oct1158 oct1158  384 Jul 29 17:29 arch/arm64/boot/dts/rockchip/overlay/rk3308-uart2.dtbo
-rw-rw-r-- 1 oct1158 oct1158  624 Jul 29 17:29 arch/arm64/boot/dts/rockchip/overlay/rk3308-uart3.dtbo
-rw-rw-r-- 1 oct1158 oct1158  295 Jul 29 17:29 arch/arm64/boot/dts/rockchip/overlay/rk3308-usb20-host.dtbo
-rw-rw-r-- 1 oct1158 oct1158  491 Jul 29 17:29 arch/arm64/boot/dts/rockchip/overlay/rk3308-w1-gpio.dtbo
-rw-rw-r-- 1 oct1158 oct1158 2.4K Jul 29 17:29 arch/arm64/boot/dts/rockchip/overlay/rockpis-dmic-8ch-pdm.dtbo
-rw-rw-r-- 1 oct1158 oct1158  963 Jul 29 17:29 arch/arm64/boot/dts/rockchip/overlay/rockpis-i2s-out.dtbo
-rw-rw-r-- 1 oct1158 oct1158  966 Jul 29 17:29 arch/arm64/boot/dts/rockchip/overlay/rockpis-spdif-out.dtbo
-rw-rw-r-- 1 oct1158 oct1158 2.5K Jul 29 17:29 arch/arm64/boot/dts/rockchip/overlay/rockpis-v11-spi2-waveshare35b-v2.dtbo
-rw-rw-r-- 1 oct1158 oct1158 2.5K Jul 29 17:29 arch/arm64/boot/dts/rockchip/overlay/rockpis-v11-spi2-waveshare35c.dtbo
-rw-rw-r-- 1 oct1158 oct1158 2.5K Jul 29 17:29 arch/arm64/boot/dts/rockchip/overlay/rockpis-v12-spi2-waveshare35b-v2.dtbo
-rw-rw-r-- 1 oct1158 oct1158 2.5K Jul 29 17:29 arch/arm64/boot/dts/rockchip/overlay/rockpis-v12-spi2-waveshare35c.dtbo
oct1158@oct1158-ubuntu:~/Documents/Code/C/kernel-stable-4.4-rockpis$
巨大八爪鱼
武林盟主 二十一级
Reply
Floor 15 Posted at: 7/29/26 18:41
【打包】
lv=-999-rockchip
kv=$(make kernelversion)
make bindeb-pkg ARCH=arm64 CROSS_COMPILE=/home/oct1158/Documents/Code/C/Luckfox_Nova_SDK_250430/prebuilts/gcc/linux-x86/aarch64/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu- LOCALVERSION=$lv-g KDEB_PKGVERSION=$kv$lv

【上传到板子上】
adb push "Z:\Documents\Code\C\linux-headers-4.4.143-999-rockchip-g_4.4.143-999-rockchip_arm64.deb" /root
adb push "Z:\Documents\Code\C\linux-image-4.4.143-999-rockchip-g_4.4.143-999-rockchip_arm64.deb" /root
adb push "Z:\Documents\Code\C\linux-firmware-image-4.4.143-999-rockchip-g_4.4.143-999-rockchip_arm64.deb" /root

【在板子上解压】
adb shell
cd /root
dpkg -i linux-headers-4.4.143-999-rockchip-g_4.4.143-999-rockchip_arm64.deb
dpkg -i linux-image-4.4.143-999-rockchip-g_4.4.143-999-rockchip_arm64.deb
dpkg -i linux-firmware-image-4.4.143-999-rockchip-g_4.4.143-999-rockchip_arm64.deb
reboot

重启后再查看内核版本字符串,可以发现里面的日期已经变了。
# uname -a
Linux rockpis 4.4.143-999-rockchip-g #2 SMP PREEMPT Wed Jul 29 18:17:30 CST 2026
 aarch64 aarch64 aarch64 GNU/Linux
#

巨大八爪鱼
武林盟主 二十一级
Reply
Floor 16 Posted at: 7/29/26 19:38
串口连接:
巨大八爪鱼
武林盟主 二十一级
Reply
Floor 17 Posted at: 7/29/26 19:45
串口连线:
巨大八爪鱼
武林盟主 二十一级
Reply
Floor 18 Posted at: 7/29/26 19:46
串口波特率:1500000
巨大八爪鱼
武林盟主 二十一级
Reply
Floor 19 Posted at: 7/29/26 19:50
通过串口,可以看到uboot里面的所有环境变量的值。
通过修改环境变量,可以自己指定根文件系统所在的SD卡分区,以及设备树文件。
巨大八爪鱼
武林盟主 二十一级
Reply
Floor 20 Posted at: 7/29/26 19:59
u-boot packages for ROCK Pi S board
2017.09-2368-ga5dffc8fcf Latest
  dev-radxa released this 22 Jul 04:43
2017.09-2368-ga5dffc8fcf
a5dffc8
巨大八爪鱼
武林盟主 二十一级
Reply
Floor 21 Posted at: 7/29/26 20:33
SD卡分区情况:
/dev/mmcblk0p1  112M   59M   54M  53% /boot
/dev/mmcblk0p2   58G  831M   55G   2% /

Device          Start       End   Sectors  Size Type
/dev/mmcblk0p1  32768    262143    229376  112M EFI System
/dev/mmcblk0p2 262144 122151007 121888864 58.1G Linux filesystem
第一个分区是挂载到/boot目录下的,第二个分区是挂载到/目录下的。

uboot bootcmd启动命令:
load mmc 0:1 0x00500000 /boot.scr
source 0x00500000
就是把第一个分区(/boot)里面的boot.scr文件加载到0x00500000内存里面,然后执行文件里面的内容。
 
巨大八爪鱼: mmc 0:1就是第0张sd卡的第1个分区(/dev/mmcblk0p1)。
  7/30/26 11:11 Reply
巨大八爪鱼
武林盟主 二十一级
Reply
Floor 22 Posted at: 7/29/26 20:34
boot.scr文件的内容:
'V+瓮m^膝?
        営nJ                                   
        # DO NOT EDIT THIS FILE
#
# Please edit /boot/uEnv.txt to set supported parameters
#

setenv load_addr "0x05000000"
setenv overlay_error "false"
# default values
setenv overlay_prefix "rockchip"
setenv rootdev "/dev/mmcblk0p1"
setenv verbosity "1"
setenv console " "
setenv overlays " "
setenv rootfstype "ext4"
setenv docker_optimizations "off"

echo "Boot script loaded from ${devtype} ${devnum}"

if test -e ${devtype} ${devnum} ${prefix}uEnv.txt; then
    load ${devtype} ${devnum} ${load_addr} ${prefix}uEnv.txt
    env import -t ${load_addr} ${filesize}
fi

setenv bootargs "initrd=${initrdimg} root=UUID=${rootuuid} rootwait rw rootfstype=${rootfstype} console=tty1 console=${console} panic=10 consoleblank=0 loglevel=${verbosity} ${extraargs} ${extraboardargs}"

if test "${docker_optimizations}" = "on"; then setenv bootargs "${bootargs} cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory swapaccount=1"; fi

load ${devtype} ${devnum} ${ramdisk_addr_r} ${prefix}${initrdimg}
load ${devtype} ${devnum} ${kernel_addr_r} ${prefix}${kernelimg}

load ${devtype} ${devnum} ${fdt_addr_r} ${prefix}dtbs/${kernelversion}/${fdtfile}
fdt addr ${fdt_addr_r}
fdt resize 65536
for overlay_file in ${overlays}; do
    if load ${devtype} ${devnum} ${load_addr} ${prefix}dtbs/${kernelversion}/rockchip/overlay/${overlay_file}.dtbo; then
        echo "Applying kernel provided DT overlay ${overlay_file}.dtbo"
        fdt apply ${load_addr} || setenv overlay_error "true"
    fi
done
for overlay_file in ${user_overlays}; do
    if load ${devtype} ${devnum} ${load_addr} ${prefix}overlay-user/${overlay_file}.dtbo; then
        echo "Applying user provided DT overlay ${overlay_file}.dtbo"
        fdt apply ${load_addr} || setenv overlay_error "true"
    fi
done
if test "${overlay_error}" = "true"; then
    echo "Error applying DT overlays, restoring original DT"
    load ${devtype} ${devnum} ${fdt_addr_r} ${prefix}dtbs/${kernelversion}/${fdtfile}
else
    if load ${devtype} ${devnum} ${load_addr} ${prefix}dtbs/${kernelversion}/rockchip/overlay/${overlay_prefix}-fixup.scr; then
        echo "Applying kernel provided DT fixup script (${overlay_prefix}-fixup.scr)"
        source ${load_addr}
    fi
    if test -e ${devtype} ${devnum} ${prefix}overlay-user/fixup.scr; then
        load ${devtype} ${devnum} ${load_addr} ${prefix}overlay-user/fixup.scr
        echo "Applying user provided fixup script (overlay-user/fixup.scr)"
        source ${load_addr}
    fi
fi
echo "initrdsize = $initrdsize"
booti ${kernel_addr_r} ${ramdisk_addr_r}:${initrdsize} ${fdt_addr_r}
# Recompile with:
# mkimage -C none -A arm -T script -d /boot/boot.cmd /boot/boot.scr

巨大八爪鱼
武林盟主 二十一级
Reply
Floor 23 Posted at: 7/30/26 11:14
/boot/uEnv.txt文件的内容:
verbosity=7
fdtfile=rockchip/rk3308-rock-pi-s.dtb
console=ttyS0,1500000n8
overlays=rk3308-uart0
rootuuid=d99ac41e-e8cc-4c73-a420-e71f15e42042
initrdsize=0x8387a9
kernelversion=4.4.143-999-rockchip-g
initrdimg=initrd.img-4.4.143-999-rockchip-g
kernelimg=vmlinuz-4.4.143-999-rockchip-g
巨大八爪鱼
武林盟主 二十一级
Reply
Floor 24 Posted at: 7/30/26 11:35
【完整的bootcmd启动命令】
setenv bootargs "initrd=initrd.img-4.4.143-999-rockchip-g root=UUID=d99ac41e-e8cc-4c73-a420-e71f15e42042 rootwait rw rootfstype=ext4 console=tty1 console=ttyS0,1500000n8 panic=10 consoleblank=0 loglevel=7"
load mmc 0:1 0x04000000 /initrd.img-4.4.143-999-rockchip-g
load mmc 0:1 0x00280000 /vmlinuz-4.4.143-999-rockchip-g
load mmc 0:1 0x01f00000 /dtbs/4.4.143-999-rockchip-g/rockchip/rk3308-rock-pi-s.dtb
fdt addr 0x01f00000
fdt resize 65536
load mmc 0:1 0x05000000 /dtbs/4.4.143-999-rockchip-g/rockchip/overlay/rk3308-uart0.dtbo
fdt apply 0x05000000
load mmc 0:1 0x05000000 /dtbs/4.4.143-999-rockchip-g/rockchip/overlay/rockchip-fixup.scr
source 0x05000000
booti 0x00280000 0x04000000:0x8387a9 0x01f00000
 
巨大八爪鱼: load mmc 0:1 0x05000000 /dtbs/4.4.143-999-rockchip-g/rockchip/overlay/rockchip-fixup.scr
source 0x05000000
这两句话没有用,可以删掉。
  7/30/26 11:46 Reply
巨大八爪鱼
武林盟主 二十一级
Reply
Floor 25 Posted at: 7/30/26 11:36
/boot/dtbs/4.4.143-999-rockchip-g/rockchip/overlay/rockchip-fixup.scr文件的内容:
'V諱Wji萾謆? overlays fixup script
# implements (or rather substitutes) overlay arguments functionality
# using u-boot scripting, environment variables and "fdt" command

setenv decompose_pin 'setexpr tmp_pinctrl sub "GPIO(0|1|2|3|4)_\\S\\d+" "\\1";
setexpr tmp_bank sub "GPIO\\d_(\\S)\\d+" "\\1";
test "${tmp_bank}" = "A" && setenv tmp_bank 0;
test "${tmp_bank}" = "B" && setenv tmp_bank 1;
test "${tmp_bank}" = "C" && setenv tmp_bank 2;
test "${tmp_bank}" = "D" && setenv tmp_bank 3;
setexpr tmp_pin sub "GPIO\\d_\\S(\\d+)" "\\1";
setexpr tmp_bank ${tmp_bank} * 8;
setexpr tmp_pin ${tmp_bank} + ${tmp_pin}'

if test -n "${param_spidev_spi_bus}"; then
        test "${param_spidev_spi_bus}" = "0" && setenv tmp_spi_path "spi@ff120000"
        test "${param_spidev_spi_bus}" = "1" && setenv tmp_spi_path "spi@ff130000"
        test "${param_spidev_spi_bus}" = "2" && setenv tmp_spi_path "spi@ff140000"
        fdt set /${tmp_spi_path} status "okay"
        fdt set /${tmp_spi_path}/spidev status "okay"
        if test -n "${param_spidev_max_freq}"; then
                fdt set /${tmp_spi_path}/spidev spi-max-frequency "<${param_spidev_max_freq}>"
        fi
fi

if test -n "${param_w1_pin}"; then
        setenv tmp_pinctrl "${param_w1_pin}"
        setenv tmp_bank "${param_w1_pin}"
        setenv tmp_pin "${param_w1_pin}"
        run decompose_pin
        echo "${param_w1_pin} ---> pinctrl = ${tmp_pinctrl}"
        echo "${param_w1_pin} ---> bank = ${tmp_bank}"
        echo "${param_w1_pin} ---> pin = ${tmp_pin}"
        fdt get value tmp_pinctrl /__symbols__  gpio${tmp_pinctrl}
        echo "${param_w1_pin} ---> tmp_pinctrl = ${tmp_pinctrl}"
        fdt get value tmp_phandle ${tmp_pinctrl} phandle
        echo "${param_w1_pin} ---> tmp_phandle = ${tmp_phandle}"
        fdt set /onewire@0 gpios "<${tmp_phandle} ${tmp_pin} 0 0>"
        env delete tmp_pinctrl tmp_bank tmp_pin tmp_phandle
fi

 
巨大八爪鱼: => printenv param_spidev_spi_bus
## Error: "param_spidev_spi_bus" not defined
=> printenv param_w1_pin
## Error: "param_w1_pin" not defined
=>
decompose_pin环境变量定义了但没有用到。
param_spidev_spi_bus和param_w1_pin环境变量不存在。
所以这个脚本没有任何用处。
  7/30/26 11:45 Reply
巨大八爪鱼
武林盟主 二十一级
Reply
Floor 26 Posted at: 7/30/26 12:50
【简化的bootcmd启动命令】
setenv bootargs root=/dev/mmcblk0p2 rootwait rw rootfstype=ext4 console=ttyS0,1500000n8
load mmc 0:1 0x00280000 vmlinuz-4.4.143-999-rockchip-g
load mmc 0:1 0x01f00000 dtbs/4.4.143-999-rockchip-g/rockchip/rk3308-rock-pi-s.dtb
fdt addr 0x01f00000
fdt resize 65536
load mmc 0:1 0x05000000 dtbs/4.4.143-999-rockchip-g/rockchip/overlay/rk3308-uart0.dtbo
fdt apply 0x05000000
booti 0x00280000 - 0x01f00000
巨大八爪鱼
武林盟主 二十一级
Reply
Floor 27 Posted at: 7/30/26 17:30
川宇读卡器
巨大八爪鱼
武林盟主 二十一级
Reply
Floor 28 Posted at: 7/30/26 20:16
【启动幸狐的Linux 5.10.198内核】
将Z:\Documents\Code\C\kernel-stable-4.4-rockpis\arch\arm64\boot\dts\rockchip\rk3308-rock-pi-s.dts复制到Z:\Documents\Code\C\Luckfox_Nova_SDK_250430\kernel\arch\arm64\boot\dts\rockchip\rk3308-rock-pi-s.dts,并重命名为luckfox-rk3308b-evb-v10.dts。
打开复制后的luckfox-rk3308b-evb-v10.dts文件,在末尾添加
&uart0 {
    status = "okay";
    pinctrl-names = "default";
    pinctrl-0 = <&uart0_xfer>;
};
用/**/注释掉第146-155行的整个wireless-bluetooth节点。
重新编译内核和设备树:
cd Luckfox_Nova_SDK_250430
./build.sh

将内核和设备树上传到板子的/boot目录下:
adb push "Z:\Documents\Code\C\Luckfox_Nova_SDK_250430\kernel\arch\arm64\boot\Image" /boot
adb push "Z:\Documents\Code\C\Luckfox_Nova_SDK_250430\kernel\arch\arm64\boot\dts\rockchip\luckfox-rk3308b-evb-v10.dtb" /boot

重启板子进入uboot命令行:
sudo reboot
然后按住Ctrl+C不放。

在uboot命令行中启动新内核,使用新设备树:
setenv bootargs root=/dev/mmcblk1p2 rootwait rw rootfstype=ext4 console=ttyS0,1500000n8
load mmc 0:1 0x00280000 Image
load mmc 0:1 0x01f00000 luckfox-rk3308b-evb-v10.dtb
booti 0x00280000 - 0x01f00000
 
巨大八爪鱼: Luckfox_Nova_SDK_250430.tar.gz源码包下载地址:https://pan.baidu.com/s/11OZSQAi2Ypez_wK_jEK-eQ?pwd=4rtn#list/path=%2Fsharelink173862823-1082421354829138%2FLuckfox%20Nova%2FSDK&parentPath=%2Fsharelink173862823-1082421354829138
  7/31/26 9:35 Reply
巨大八爪鱼
武林盟主 二十一级
Reply
Floor 29 Posted at: 7/30/26 20:17
巨大八爪鱼
武林盟主 二十一级
Reply
Floor 30 Posted at: 7/30/26 20:18
启动幸狐内核后,adb shell不可用。
 
巨大八爪鱼: rock@rockpis:~$ sudo systemctl status rockchip-adbd.service
[sudo] password for rock:
? rockchip-adbd.service - Rockchip adb
     Loaded: loaded (/lib/systemd/system/rockchip-adbd.service; enabled; vendor
preset: enabled)
     Active: failed (Result: exit-code) since Thu 2026-07-30 12:08:30
 UTC; 9min ago
       Docs: https://wiki.radxa.com/Template:Rockpi_apt
    Process: 201 ExecStart=/etc/init.d/adbd.sh start (code=exited, statu
s=1/FAILURE)

Jul 30 12:08:30 rockpis systemd[1]: Starting Rockchip adb...
Jul 30 12:08:30 rockpis adbd.sh[204]: modprobe: FATAL: Module usb_f_fs not found
 in directory /lib/modules/5.10.198
Jul 30 12:08:30 rockpis systemd[1]: rockchip-adbd.servic
e: Control process exited, code=exited, status=1/FAILURE
Jul 30 12:08:30 rockpis systemd[1]: rockchip
-adbd.service: Failed with result 'exit-code'.
Jul 30 12:08:30 rockpis systemd[1]: Failed to start Rock
chip adb.
rock@rockpis:~$
  7/30/26 20:23 Reply
巨大八爪鱼: 主要是根文件系统还是用的rockpis的ubuntu 20.04,不是幸狐的根文件系统,所以adb服务启动不了,用不了adb。
  7/30/26 20:30 Reply
Reply the post
Content:
User: You are currently anonymous.
Captcha:
Unclear? Try another one.
(Shortcut key: Ctrl+Enter)
Post Information
Clicks: 157 Replies: 62
Author: 巨大八爪鱼
Last reply: 巨大八爪鱼
Last reply time: 8/4/26 19:08
Bar Hot Posts
Announcements