根据Firefly Rockchip PX30-JD4提出定制Linux板的问题

发布于 2025-01-26 09:56:23 字数 7379 浏览 4 评论 0原文

我是嵌入式Linux的新手,我正在尝试根据该板来提出一个自定义板 Firefly PX30板。尽管我已经成功地使用本教程构建固件buildroot ,当我尝试使用自定义板的同一板(在使用的EMMC和RAM上有一些差异)时,启动可以通过SPL,UBOOT,然后转到内核启动,但随后它是将他们等待Udev填充的等待,然后将其固定了几分钟,然后再处理一些进入控制台,但随后它进入了某种恢复模式并永远挂了下来。可以在这里看到整个事物的日志

[    4.561530] hrtimer: interrupt took 3316042 ns
[    4.861930] rkisp1 ff4a0000.rkisp1: clear unready subdev num: 1
[    5.125404] rockchip-mipi-dphy-rx: No link between dphy and sensor
[    5.130597] rockchip-mipi-dphy-rx: No link between dphy and sensor
[    5.134412] rkisp1: update sensor failed
[    5.235411] ALSA device list:
[    5.237457]   #0: rockchip,rk809-codec
[    5.425933] Freeing unused kernel memory: 1024K
NAME=Buildroot
VERSION=2018.02-rc3-ga31246734b-dirty
ID=buildroot
VERSION_ID=2018.02-rc3
PRETTY_NAME="Buildroot 2018.02-rc3"
Starting logging: OK
Populating /dev using udev: [   32.594985] udevd[160]: starting version 3.2.7
[   35.656630] udevd[160]: specified group 'kvm' unknown
[   41.338788] udevd[161]: starting eudev-3.2.7
udevadm settle failed
done
Initializing random number generator... done.
Starting network: cmdline=storagemedia=emmc androidboot.storagemedia=emmc androidboot.mode=normal  androidboot.slot_suffix= androidboot.serialno=17c5e6b3cec0121  ro rootwait earlycon=uart8250,mmio32,0xff160000 swiotlb=1 console=ttyFIQ0 root=PARTLABEL=rootfs rootfstype=ext4 overlayroot=device:dev=PARTLABEL=userdata,fstype=ext4,mkfs=1 coherent_pool=1m systemd.gpt_auto=0 cgroup_enable=memory swapaccount=1

read console from cmdline is /dev/ttyFIQ0
Starting recovery on Fri Aug  4 14:49:54 2017

Recovery System have UI defined.
failed to read font: res=-1, fall back to the compiled-in font
[  340.555547] Freeing drm_logo memory: 1236K
rotate degree: 0 - none, 1 - right, 2 - down, 3 - left.
current rotate degree is : 0
OK
Debug: configfs_init
mkdir: can't create directory '/sys/kernel/config/usb_gadget/rockchip/functions/uac1.gs0': No such file or directory
mkdir: can't create directory '/sys/kernel/config/usb_gadget/rockchip/functions/uac2.gs0': No such file or directory
[  596.411078] file system registered
mkdir: can't create directory '/sys/kernel/config/usb_gadget/rockchip/functions/mtp.gs0': No such file or directory
mkdir: can't create directory '/sys/kernel/config/usb_gadget/rockchip/functions/rndis.gs0': No such file or directory
[  607.061489] Mass Storage Function, version: 2009/09/11
[  607.064402] LUN: removable file: (no medium)
mkdir: can't create directory '/sys/kernel/config/usb_gadget/rockchip/functions/hid.usb0': No such file or directory
[  632.533934] read descriptors
[  632.552351] read strings
[  637.673944] dwc2 ff300000.usb: bound driver configfs-gadget
[  637.884795] dwc2 ff300000.usb: new device is high-speed
[  637.991626] dwc2 ff300000.usb: new device is high-speed
[  638.060663] dwc2 ff300000.usb: new address 31
[  638.102361] configfs-gadget gadget: high-speed config #1: b
[  638.347754] android_work: sent uevent USB_STATE=CONNECTED
[  638.433970] android_work: sent uevent USB_STATE=CONFIGURED
Starting input-event-daemon: input-event-daemon: Start parsing /etc/input-event-daemon.conf...
input-event-daemon: Adding device: /dev/input/event0...
input-event-daemon: Adding device: /dev/input/event1...
input-event-daemon: Start listening on 2 devices...
done
[root@buildroot:/]# recovery filesystem table
=========================
  0 (null) /tmp ramdisk (null) (null) (null)
  1 /dev/root / ext2 rw,noauto 0 1
  2 proc /proc proc defaults 0 0
  3 devpts /dev/pts devpts defaults,gid=5,mode=620 0 0
  4 tmpfs /dev/shm tmpfs mode=0777 0 0
  5 tmpfs /tmp tmpfs mode=1777 0 0
  6 tmpfs /run tmpfs mode=0755,nosuid,nodev 0 0
  7 sysfs /sys sysfs defaults 0 0
  8 debug /sys/kernel/debug debugfs defaults 0 0
  9 pstore /sys/fs/pstore pstore defaults 0 0
  10 /dev/block/by-name/misc /misc emmc defaults 0 0
  11 /dev/block/by-name/oem /oem ext2 defaults 0 2
  12 /dev/block/by-name/userdata /userdata ext4 defaults 0 2

emmc_point is /dev/mmcblk2
sd_point is (null)
sd_point_2 is (null)
Recovery start....................
read cmdline
>>> Boot from non-SDcard
[I/]RECOVERY devices is not MTD.
[I/]RECOVERY Boot command: boot-recovery
[I/]RECOVERY Got arguments from boot message
[I/]RECOVERY devices is not MTD.
Command: "recovery" "--wipe_all"

Formatting /userdata...
format '/dev/block/by-name/userdata' to ext4 filesystem
executing '/sbin/mke2fs'
[ 1122.173088] udevd[161]: worker [308] /devices/platform/ff390000.dwmmc/mmc_host/mmc2/mmc2:0001/block/mmcblk2/mmcblk2p9 is taking a long time
executed '/sbin/mke2fs' done
executed '/sbin/mke2fs' return 0
executing '/sbin/e2fsck'
e2fsck 1.43.9 (8-Feb-2018)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/block/by-name/userdata: 11/416976 files (0.0% non-contiguous), 49888/1665083 blocks
executed '/sbin/e2fsck' done
executed '/sbin/e2fsck' return 0
[ 1160.243298] EXT4-fs (mmcblk2p9): mounted filesystem with ordered data mode. Opts: 
Data wipe done.
userdata wipe done.
executing '/sbin/e2fsck'
e2fsck 1.43.9 (8-Feb-2018)
Superblock last write time (Wed Apr  6 07:50:30 2022,
    now = Fri Aug  4 15:03:48 2017) is in the future.
Fix? yes

Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/block/by-name/oem: 18/4368 files (5.6% non-contiguous), 12657/17408 blocks
executed '/sbin/e2fsck' done
executed '/sbin/e2fsck' return 0
executing '/sbin/resize2fs'
resize2fs 1.43.9 (8-Feb-2018)
Resizing the filesystem on /dev/block/by-name/oem to 65536 (1k) blocks.
The filesystem on /dev/block/by-name/oem is now 65536 (1k) blocks long.

executed '/sbin/resize2fs' done
executed '/sbin/resize2fs' return 0
resize oem done.
finish_recovery Enter.....
[E/]RECOVERY Can't open /tmp/recovery.log
[E/]RECOVERY Can't open /tmp/recovery.log
[I/]RECOVERY devices is not MTD.
Rebooting...
Reboot...
[ 1195.659147] cpu cpu0: min=816000, max=816000

给定的SDK Firefly并不是真正基于BuildRoot,因为内核,Uboot和Loader是用MakeFile手动构建的,而BuildRoot仅用于生成根文件系统。

我想那是因为不同的硬件需要不同的配置。因此,我试图关闭设备树中的一些外围设备,以制作最小的操作系统,该操作系统能够完成启动,但它只是无法使用。然后我在github rockchip yocto ,我遵循教程来构建图像和图像以及二进制文件,但由于该项目旨在在a 我必须使用原始内核,加载程序,UBOOT和从Firefly修改的一些文件系统文件,以处理启动,以处理启动,如本期链接,但它也无法正常工作。我试图问罗克奇(Rockchip)的那个人,但他们只给我一个模糊的答案,即我的emmc不够快,无法partion link ,但我已经检查了,速度并不差异很大,我也尝试从SD卡启动,但问题仍然存在相同,所以我不知道该如何处理错误。

因此,问题是我错过了任何问题,或者任何遇到相同问题的人都可以向我展示出路。非常感谢您的任何帮助。

I am new to embedded linux and I am trying to bring up a custom board based on this board Firefly px30 board. Although I have succeeded in building an OS for the Firefly development board using this tutorial build firmware buildroot, when I tried the same one with the custom board, which have some differences in the eMMC and RAM used, the boot can go pass the SPL, Uboot and go to kernel boot, but then it stuck their waiting for udev to populate and then it stucked there for a couple minutes and process some more to enter the console but then it just enter some kind of recovery mode and hanged forever. The log of the whole thing can be seen in here

[    4.561530] hrtimer: interrupt took 3316042 ns
[    4.861930] rkisp1 ff4a0000.rkisp1: clear unready subdev num: 1
[    5.125404] rockchip-mipi-dphy-rx: No link between dphy and sensor
[    5.130597] rockchip-mipi-dphy-rx: No link between dphy and sensor
[    5.134412] rkisp1: update sensor failed
[    5.235411] ALSA device list:
[    5.237457]   #0: rockchip,rk809-codec
[    5.425933] Freeing unused kernel memory: 1024K
NAME=Buildroot
VERSION=2018.02-rc3-ga31246734b-dirty
ID=buildroot
VERSION_ID=2018.02-rc3
PRETTY_NAME="Buildroot 2018.02-rc3"
Starting logging: OK
Populating /dev using udev: [   32.594985] udevd[160]: starting version 3.2.7
[   35.656630] udevd[160]: specified group 'kvm' unknown
[   41.338788] udevd[161]: starting eudev-3.2.7
udevadm settle failed
done
Initializing random number generator... done.
Starting network: cmdline=storagemedia=emmc androidboot.storagemedia=emmc androidboot.mode=normal  androidboot.slot_suffix= androidboot.serialno=17c5e6b3cec0121  ro rootwait earlycon=uart8250,mmio32,0xff160000 swiotlb=1 console=ttyFIQ0 root=PARTLABEL=rootfs rootfstype=ext4 overlayroot=device:dev=PARTLABEL=userdata,fstype=ext4,mkfs=1 coherent_pool=1m systemd.gpt_auto=0 cgroup_enable=memory swapaccount=1

read console from cmdline is /dev/ttyFIQ0
Starting recovery on Fri Aug  4 14:49:54 2017

Recovery System have UI defined.
failed to read font: res=-1, fall back to the compiled-in font
[  340.555547] Freeing drm_logo memory: 1236K
rotate degree: 0 - none, 1 - right, 2 - down, 3 - left.
current rotate degree is : 0
OK
Debug: configfs_init
mkdir: can't create directory '/sys/kernel/config/usb_gadget/rockchip/functions/uac1.gs0': No such file or directory
mkdir: can't create directory '/sys/kernel/config/usb_gadget/rockchip/functions/uac2.gs0': No such file or directory
[  596.411078] file system registered
mkdir: can't create directory '/sys/kernel/config/usb_gadget/rockchip/functions/mtp.gs0': No such file or directory
mkdir: can't create directory '/sys/kernel/config/usb_gadget/rockchip/functions/rndis.gs0': No such file or directory
[  607.061489] Mass Storage Function, version: 2009/09/11
[  607.064402] LUN: removable file: (no medium)
mkdir: can't create directory '/sys/kernel/config/usb_gadget/rockchip/functions/hid.usb0': No such file or directory
[  632.533934] read descriptors
[  632.552351] read strings
[  637.673944] dwc2 ff300000.usb: bound driver configfs-gadget
[  637.884795] dwc2 ff300000.usb: new device is high-speed
[  637.991626] dwc2 ff300000.usb: new device is high-speed
[  638.060663] dwc2 ff300000.usb: new address 31
[  638.102361] configfs-gadget gadget: high-speed config #1: b
[  638.347754] android_work: sent uevent USB_STATE=CONNECTED
[  638.433970] android_work: sent uevent USB_STATE=CONFIGURED
Starting input-event-daemon: input-event-daemon: Start parsing /etc/input-event-daemon.conf...
input-event-daemon: Adding device: /dev/input/event0...
input-event-daemon: Adding device: /dev/input/event1...
input-event-daemon: Start listening on 2 devices...
done
[root@buildroot:/]# recovery filesystem table
=========================
  0 (null) /tmp ramdisk (null) (null) (null)
  1 /dev/root / ext2 rw,noauto 0 1
  2 proc /proc proc defaults 0 0
  3 devpts /dev/pts devpts defaults,gid=5,mode=620 0 0
  4 tmpfs /dev/shm tmpfs mode=0777 0 0
  5 tmpfs /tmp tmpfs mode=1777 0 0
  6 tmpfs /run tmpfs mode=0755,nosuid,nodev 0 0
  7 sysfs /sys sysfs defaults 0 0
  8 debug /sys/kernel/debug debugfs defaults 0 0
  9 pstore /sys/fs/pstore pstore defaults 0 0
  10 /dev/block/by-name/misc /misc emmc defaults 0 0
  11 /dev/block/by-name/oem /oem ext2 defaults 0 2
  12 /dev/block/by-name/userdata /userdata ext4 defaults 0 2

emmc_point is /dev/mmcblk2
sd_point is (null)
sd_point_2 is (null)
Recovery start....................
read cmdline
>>> Boot from non-SDcard
[I/]RECOVERY devices is not MTD.
[I/]RECOVERY Boot command: boot-recovery
[I/]RECOVERY Got arguments from boot message
[I/]RECOVERY devices is not MTD.
Command: "recovery" "--wipe_all"

Formatting /userdata...
format '/dev/block/by-name/userdata' to ext4 filesystem
executing '/sbin/mke2fs'
[ 1122.173088] udevd[161]: worker [308] /devices/platform/ff390000.dwmmc/mmc_host/mmc2/mmc2:0001/block/mmcblk2/mmcblk2p9 is taking a long time
executed '/sbin/mke2fs' done
executed '/sbin/mke2fs' return 0
executing '/sbin/e2fsck'
e2fsck 1.43.9 (8-Feb-2018)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/block/by-name/userdata: 11/416976 files (0.0% non-contiguous), 49888/1665083 blocks
executed '/sbin/e2fsck' done
executed '/sbin/e2fsck' return 0
[ 1160.243298] EXT4-fs (mmcblk2p9): mounted filesystem with ordered data mode. Opts: 
Data wipe done.
userdata wipe done.
executing '/sbin/e2fsck'
e2fsck 1.43.9 (8-Feb-2018)
Superblock last write time (Wed Apr  6 07:50:30 2022,
    now = Fri Aug  4 15:03:48 2017) is in the future.
Fix? yes

Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/block/by-name/oem: 18/4368 files (5.6% non-contiguous), 12657/17408 blocks
executed '/sbin/e2fsck' done
executed '/sbin/e2fsck' return 0
executing '/sbin/resize2fs'
resize2fs 1.43.9 (8-Feb-2018)
Resizing the filesystem on /dev/block/by-name/oem to 65536 (1k) blocks.
The filesystem on /dev/block/by-name/oem is now 65536 (1k) blocks long.

executed '/sbin/resize2fs' done
executed '/sbin/resize2fs' return 0
resize oem done.
finish_recovery Enter.....
[E/]RECOVERY Can't open /tmp/recovery.log
[E/]RECOVERY Can't open /tmp/recovery.log
[I/]RECOVERY devices is not MTD.
Rebooting...
Reboot...
[ 1195.659147] cpu cpu0: min=816000, max=816000

The SDK firefly given is not really based on buildroot because the kernel, Uboot and loader are build manually with makefile and buildroot is only used to generate a root file system.

I guess that is because of different hardware need different configuration. So I have tried to turn off some peripherals in the the device tree to make a minimal OS which just able to finish boot up but it just did not work. Then I found on github Rockchip Yocto and I follow through the tutorial to build a image as well as binary file but because the project was designed to run on a Rockchip development board I have to use the some filesystem file from the build with the original kernel, loader, uboot and modified the partition file from Firefly to process the boot as in this issue link, but it is not working also. I tried to ask the guy from Rockchip but they only give me a vague answer that my eMMC is not fast enough to partion link but I had checked and the speed is not that huge of a difference and I also tried to boot from SD card but the problem is still the same so I do not know what to do with the error right now.

So the question is that is there any thing that i missed or any one having the same problem can show me a way out. Thank you very much for any kind of help.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文