Ticket #1344 (closed defect: fixed)
Kernel upgrade fails with GTA01 rootfs on SDHC
|Reported by:||cwixon@…||Owned by:||julian_chu|
|Blocking:||Estimated Completion (week):|
I don't know exactly where to categorize this, because it's not really a kernel
issue, but more related to packaging and flashing . . . feel free to reclassify
In any event, I'm running an AUTOREV rootfs (built myself) on my SDHC card via
the procedure described here:
Accordingly, my kernel is in NAND where it usually goes.
When the kernel gets upgraded via ipkg/opkg, the new kernel-image .ipk file has
a postinst script that is supposed to erase the kernel partition and reflash it
with the new kernel. But that's not working. Looks like this:
Upgrading kernel in Flash
DO NOT stop this process
/usr/bin/flash_eraseall: /dev/: Is a directory
postinst script returned status 1
Nothing to be done
ERROR: kernel-image-2.6.24.postinst returned 1
So I looked into this a little further, and it appears that the postinst script
does some hackery based on grepping "kernel" in the contents of /proc/mtd to
determine where to flash. That should indicate where the kernel lives. But on
dev: size erasesize name
mtd0: 04000000 00004000 "neo1973-nand"
And that's all. So the kernel doesn't show up at all, and the flash operation
But I know it's there, and the default NAND partitioning scheme is in place (I
even have a basic rootfs in NAND, but I don't boot from it).
My workaround is to have a custom .bb for the kernel based on the official one
but with a few defconfig tweaks (turn OFF mmc debug messages) and removal of the
postinst flash operations to allow it to succeed. I haven't tested this yet
because there's something wrong with the openmoko git repository, but that's
another problem . . .
- Owner changed from openmoko-kernel@… to julian_chu
- Component changed from System Software to Distro