N1 Openwrt 折腾记--修复EMMC启动异常问题
最近春节回家,把N多年前带回家的斐讯N1小盒子找了出来,本着废物利用的原则,决定在上面安装一个Openwrt系统,这样可以实现更好的网络访问。
网络上相关的教程有很多,基本原理也都是类似的。
翻腾出来之后我就开始着手安装系统,虽然步骤上还算比较简单,但是过程确是非常的曲折,中间碰到太多的问题,这是就记录一下这些问题,希望以后可以尽量避免类似的问题。
系统从U盘启动不正常
安装系统首先是将系统放在U盘上启动,U盘直接做就可以了,不过后面启动的时候,发现系统有时候可以进,有时候就一直无法进系统,搞来搞去也没找到根本的原因,直到最后尝试着换一下U盘才发现是U盘不稳定导致的。
无法从EMMC启动
一般来说,U盘启动之后,通过运行一个脚本就可以将系统安装到EMMC上,这样可以明显提高系统的运行速度,不过我试过很多次都不能正常从EMMC启动,接上串口看Bootloader的信息如下:
Kernel command line: buildvariant=user
load dtb from 0x1000000 ......
Amlogic multi-dtb tool
Single dtb detected
Uncompressing Kernel Image ... OK
kernel loaded at 0x01080000, end = 0x021d4598
Loading Ramdisk to 734aa000, end 73ec7000 ... OK
Loading Device Tree to 000000001fff3000, end 000000001ffffff4 ... OK
fdt_instaboot: no instaboot image
Starting kernel ...
uboot time: 7528701 us
domain-0 init dvfs: 4
从log上也看不出所以然来,感觉都要放弃的时候,我开始玩bootloader的命令,偶然间我发现有一个env重置的命令,于是我尝试了以下的操作:
gxl_p230_v1#env default -a
backup factorystep is 0
## Resetting to default environment
set factorystep 0
gxl_p230_v1#
backup factorystep is 0
## Resetting to default environment
set factorystep 0
gxl_p230_v1#env save
Saving Environment to aml-storage...
mmc env offset: 0x27400000
Writing to MMC(1)... MMC: block number 0x13a080 exceeds max(0x2000)
failed
注意,下述的信息说明env并没有正确的写入,所以我又重启了一下系统,直接输入reset复位系统即可。
Hit Enter or space or Ctrl+C key to stop autoboot -- : 0
gxl_p230_v1#<INTERRUPT>
gxl_p230_v1#<INTERRUPT>
gxl_p230_v1#<INTERRUPT>
gxl_p230_v1#<INTERRUPT>
gxl_p230_v1#<INTERRUPT>
gxl_p230_v1#<INTERRUPT>
gxl_p230_v1#<INTERRUPT>
gxl_p230_v1#<INTERRUPT>
gxl_p230_v1#env default -a
backup factorystep is 0
## Resetting to default environment
set factorystep 0
gxl_p230_v1#
backup factorystep is 0
## Resetting to default environment
set factorystep 0
gxl_p230_v1#env save
Saving Environment to aml-storage...
mmc env offset: 0x27400000
Writing to MMC(1)... done
gxl_p230_v1#
Saving Environment to aml-storage...
mmc env offset: 0x27400000
Writing to MMC(1)... done
从log上看,这次env被正确的写入并保存了,然后继续通过reset命令重启系统之后,发现系统还是不能正常工作,不过重新烧录U盘之后,再次写入EMMC,然后重启之后,系统就可以正常从EMMC启动了。
最后更新于 2023-01-28 13:10:40 并被添加「」标签,已有 3877 位童鞋阅读过。
本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可。