On Tue, Mar 08, 2011 at 05:39:27PM +0100, Loïc Minier wrote:
On Wed, Mar 09, 2011, Shawn Guo wrote:
I just added this one, and it does not help. The l-m-c still fails at the last step. mkimage: Write error on /tmp/tmpUiR_m1/boot-disc/uImage: Success
This error sounded a bit weird; I checked the u-boot sources, and this string is used in a bunch of places, but essentially it's either on write() or on close() that this fails. I bet it's on write() as I don't see close() failing without an useful errno, but I could imagine the write tests failing: if (write(ifd, tparams->hdr, tparams->header_size) != tparams->header_size) { fprintf (stderr, "%s: Write error on %s: %s\n", params.cmdname, params.imagefile, strerror(errno)); notably if this is a partial write.
We could change mkimage's write()s to actually account for the number of bytes written rather than just failing when not all bytes were written.
Could you log a bug on the u-boot package on that one? Or rather, could you check before hand where your mkimage comes from? dpkg -S `which mkimage`
apt-cache policy name-of-the-package-returned-above
$ apt-cache policy uboot-mkimage uboot-mkimage: Installed: 0.4build1 Candidate: 0.4build1 Version table: *** 0.4build1 0 500 http://us.archive.ubuntu.com/ubuntu/ maverick/main amd64 Packages 100 /var/lib/dpkg/status