mirror of
git://git.yoctoproject.org/meta-rockchip.git
synced 2025-07-05 05:04:47 +02:00
![]() Recent upstream kernel changes have made the mmc probing order unpredictable. Therefore, boards with both an emmc and sdmmc interface aren't guaranteed to boot with a hard-coded root device selected. For example, on the rock64, with linux-yocto 5.10.y, using the uSD card (i.e. the sdmmc interface) about 50% of the time the boot would succeed, and roughly 50% of the time it wouldn't: ... [ 0.612233] Waiting for root device /dev/mmcblk1p7... [ 0.634551] mmc_host mmc1: Bus speed (slot 0) = 300000Hz (slot req 300000Hz, actual 300000HZ div = 0) [ 0.639064] mmc_host mmc0: Bus speed (slot 0) = 50000000Hz (slot req 50000000Hz, actual 50000000HZ di) [ 0.640007] mmc0: new high speed SDXC card at address 5048 [ 0.641176] mmcblk0: mmc0:5048 SD64G 58.0 GiB [ 0.647610] random: fast init done [ 0.648279] GPT:Primary header thinks Alt. header is not at the end of the disk. [ 0.648941] GPT:376479 != 121634815 [ 0.649252] GPT:Alternate GPT header not at the end of the disk. [ 0.649796] GPT:376479 != 121634815 [ 0.650106] GPT: Use GNU Parted to correct GPT errors. [ 0.650598] mmcblk0: p1 p2 p3 p4 p5 p6 p7 NOTE the discrepancy between the kernel waiting for device /dev/mmcblk1p7, which comes from the hard-coded kernel cmdline, and the kernel probing putting the sdmmc on mmcblk0. With linux-yocto 5.13.y on the rock64 using the uSD card the board would never boot, the sdmmc always appears on mmcblk0. Instead of simply changing the hard-coded root device (i.e. from mmcblk0 to mmcblk1) switch to using partition UUIDs instead. Hard-coding the boot device would work with 5.13.y but would fail 50% of the time with 5.10.y; who knows what other kernels will do? In any case, switching to UUIDs works regardless of board, kernel, or available mmc interfaces. Boot tested on: - rock64 - nanopi-m4-2gb - tinker-board - rock-pi-e - rock-pi-4b Signed-off-by: Trevor Woerner <twoerner@gmail.com> |
||
---|---|---|
classes | ||
conf | ||
dynamic-layers/qt5-layer/recipes-qt/qt5 | ||
recipes-bsp | ||
recipes-graphics/mesa | ||
recipes-kernel/linux | ||
wic | ||
COPYING.MIT | ||
README |
OpenEmbedded BSP layer for Rockchip boards
About:
The purpose of this layer is to provide OpenEmbedded BSP support for
Rockchip-based devices using upstream sources as much as possible.
Dependencies:
URI: git://git.openembedded.org/openembedded-core
layers: meta
branch: matched branches (e.g. master, sumo, ...)
URI: git://git.yoctoproject.org/meta-arm
layers: meta-arm, meta-arm-toolchain
branch: matched branches (e.g. master, sumo, ...)
Status of supported boards:
builds and boots wic image:
nanopi-m4
nanopi-m4-2gb
rock-pi-e
rock-pi-4a
rock-pi-4b
rock-pi-4c
rock64
tinker-board
tinker-board-s
vyasa-rk3288
firefly-rk3288
builds:
marsboard-rk3066
radxarock
rock2-square
Maintenance:
Please send pull requests, patches, comments, or questions to the
yocto mailing list (yocto@lists.yoctoproject.org) CCing the maintainer
When sending patches, please make sure the email subject line includes
"[meta-rockchip][PATCH]" and follow the community's patch submission
guidelines, as described in:
https://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines
https://www.openembedded.org/wiki/How_to_submit_a_patch_to_OpenEmbedded
For example, to send your most recent commit (i.e. just one patch),
please use something like:
git format-patch -M --subject-prefix="meta-rockchip][PATCH" HEAD^
git send-email --to yocto@lists.yoctoproject.org --cc twoerner@gmail.com <your patch file>
Maintainer:
Trevor Woerner <twoerner@gmail.com>
Brief History:
2014 April
- originally started by Julien Chauveau
- Romain Perier joins
2014 Sep
- Julien leaves
2015 Aug
- Trevor Woerner joins
2017 Mar
- developers from Rockchip fork this layer see:
https://github.com/rockchip-linux/meta-rockchip.git
http://rockchip.wikidot.com/yocto-user-guide
2017 May
- Romain leaves
2018 Feb
- Rockchip developers abandon their fork for buildroot
http://opensource.rock-chips.com/wiki_Buildroot