設(shè)置 bootdelay 為 0 后,拯救 uboot 串口

為了將 OpenWRT 的啟動時間加快,我把 uboot 的環(huán)境變量 bootdelay 設(shè)置為 0。之后發(fā)現(xiàn)再也無法進(jìn)入 uboot 命令行。

使用下面的命令,在 OpenWRT 命令行下修改 uboot 的 bootcmd 環(huán)境變量,發(fā)現(xiàn) mtd1 為只讀不可寫。

root@OpenWrt:/# fw_setenv bootdelay 2
Can't open /dev/mtd1: Permission denied

在 dts 文件中 (我用的設(shè)備是 Xiaomi 4c 路由器,對應(yīng)的文件為 mt7628an_xiaomi_mi-router-4.dtsi),將 uboot 的 config 區(qū)的 read-only 去掉即可(見下面的代碼)

&spi0 {
        status = "okay";

        flash0: flash@0 {
                compatible = "jedec,spi-nor";
                reg = <0>;
                spi-max-frequency = <10000000>;

                partitions: partitions {
                        compatible = "fixed-partitions";
                        #address-cells = <1>;
                        #size-cells = <1>;

                        partition@0 {
                                label = "bootloader";
                                reg = <0x0 0x20000>;
                                read-only;
                        };

                        partition@20000 {
                                label = "config";
                                reg = <0x20000 0x10000>;
                                read-only;    <----- 刪除該行
                        };

重新編譯,升級 firmware,重新使用 "fw_setenv bootdelay 2"。 uboot 的串口就拯救回來了。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容