Older blog entries for coywolf (starting at number 9)

3 Aug 2005 (updated 3 Aug 2005 at 16:12 UTC) »

The night before last, I did a dd if=bioboot of=/dev/hda6 while I was playing with the OpenBSD bootloader on my home desktop. The biosboot is an exactly 512-byte boot sector, and the /dev/hda6 is vfat. No, I don't use windows. The box was shipped with windows, so there're hda1, hda5, hda6 (c:, d:, e:) exist as vfat.

I didn't realise the problem when I did the dd. I thought it was FAT partition. The first sector is boot sector, solely for booting. FAT tables are certainly not in that small area. I thought it was safe since I don't have to boot from it.

Last night I found I couldn't mount hda6, I realised I was in trouble. I may lost that file system. But I didn't have time to repair. Someone else was using my pc.

Tonight, I've reliased how severe the trouble is after some trying. I may lost that filesystem with 12G data. The kernel reports

FAT: Filesystem panic (dev hda6)
    fat_get_cluster: invalid cluster chain (i_pos 0)

The fact is that FAT uses the first sector also as a superblock. It even stores the media type on it. That explains why previous linux bootsector had to make guesses on track sector numbers. :-(

Is there any hope? In the boot sector, the 062-063(in octal), stores the backup boot sector location. So I checked that value from hda5, it's 6.

# od -t x1 hda5.b
0000000 eb fe 90 4d 53 57 49 4e 34 2e 31 00 02 20 42 00
0000020 02 00 00 00 00 f8 00 00 3f 00 ff 00 7b 3f 43 02
0000040 c5 fe 3a 01 af 13 00 00 00 00 00 00 02 00 00 00
0000060 01 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00
0000100 80 00 29 04 1e 41 6e 4e 4f 20 4e 41 4d 45 20 20
0000120 20 20 46 41 54 33 32 20 20 20 00 00 00 00 00 00
0000140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0000760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 aa

Then I restored the boot sector from the sector 6 on hda6. I assume hda5 and hda6 are of the same backup boot sector location.

dd if=/dev/hda6 of=hda6-skip6.b bs=512 count=1 skip=6

# file hda6-skip6.b
hda6-skip6.b: x86 boot sector, code offset 0xfe, OEM-ID "MSWIN4.1", sectors/cluster 32, M
edia descriptor 0xf8, heads 255, hidden sectors 58605183, sectors 38764782 (volu
mes > 32 MB) , FAT (32 bit), sectors/FAT 9471, rootdir cluster 348, reserved3 0x
800000, serial number 0x71eb915a, label: " DISK1_VOL3"

Yeah, that's it. I see a big hope.

dd if=hda6-skip6.b of=/dev/hda6

Now, it's recovered. Everything looks ok. mount runs ok, files are still there. It seems just like nothing has had happend! :-)

9 Jul 2005 (updated 9 Jul 2005 at 16:04 UTC) »

My two favourite quotes of today, by Daniel Hommel:

1) <homsn> i think violence is wrong, but sometimes it's the only way...

2) <homsn> hmm money is root of all evil

Ok, YAFFS site just added a link to my patch, http://www.aleph1.co.uk/yaffs/. I didn't announce it before, 'cause I'm not satisfied with it yet. Now it's there to save anyone else from writing the same thing. I hope I will get time to work on it later.

6 May 2005 (updated 6 May 2005 at 16:26 UTC) »

I believe no one can invent an algorithm. One just happens to hit upon it when God enlightens him. Or only God invents algorithms, we merely copy them. If you don't believe in God, just consider God as Nature if you won't deny existence.

5 May 2005 (updated 5 May 2005 at 23:05 UTC) »

LCA oom-killer v2.2.1 is near. I'll flush it out at any time probably.

2 May 2005 (updated 2 May 2005 at 22:09 UTC) »

OK, oom lca killer v2.2 released. http://lkml.org/lkml/2005/5/2/150

20 Apr 2005 (updated 20 Apr 2005 at 12:44 UTC) »

A special place in hell for realplayer at http://www.bash.org/?478519 and also from the same guy some amusing pics.

It seems to me that phpBB is a lot like M$. They force people to upgrade, and upgrade, and upgrade... Always for good security reasons, of course. They don't even appear to have the capability to use diff and patch.

11 Apr 2005 (updated 12 Apr 2005 at 02:32 UTC) »

I don't have enough time to improve my oom killer patch. I'm busy with my realty business, which will bring me more money than years hard working as an employee. Probably I'll never seriously work back in software except work on the linux kernel. Hackers, if you think you are not being well rewarded, consider resigning from your software job!

31 Mar 2005 (updated 31 Mar 2005 at 10:38 UTC) »

Someone said to me that trying to do searches faster, but without extra memory allocations is a typical Microsoft interview question. Well, I do it by carefully programming ...

30 Mar 2005 (updated 30 Mar 2005 at 09:31 UTC) »

I'm working on my oom-killer swapping part. It'll be v2.2. v1.x isn't public. v2.1 is at http://lwn.net/Articles/129286/

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!