Repository navigation
fullhan: FH8626V100 boots a 4.9 kernel, so its flash is spi0.0 - #96
Conversation
PR Summary by QodoFix FH8626V100 flash naming for its 4.9 kernel
AI Description
Diagram
High-Level Assessment
Files changed (3)
|
Code Review by Qodo
1.
|
OpenIPC runs FH8626V100 on the 4.9.129 fullhan-fh8852v200 kernel, but this port gave it the 3.0.8 parts' flash name: - mtdids defaulted to "spi_flash", the 3.0.8 m25p80 platform data's name. Under 4.9 the flash is the SPI device "spi0.0", so the kernel ignored mtdparts, used its built-in table, and panicked on a camera: "VFS: Unable to mount root fs on unknown-block(31,3)". The default is now spi0.0. An environment that an earlier build saved with exactly "spi_flash" is corrected at boot, and only on FH8626V100. FH_ATAG_PHYMODE stays: the 4.9 kernel only logs "Ignoring unrecognised tag 0x41000601" for it, and a 3.0.8 vendor kernel booted by this U-Boot needs it for RMII. In qemu-hisilicon's fh8626v100 machine, booting the fh8626v100_lite image from flash through U-Boot: - the released build: mtdparts=spi_flash, VFS panic, as on the camera; - this build, blank environment: mtdparts=spi0.0, login prompt; - this build after `setenv mtdids spi_flash; saveenv; reset`: mtdparts=spi0.0, login prompt, also on the boot after.
8ab9716 to
27aeed3
Compare
|
Qodo's finding is right: dropping Re-tested in qemu-hisilicon
|
Thanks for confirming. |
On an FH8626V100 camera, the
fullhanrelease U-Boot boots thefh8626v100_litekernel, and the kernel then panics without mounting root:OpenIPC runs FH8626V100 on the 4.9.129
fullhan-fh8852v200kernel (OpenIPC/linux#53), but this port gave it the 3.0.8 parts' flash name.mtdidsdefaulted tospi_flash, the 3.0.8 m25p80 platform data's name. Under 4.9 the flash is the SPI devicespi0.0, so the kernel ignoredmtdparts=, fell back to the board's built-in table, and found its kernel partition atmtdblock3.spi0.0.spi_flashis corrected at boot, so cameras that already ransaveenvrecover without a manual step. This applies to FH8626V100 only; no other value and no other SoC is touched.FH_ATAG_PHYMODEis unchanged. The 4.9 kernel only logsIgnoring unrecognised tag 0x41000601for it, and a 3.0.8 vendor kernel booted by this U-Boot needs the tag for RMII.Until a camera has this build, the workaround is to run at the U-Boot prompt:
Testing. qemu-hisilicon's
fh8626v100machine booted thefh8626v100_liteimage from flash through U-Boot:mtdparts=fullhanreleasespi_flashspi0.0setenv mtdids spi_flash; saveenv; resetspi0.0fh8852v200andfh8852v100still build. FH8626V100's image is 221568 bytes, with 40576 spare. This build has not run on the camera yet.