CmST0us / tspi-linux-sdk

【非立创官方版本】LCEDA Tai-Shang Pi Linux SDK.立创开发板泰山派Linux SDK.
50 stars 12 forks source link

请教个rootfs的问题 #15

Closed pathpass2 closed 2 weeks ago

pathpass2 commented 3 weeks ago

用自己移植的:树莓派-openeuler-rootfs,rootfs第一次刷进去可以用,重启的话就不行了。提示rootfs的PARTUUID不对。我看sdk自带的Ubuntu-rootfs的uuid就是固定的

openeuler-rootfs第一次刷进去后显示的partuuid

微信图片_20240821153559

重启后显示等待rootfs分区,此处uuid和openeuler的partuuid对不上

ttl

请教大佬,这个rootfs的partuuid怎么改。

CmST0us commented 3 weeks ago

在 parameter.txt 文件里面

CmST0us commented 3 weeks ago

https://github.com/CmST0us/tspi-linux-sdk/blob/5873561da77de7028eafe010363fc3abc1cd223c/device/rockchip/.chips/rk3566_rk3568/parameter-buildroot-fit.txt#L12

pathpass2 commented 3 weeks ago

大佬 不知道为啥 我重新编译 内核正常编译 但是编译完没有bcmdhd.ko defconfig文件已经改了CONFIG_BCMDHD=y CONFIG_WIFI_LOAD_DRIVER_WHEN_KERNEL_BOOTUP选项也已经取消,但是编译完还是没有bcmdhd.ko 我前面都是手动编译的ko文件。但是这几次再编译ko文件,提示我没有bcmdhd.ko的规则。Ubuntu18.04和Ubuntu22.04都是报这个错。

搞不懂了 我也不知道前面几次ko文件怎么编译出来的。

编译命令是:make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- ./drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/bcmdhd.ko

前面几次在Ubuntu18.04上面能成功,后面就不行了。sdk自带的交叉编译工具我也试了,也不行。

1724331247185

pathpass2 commented 3 weeks ago

https://github.com/CmST0us/tspi-linux-sdk/blob/5873561da77de7028eafe010363fc3abc1cd223c/device/rockchip/.chips/rk3566_rk3568/parameter-buildroot-fit.txt#L12

这里我改了后,刷到parameter分区后依然是上面的报错。好像每次启动我这个rootfs的partuuid都会变。 image 这里我无论是改为rootfs的uuid还是改rootfs的partuuid。刷完都不行。

UUID="3a641c76-74db-48b5-8d31-d896bf2e0121" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="c9a76eda-6801-b64b-a19e-d5a37624b85c"

image

我没有用您的脚本打包,因为sdk里面没有openeuler,我直接制作了openeuler的rootfs镜像,然后刷到了rootfs分区。 image 刷完后自动重启能正常使用,但是一旦重启就会找不到rootfs

pathpass2 commented 3 weeks ago

这个rootfs的partuuid就是在随机变。 第一次刷openeuler-rootfs,刷完正常使用。重启就找不到rootfs UUID="3a641c76-74db-48b5-8d31-d896bf2e0121" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="c9a76eda-6801-b64b-a19e-d5a37624b85c"

然后再刷ubuntu的update,刷完后rootfs分区再刷openeuler的rootfs /dev/mmcblk0p5: UUID="3a641c76-74db-48b5-8d31-d896bf2e0121" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="1c318175-98da-0644-a6a6-9af7b9b846d3"

这里partuuid就变了。

pathpass2 commented 3 weeks ago

rootfs的问题找到了 openeuler的rootfs问题 换了个centos的rootfs就正常了 非常感谢大佬指点 驱动问题 我就先用以前编译出的驱动吧

CmST0us commented 3 weeks ago

大佬 不知道为啥 我重新编译 内核正常编译 但是编译完没有bcmdhd.ko defconfig文件已经改了CONFIG_BCMDHD=y CONFIG_WIFI_LOAD_DRIVER_WHEN_KERNEL_BOOTUP选项也已经取消,但是编译完还是没有bcmdhd.ko 我前面都是手动编译的ko文件。但是这几次再编译ko文件,提示我没有bcmdhd.ko的规则。Ubuntu18.04和Ubuntu22.04都是报这个错。

搞不懂了 我也不知道前面几次ko文件怎么编译出来的。

编译命令是:make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- ./drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/bcmdhd.ko

前面几次在Ubuntu18.04上面能成功,后面就不行了。sdk自带的交叉编译工具我也试了,也不行。

1724331247185

可以检查以下 CONFIG_AP6XXX 的设置, bcmdhd.ko 是依赖这个设置的

https://github.com/CmST0us/tspi-linux-sdk/blob/5873561da77de7028eafe010363fc3abc1cd223c/kernel/drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/Makefile#L372

CmST0us commented 3 weeks ago

https://github.com/CmST0us/tspi-linux-sdk/blob/5873561da77de7028eafe010363fc3abc1cd223c/device/rockchip/.chips/rk3566_rk3568/parameter-buildroot-fit.txt#L12

这里我改了后,刷到parameter分区后依然是上面的报错。好像每次启动我这个rootfs的partuuid都会变。 image 这里我无论是改为rootfs的uuid还是改rootfs的partuuid。刷完都不行。

UUID="3a641c76-74db-48b5-8d31-d896bf2e0121" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="c9a76eda-6801-b64b-a19e-d5a37624b85c"

image

我没有用您的脚本打包,因为sdk里面没有openeuler,我直接制作了openeuler的rootfs镜像,然后刷到了rootfs分区。 image 刷完后自动重启能正常使用,但是一旦重启就会找不到rootfs

如果rootfs会变的画,可以在dts bootarg 里用root=/dev/mmcblk0p5设置 启动分区 https://github.com/CmST0us/tspi-linux-sdk/blob/5873561da77de7028eafe010363fc3abc1cd223c/kernel/arch/arm64/boot/dts/rockchip/tspi-rk3566-core-v10.dtsi#L31

pathpass2 commented 2 weeks ago

https://github.com/CmST0us/tspi-linux-sdk/blob/5873561da77de7028eafe010363fc3abc1cd223c/device/rockchip/.chips/rk3566_rk3568/parameter-buildroot-fit.txt#L12

这里我改了后,刷到parameter分区后依然是上面的报错。好像每次启动我这个rootfs的partuuid都会变。 image 这里我无论是改为rootfs的uuid还是改rootfs的partuuid。刷完都不行。 UUID="3a641c76-74db-48b5-8d31-d896bf2e0121" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="c9a76eda-6801-b64b-a19e-d5a37624b85c" image 我没有用您的脚本打包,因为sdk里面没有openeuler,我直接制作了openeuler的rootfs镜像,然后刷到了rootfs分区。 image 刷完后自动重启能正常使用,但是一旦重启就会找不到rootfs

如果rootfs会变的画,可以在dts bootarg 里用root=/dev/mmcblk0p5设置 启动分区

https://github.com/CmST0us/tspi-linux-sdk/blob/5873561da77de7028eafe010363fc3abc1cd223c/kernel/arch/arm64/boot/dts/rockchip/tspi-rk3566-core-v10.dtsi#L31

非常感谢

pathpass2 commented 2 weeks ago

/dev/mmcblk0p5

非常感谢 按照这个方法重新编译后rootfs能正常找到了