[Letux-kernel] [Lenny400] CI20: how to boot upstream kernel?

H. Nikolaus Schaller hns at goldelico.com
Wed May 15 14:58:05 CEST 2019


Hi all,

> Am 14.05.2019 um 11:41 schrieb H. Nikolaus Schaller <hns at goldelico.com>:
> 
> Hi all,
> 
>> Am 13.05.2019 um 18:14 schrieb H. Nikolaus Schaller <hns at goldelico.com>:
>> 
>> Hi Mathieu,
>> 
>>> Am 10.05.2019 um 08:08 schrieb Mathieu Malaterre <malat at debian.org>:
>>> 
>>>> 
>>>> The 4.19 kernel is stuck with
>>>> 
>>>> [    0.968637] Waiting for root device /dev/mmcblk0p1...
>>>> 
>>>> although the mmc driver is loaded:
>>>> 
>>>> [    0.760598] jz4740-mmc 13460000.mmc: JZ SD/MMC card driver registered
>>>> [    0.767091] jz4740-mmc 13460000.mmc: Using DMA, 4-bit mode
>>>> 
>>>> Before I start a bisect to find which patch between 4.19 and 5.0 made it
>>>> work, I better ask the CI20 specialists here first...
>>> 
>>> https://patchwork.kernel.org/project/linux-mmc/list/?submitter=179601
>> 
>> Thanks for pointing to this patch set!
>> 
>> Unless I have missed something, all patches except the first one have been
>> backported to stable v4.19.40 so they should be effective. And the first one
>> doesn't seem to improve anything in my tests.
>> 
>> I have tried to git bisect and manual bisect and git log arch/mips/ingenic
>> but didn't find something in the jz47xx code or CI20 drivers that is obviously
>> related.
>> 
>> What I also tried is to cherry-pick the jz4780 dma changes introduced by
>> 4.20 - but also no success.  So it might be a side-effect of some other driver.
>> 
>> Current status of my tests is that
>> v4.20-rc2	boots to login:
>> v4.20-rc1	kernel panics with page faults and strange things
>> v4.19.0		fails with "waiting for root device"
>> same for v4.18 and v4.14
>> 
>> Unfortunately, these kernel panics make it difficult to git bisect between
>> v4.19 and v4.20-rc2.
>> 
>> It also does not seem to make a difference if I use the ci20_defconfig
>> or my own (otherwise I could simply bisect the diff between both defconfigs).
> 
> I did repeat some tests and found a bug in my script that copies the newly
> compiled kernel to the SD card. This sometimes missed something which went
> unnoticed. Therefore the test results were not reliable.
> 
> With the fixed build process, the tree from kernel.org or the letux source tree
> works with a minimally patched ci20_defconfig. Only the full letux_defconfig
> makes 4.19 kernels fail to find the root device, while 4.20 and later kernels work. 
> 
> So this means I have to find out which config is in conflict and either disable
> it or find the driver enabled by it.

I think I found it by accident:

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/drivers/gpio/Kconfig?h=v5.1&id=57e2143473fd7c5a4aefd90d6d9ed19c2d1981f8

Since I tried to backport the working letux_defconfig from 5.1 to 5.0 and to 4.19,
it did not "know" about this older config option and therefore GPIO_INGENIC was not set.

It seems to be needed for card detect and write protect, which explains why the rootfs
is not considered available.

I just wonder why my bisect attempts did not find it.

BR and thanks for help,
Nikolaus

PS: does anyone have PVR/SGX working on a mainline kernel? And the ov5640 camera?



More information about the Letux-kernel mailing list