IFC6410单板计算机上加载内核后无反馈

IFC6410单板计算机上加载内核后无反馈

我目前正在尝试在IFC6410单板计算机。为此,我遵循了本指南中的说明: https://github.com/freedreno/freedreno/wiki/Fedora在主板上运行 Fedora。指南中描述的过程在需要启动文件系统的步骤之前都运行良好。

我采取的基本步骤是:

  • 我将 IFC6410 中的固件备份到主机笔记本电脑上的存档中(指南中的第 3 步)
  • 我下载了 Fedora armhfp 文件系统(我尝试了指南中列出的两个版本以及我找到的一些其他版本)
  • 我将文件系统转储到 USB 记忆棒上,更改了 rootfs 分区的大小,并将我在第一步中保存的固件复制到 USB 记忆棒上 rootfs 的 lib 文件夹中(指南中的步骤 4、5、6)
  • 我卸下了 USB 驱动器并将其插入 IFC6410
  • (我也在微型 HDMI 端口上插入了一个显示器)

现在到了我陷入困境的部分。

下一步,我应该从我刚刚准备好的 USB 驱动器上的文件系统启动。为此,我下载了指南中链接的 IFC6410 预建内核,并将设备启动到 fastboot。

使用 fastboot 我加载了内核:

fastboot boot ifc6410-boot-f20.img

效果似乎不错:

downloading 'boot.img'...
OKAY [  1.346s]
booting...
OKAY [  0.003s]
finished. total time: 1.349s

但是,完成此步骤后,我根本没有收到设备的反馈。由于指南中的下一步作者似乎假设 Linux 系统正在运行,因此我认为完成此步骤后,我应该可以正常收到显示器的反馈并看到正常的启动过程。

由于我根本没有收到任何反馈,我有点不知道该尝试什么、检查什么或搜索什么。因此,我很乐意听到任何建议。

另外一件可能相关的事情是,我还按照一个教程(不幸的是我再也没有找到)在 ARM 设备上设置了紧急 Android 系统。在按照该教程操作时,我输入了“fastboot flash boot”命令,但失败了。我不确定这是否会导致系统永久更改,这可能是我遇到的问题的一部分。

答案1

茨瓦克尔曼,

IFC6410 可能正在启动 - 您在 fastboot 命令后看到的消息意味着主板已成功重启,内核已下载到主板,并且将继续启动过程。

但是,主板无法在启动时在通过 HDMI 连接的显示器上显示文本控制台。如果 Freedreno 驱动程序正确安装在 Fedora 根文件系统上,它最终会启动到 X,但我不确定它是否使用目前提供的默认文件系统。

但是,启动时会通过串行链路输出文本控制台 - 您可以使用它以 root 身份登录并完成其余设置 - 这就是说明中步骤 8 中“通过串行终端以 root 身份登录”的含义。因此,您需要按照此处“制作串行电缆”部分制作串行电缆:

https://github.com/freedreno/freedreno/wiki/Ifc6410

这需要连接到计算机上的 RS232 端口(现在越来越少见),或者通过 USB 到 RS232 转换器。然后,您可以使用 minicom(linux)或 Hyperterminal(Windows)等程序查看串行端口输出的内容。这样您就可以在启动时看到内核输出,登录控制台并完成其余说明。

答案2

我以前也遇到过和你一样的情况。我的 IFC6410 在从 fastboot 启动 fedora 时出现黑屏且无响应,如步骤 7 中所述https://github.com/freedreno/freedreno/wiki/Fedora

xzcat 命令完成后,rootfs 的 / 分区需要进行文件系统检查,这存在问题。经过几次尝试后,此操作没有出现问题。

我没有串行电缆,但能够完成 xorg、gnome 等的安装。可以使用 IFC6410 上的 Android 终端/adb shell 和 busybox 二进制文件来完成此操作,以便 chroot 到 Fedora rootfs。我用来设置 chroot 的命令:

$ busybox mount -o remount,rw /

$ busybox blkid (to list partitions)

$ busybox mount /dev/block/sda3 /mnt/chroot/

$ busybox mount /dev/block/sda1 /mnt/chroot/boot

$ busybox mount -o bind /dev/ /mnt/chroot/dev/

$ busybox mount -t proc proc /mnt/chroot/proc/

$ busybox mount -t sysfs sysfs /mnt/chroot/sys/

$ busybox mount -t devpts devpts /mnt/chroot/

$ echo "nameserver 8.8.8.8" > /mnt/chroot/etc/resolv.conf

$ busybox chroot /mnt/chroot/bin/bash

此后,您可以从 rootfs 中运行命令,但是我必须直接从 /bin 和 /usr/sbin 调用它们。此后,我能够启动 Fedora 并登录,没有任何问题。

答案3

茨瓦克尔曼,

我绝对建议使用 UART 电缆。当您可以看到内核踪迹时,调试会变得容易得多。请注意,它是 5V 电平,一些早期的电路板修订版颠倒了 RX 和 TX(GND 是中心引脚)。

我从未尝试过 USB 棒。但只要 rootfs 仍然是 /dev/sda3,它就应该可以工作。否则您可能需要编辑 bootargs(即 -c "..." arg 到 fastboot)

如果您仍然遇到问题并且您可以发布内核跟踪那么也许我可以发现一些东西。

答案4

只是想让你知道,Inforce 推出了 6410 的新版本,称为 6410Plus,价格相同,使用相同的 Snapdragon 600 SoC,但具有新的 GPS、MIPI-CSI 和 MIPI-DSI 功能等。你可以在 Inforce 查看新版本的规格单板计算机 6410Plus

相关内容