Skip to content

启动失败的请进来!(Boot failure? Get help here!) #166

@laipeng668

Description

@laipeng668

如果自己编译的固件启动失败,请先使用下面四个云编译项目的固件进行测试!
⚠️包含WiFi必须至少预留54MB的q6_region内存区域,所以256MB的机器启动不了是正常的!)
如果不需要WIFI,是可以正常使用带满血NSS驱动的无WIFI固件的!

If a self-compiled firmware fails to boot, first test with firmware from the following four ​​cloud build projects​​!
(⚠️Devices equipped with WiFi must reserve at least 54MB of the q6_region memory area, so it's normal for 256MB machines to fail to boot!)
If WiFi is unnecessary, ​​full-featured NSS drivers​​ in ​​WiFi-disabled firmware​​ will work normally.

https://github.com/breeze303/openwrt-ci/releases
https://github.com/ZqinKing/wrt_release/releases
https://github.com/laipeng668/openwrt-ci-roc/releases
https://github.com/VIKINGYFY/OpenWRT-CI/releases

对于喜欢折腾的朋友,真要玩256MB内存的机器,还可以调整NSS驱动q6_region内存区域预留大小。
在源码中查询自己机器的DTS,ipq6018.dtsi默认预留85MB,ipq6018-512m.dtsi默认预留55MB,我已经把大部分机器设置成ipq6018-512m.dtsi了(找不到ipq6018.dtsi怎么办?请手动把自己机器DTS里面的ipq6018.dtsi改成ipq6018-512m.dtsi即可,例如京东云太乙ipq6010-re-cs-07)。

For enthusiasts who enjoy tinkering with 256MB RAM devices, you can adjust the reserved memory size of the NSS driver's q6_region area.
​​Locate your device's DTS file​​:
The default ipq6018.dtsi reserves ​​85MB​​.
The ipq6018-512m.dtsi reserves ​​55MB​​ (already applied to most devices).
​​If ipq6018.dtsi is missing​​: Manually replace references to ipq6018.dtsi with ipq6018-512m.dtsi in your device's DTS.
Example: For the ​​JD Cloud Taiyiipq6010-re-cs-07, modify its DTS accordingly.

预留16MB(Reserve 16MB):

sed -i 's/reg = <0x0 0x4ab00000 0x0 0x[0-9a-f]\+>/reg = <0x0 0x4ab00000 0x0 0x01000000>/' target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq6018-512m.dtsi

预留32MB(Reserve 32MB):

sed -i 's/reg = <0x0 0x4ab00000 0x0 0x[0-9a-f]\+>/reg = <0x0 0x4ab00000 0x0 0x02000000>/' target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq6018-512m.dtsi

预留64MB(Reserve 64MB):

sed -i 's/reg = <0x0 0x4ab00000 0x0 0x[0-9a-f]\+>/reg = <0x0 0x4ab00000 0x0 0x04000000>/' target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq6018-512m.dtsi

预留96MB(Reserve 96MB):

sed -i 's/reg = <0x0 0x4ab00000 0x0 0x[0-9a-f]\+>/reg = <0x0 0x4ab00000 0x0 0x06000000>/' target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq6018-512m.dtsi

标准启动日志的格式示例如下(ipq6018.dtsi预留 85MB):
A typical startup log looks like this(ipq6018.dtsiReserve 85MB):

[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x51af8014]
[    0.000000] Linux version 6.12.39 (runner@pkrvm4h0tjkhlvh) (aarch64-openwrt-linux-musl-gcc (OpenWrt GCC 14.3.0 r0-815367b) 14.3.0, GNU ld (GNU Binutils) 2.42) #0 SMP PREEMPT Mon Jul 21 12:23:10 2025
[    0.000000] Machine model: JDCloud RE-CS-02
[    0.000000] OF: reserved mem: 0x0000000000060000..0x0000000000065fff (24 KiB) nomap non-reusable memory@60000
[    0.000000] OF: reserved mem: 0x0000000040000000..0x0000000040ffffff (16384 KiB) nomap non-reusable memory@40000000
[    0.000000] OF: reserved mem: 0x000000004a100000..0x000000004a4fffff (4096 KiB) nomap non-reusable bootloader@4a100000
[    0.000000] OF: reserved mem: 0x000000004a600000..0x000000004a9fffff (4096 KiB) nomap non-reusable memory@4a600000
[    0.000000] OF: reserved mem: 0x000000004aa00000..0x000000004aafffff (1024 KiB) nomap non-reusable memory@4aa00000
[    0.000000] OF: reserved mem: 0x000000004ab00000..0x000000004fffffff (87040 KiB) nomap non-reusable memory@4ab00000
[    0.000000] OF: reserved mem: 0x0000000050b00000..0x0000000050bfffff (1024 KiB) nomap non-reusable q6_etr_dump@50b00000
[    0.000000] OF: reserved mem: 0x0000000050c00000..0x0000000050cfffff (1024 KiB) nomap non-reusable m3_dump@50c00000
[    0.000000] OF: reserved mem: 0x0000000050d00000..0x0000000050dfffff (1024 KiB) nomap non-reusable ramoops@50d00000
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x0000000040000000-0x000000007fffffff]
[    0.000000]   DMA32    empty
[    0.000000]   Normal   empty
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000040000000-0x0000000040ffffff]
[    0.000000]   node   0: [mem 0x0000000041000000-0x000000004a0fffff]
[    0.000000]   node   0: [mem 0x000000004a100000-0x000000004a4fffff]
[    0.000000]   node   0: [mem 0x000000004a500000-0x000000004a5fffff]
[    0.000000]   node   0: [mem 0x000000004a600000-0x000000004fffffff]
[    0.000000]   node   0: [mem 0x0000000050000000-0x0000000050afffff]
[    0.000000]   node   0: [mem 0x0000000050b00000-0x0000000050dfffff]
[    0.000000]   node   0: [mem 0x0000000050e00000-0x000000007fffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000040000000-0x000000007fffffff]

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions