一段时间后,我启动了我的 Cubox i4 Pro。这台微型计算机使用 U-Boot,或者至少应该这样做。但是,盒子无法启动。
当我通过 micro-USB 连接我的 Mac 或通过 HDMI 连接显示器时,我看到:
U-Boot SPL 2017.11-armbian (Jan 24 2018 - 22:39:16)
Trying to boot from MMC1
U-Boot 2017.11-armbian (Jan 24 2018 - 22:39:16 +0100)
CPU: Freescale i.MX6Q rev1.5 996 MHz (running at 792 MHz)
CPU: Extended Commercial temperature grade (-20C to 105C) at 41C
Reset cause: POR
Board: MX6 Cubox-i
DRAM: 2 GiB
MMC: FSL_SDHC: 0
*** Warning - bad CRC, using default environment
auto-detected panel HDMI
Display: HDMI (1024x768)
In: serial
Out: serial
Err: serial
Net: FEC
starting USB...
USB0: Port not available.
USB1: USB EHCI 1.00
scanning bus 1 for devices... 1 USB Device(s) found
scanning usb for storage devices... 0 Storage Device(s) found
Hit any key to stop autoboot: 0
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
Found U-Boot script /boot/boot.scr
907 bytes read in 98 ms (8.8 KiB/s)
## Executing script at 12000000
## Error: "autodetectfdt" not defined
** File not found /boot/dtb/ **
** Unrecognized filesystem type **
** File not found /dtb/ **
5783761 bytes read in 483 ms (11.4 MiB/s)
5546904 bytes read in 427 ms (12.4 MiB/s)
## Loading init Ramdisk from Legacy Image at 14800000 ...
Image Name: uInitrd
Image Type: ARM Linux RAMDisk Image (gzip compressed)
Data Size: 5783697 Bytes = 5.5 MiB
Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
还有一些。我怀疑这Error: "autodetectfdt" not defined
是无法启动的罪魁祸首。有没有办法可以恢复它autodetectfdt
,最好不要刷新整个 SD 卡?上面有一些数据我想保留...
在Igor Pecovnik的帮助下,我能够让我的系统再次启动。
准备工作
首先,您需要一根微型 USB 数据线。将它从您的计算机连接到 Cubox。为我的计算机安装虚拟 COM 端口 (VCP) 驱动程序后,我
ls -l /dev/*usbserial*
发现串行线在/dev/cu.usbserial-DN00AZKZ可用。所以我使用screen /dev/cu.usbserial-DN00AZKZ 115200
.故障排除
接下来,我给 Cubox 供电并立即按下
enter
以防止自动启动。正如我在问题中所写,我唯一拥有的是在 GitHub 上,我找到了
autodetectfdt
. 我通过串行线路运行它,但它什么也没做。我读了剧本:我试图手动运行它。
printenv cpu
给了我既不是6SOLO
也不是6DL
,所以我决定跑setenv fdt_prefix imx6q
。接下来,printenv board
给了我mx6cuboxi
,我解释为mx6-cubox-i
,所以我跑了setenv fdt_file imx6q-cubox-i.dtb
。最后,我确实saveenv
坚持了我的更改。解析度
重新启动系统我看到 Linux 内核正在启动。登录后(仍然通过串行线路),我发出了
sudo aptitude dist-upgrade
. Igor 告诉我 U-Boot v5.38 已损坏,但他正在努力修复;v5.44 在同一天发布。aptitude
安装了那个版本。再次重新启动,系统现在启动正常!