2004-09-19-2311Z


A little kernel hacking, enabling me to mmount my JB1 camera. This is a patch against the 2.6.7 kernel source, under fs/fat/.

--- ./inode.c.orig	2004-06-16 05:19:22.000000000 +0000
+++ ./inode.c	2004-09-19 22:55:03.000000000 +0000
@@ -996,6 +996,8 @@
 		/* all is as it should be */
 	} else if (media == 0xf8 && FAT_FIRST_ENT(sb, 0xfe) == first) {
 		/* bad, reported on pc9800 */
+	} else if (media == 0xf8 && first == 0xffff) {
+		/* bad, found on flash filesystem of DD JB1 camera */
 	} else if (media == 0xf0 && FAT_FIRST_ENT(sb, 0xf8) == first) {
 		/* bad, reported with a MO disk on win95/me */
 	} else if (first == 0) {
@@ -1003,8 +1005,9 @@
 	} else {
 		if (!silent)
 			printk(KERN_ERR "FAT: invalid first entry of FAT "
-			       "(0x%x != 0x%x)\n",
-			       FAT_FIRST_ENT(sb, media), first);
+			       "(media=0x%x, first entry "
+			       "should be 0x%x but found 0x%x)\n",
+			       media, FAT_FIRST_ENT(sb, media), first);
 		goto out_invalid;
 	}

I tried to sys it using dosemu and freedos, but no joy so far. DOS area: sector not found. Too bad, it might make a great little recovery "floppy" if I can get this to work. Of course there are a million other ways to go about it too. It's probably got room for Linux plus freedos plus dosemu, for example.

Back to blog or home page

last updated 2013-01-10 20:31:14. served from tektonic.jcomeau.com