大家好,我使用的是论坛里buildroot-tiny200 (F1C100/200s) 开发包
使用
cd buildroot-tiny200
make widora_mangopi_r3_defconfig
得到镜像后使用Win32DiskImager将镜像下载到sd卡后启动如下图所示:
就卡在这里了,重启后在uboot命令行手动输入
setenv bootargs 'console=tty0 console=ttyS0,115200 panic=5 rootwait root=/dev/mmcblk0p2 rw'
然后boot
就能正常进系统了,但是uboot里面没有saveenv指令,下次启动还是会卡死,除非再输入一遍上面的指令。
然后使用spi flash启动后也是卡在这里不动:
希望知道的老哥指定一下哈。
离线
我记得 uboot那个脚本实现了自动检测启动介质,实现了不同的bootargs。
下面那个问题检查一下dts设备树,可能默认是spi nand,而不是spi nor。
我尝试过再配置中使能bootargs,但是好像没有生效,那我想从tf卡启动应该怎么设置,将设备树flash的status都改为disable?
从flash启动我看有同学改过设备树,我尝试过修改nor的 status = "okay";将nand 的status = "disabled";还是一样的效果,这个是linux设备树,uboot的设备树也要改嘛?
原先这样:
&spi0 {
status = "okay";
spi-nor@0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "winbond,w25q128", "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <50000000>;
status = "disabled";
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "u-boot";
reg = <0x000000 0x70000>;
read-only;
};
partition@1 {
label = "kernel";
reg = <0x70000 0x590000>;
read-only;
};
partition@2 {
label = "rom";
reg = <0x600000 0x700000>;
read-only;
};
partition@3 {
label = "overlay";
reg = <0xd00000 0x300000>;
};
};
};
spi-nand@0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "spi-nand";
reg = <0>;
spi-max-frequency = <50000000>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "u-boot";
reg = <0x000000 0x100000>;
read-only;
};
partition@1 {
label = "kernel";
reg = <0x100000 0x500000>;
read-only;
};
partition@2 {
label = "rom";
reg = <0x600000 0x2a00000>;
read-only;
};
partition@3 {
label = "vendor";
reg = <0x3000000 0x1000000>;
};
partition@4 {
label = "overlay";
reg = <0x4000000 0x3000000>;
};
};
};
};
离线
改了 dts之后要看有没有生成新的dtb,要打包进去才会真正起作用。
我修改/media/xiang/red/buildroot-tiny200/board/widora/mangopi/r3/devicetree/linux/devicetree.dts后把/media/xiang/red/buildroot-tiny200/output/images/devicetree.dtb删掉后直接就编译出错了,这个不正常把吧,我理解,image文件夹下及时删除了,下次我make的时候应该都会生成的,但是现在看来,好像没有,能麻烦帮我看下吗
离线
在线
修改 board/widora/mangopi/r3/devicetree/linux/devicetree.dts
之后,
删除
rm output/build/linux-5.4.66/.stamp_built
再 make
就不会出错了。
多谢多谢,使用上面方法就可以了,另外在helper文件夹里面有重新编译啊的脚本,开始没看到。
离线