我已将 Chromebook Acer C721 设置为开发者模式,并允许通过 USB 启动sudo crossystem dev_boot_usb=1 dev_boot_legacy=1
。然后,在下次重启后,在开发者模式警告处,我输入 CTRL-L,然后会出现两个引导加载程序选项:U-Boot 和 TianoCore。后者不执行任何操作(TianoCore 不加载,选择后需要重启),而前者将我带到 U-Boot 提示符。
我插入了一个装有 Ubuntu 20.04.3(适用于 amd64)的 USB 棒。我从 Ubuntu 网站下载了该映像并将其复制到 USB 棒上。它现在有两个分区:
Disk /dev/sdd: 7.2 GiB, 7776239616 bytes, 15187968 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x....
Device Boot Start End Sectors Size Id Type
/dev/sdd1 * 0 5999871 5999872 2.9G 0 Empty
/dev/sdd2 5271500 5279499 8000 3.9M ef EFI (FAT-12/16/32)
当 U-Boot 启动时,它会显示
...
scanning bus 0 for devices... 4 USB Device(s) found
scanning bus 1 for devices... 4 USB Device(s) found
...
当我让它自动启动时,它说
Hit any key to stop autoboot: 0
Error: Invalid Boot Flag (found 0x0000, expected 0xaa55)
但是,该棒(扇区 1)上的前 512 个字节以此引导签名结尾。
U-Boot 根据usb storage
和的输出检测 USB 记忆棒usb tree
。
但是我怎样才能从它启动呢?
我尝试过usbboot 0700 0:0
(假设 0700 是 USB 驱动器上第一级引导加载程序的起始地址),结果是
Loading from usb device 0, partition 0, Name: While Disk Type: U-Boot
** Unknown image type
usbboot 0700 0:1
结果是
** Invalid partition 1 **
usbboot 0700 0:2
结果是
Loading from usb device 0, partition 2, Name: usbda2 Type: U-Boot
** Unknown image type
答案1
解决了。我忘了申请Chromebox 先生的固件脚本 设置 RW_LEGACY 标志。完成此操作后,我可以加载 TianoCore,它向我提供了一个启动菜单,用于从 USB 记忆棒、SD 卡(前提是插槽中有介质)或 eMMC 启动。选择 USB 或 SD,然后从该介质加载引导加载程序,然后一切就绪了。