您好!
我正在尝试基于 AM5728构建定制板。 我设法进入内核启动、如我附加的日志中所示。 我甚至接受了欢迎阿拉戈的信息、但似乎有一种前后一致的做法。 它几乎总是以"Starting udev Coldplug All Devices..."开头 ,然后抛出“无法在虚拟地址处理内核分页请求”,后跟“systemd 已污染”、“udevadm 已污染”、“systemd-udevd 已污染”或类似内容。 我主要在尝试启动完整的 rootfs ("tisdk-rootfs-image-am57xx-evm")时遇到此问题、而当我使用基本 rootfs ("arago-base-tisdk-image-am57xx-evm")时、我可以转到命令行。
我已执行的基本步骤如下。 请告诉我这是不是正确的方法。
1) 1)在 SD 卡上的 u-boot 分区上构建并安装了带有自定义 defconfig 的 u-boot
2) 2)从 ti-processor-SDK 文件夹中、我将"tisdk-rootfs-image-am57xx-evm"提取到 targetNFS 中
3) 3)在自定义 defconfig 中复制到内核源树(arch/arm/configs)
4)在自定义 DTS 文件中复制到内核源树(arch/arm/boot/dts)
5) 5)修改了 ti-processor-sdk 文件夹中的顶层 Rules.make 以使用自定义 defconfig
6) 6)修改了顶级 makefile 以创建自定义 DTS 文件
7) 7) RAN:
sudo make clean
sudo 全部创建
sudo make install
8) 8)通过 targetNFS 复制到 SD 卡上的 rootfs 分区
9)采用自定义 DTB (corresp. to customDTS)并将其重命名为 am57xx-evm-reva3.dtb 并放入 rootfs/boot
内核调试日志的片段:
[确定]已开始更新关于系统引导/关机的参数。 [确定]已开始网络时间同步。 正在开始同步系统和硬件时钟... [确定]已同步达到目标系统时间。 [失败]无法启动同步系统和硬件时钟。 有关详细信息、请参阅'stemctl status sync-clocks.service'。 [确定]已开始重建硬件数据库。 正在启动 udev 冷插拔所有设备... [8.466556]无法处理虚拟地址00000000 [8.474706] PgD = ccf68000 [8.477422][00000000]* PgD=00000000 [8.481025]内部错误:Oops:5 [#1] preemopter SMP arm [8.486357]模块链接在:Sdbo_uomf (8.481025]内部错误:Or comf cr dr dr)[8.4810172] CPU [8.48dr dr dr dr cr dr cr dr uv [8.48657] cr uv [8.48dr dr dr uv [8.490] unc [8.48dr uv udevadm 被污染:g o 4.9.28-geed43d1050 [8.504060]硬件名称:通用 DRA74X (平展设备树) [8.510177]任务:ccc50640 task.stack:ccf70000 [8.514733] PC 位于__WAKE_UP_COMMON 上+0x28/0x94 [8.519282] LR 位于__WAKE_UP 上:[+0x54][+0x2340 ] LR:[ ] PSR:60000093 [8.523219] sp:ccf71ce0 IP:00000000 FP:ccf71d14 [8.534745] R10:00000003 R9:00000000 R8:ccf71d4c [8.539989] r7:c0c0298c R6:00000003 r3:a0000013:0000000r4: 0000000481:r4:00000001 r4 00000003 r0:c0c02988 [8.553095]标志:nZCv 在模式 SVC_32 ISA ARM 段无 [8.560345]控制:10c5387d 表:8cf6806a DAC:00000051 [8.566113]处理 udevadm (pid:172、栈限制= 0x5770c7210 )[0xcc7160](cce0)