Mark-Jason Dominus on Thu, 4 Nov 1999 17:24:26 -0500 (EST) |
If you try to use LILO to install a boot block, it sometimes says geo_comp_addr: Cylinder number is too big (<number> > 1023) That means that part of your /vmlinux file is stored in a block that is on the wrong part of the disk, and the BIOS will not be able to load the /vmlinux at boot time. What can you do about this? Basically, nothing. The helpful documentation helpfully says Try moving the file to a different place, preferably a partition that is entirely within the first 1024 cylinders of the disk. Now how are you supposed to do that? If you knew about this in advance, you already have a disk partition at the front of your disk which is no more than 1024 cylinders. But in that case you don't get this error message in the first place. But you did get it; what do you do now? Well, you can go onto IRC and ask for advice and listen to someone tell you that you should have studied the docmuentation more carefully before you began. When I become Emperor, those people will live in the oubliette. Let's see, what else? I guess you can dump all your files to tape an repartition your entire hard disk and then try to figure out how to hook the two partitions together to get the same file structure you had before. Maybe next time you won't be foolish enough to dare to try to boot from a disk with more than 1024 cylinders. I ran into this problem last week, but I was lucky. I had just bought a new disk and I could partition it any way I wanted to. So I got around it by making a little tiny partition on the new disk, with only 32 cylinders and nothing on it but the kernel files and the boot stuff. I mount the little partition on /boot. If I had not happened to have just gotten back from the store with a new disk, I would have been entirely hosed. And what a stupid thing to have to do anyway. At the PLUG meeting yesterday I was amazed. Someone told me that this stupidity is a *recommended configuration*. I had planned to ask about the 1024 cylinder thing yesterday when I got to the meeting. I didn't have to. A whole lot of people were talking about it when I got there. Today Adam told me about someone who can only boot his Debian system from floppy because his vmlinux is in the wrong place. I think I've solved this problem. I wrote a program that locates some `good' blocks (the ones on cylinders 0-1023) on your boot disk and copies your kernel file into them. I tried it out. It worked just fine for me. My four kernel images are all bootable now, and I don't need the mini-partition. I have not tested this program adequately. It is very difficult to exercise all the code paths for this program. I cannot guarantee that it won't do something terrible. It might corrupt your vmlinux file. It might decide that there are some good blocks in /bin/bash and that it is going to reclaim them, and accidentally corrupt or erase your /bin/bash. There are probably the worst case-scenarios. I will keep working on this, but I would like some brave volunteers to help me with it. I thought there might be some people on this list with unbootable systems who would want to give it a try in spite of the risk. The prototype of the program is in Perl. I have a C version under construction but I may abandon it because the prototype is working well enough. Access to a C compiler is desirable, however, because the program uses the C compiler to get some configuration information that it needs. If you are desperate enough to want to try out this useful but risky and untested program, send me mail. It is named `soliloquy', and you should send me mail at mjd-plug-soliloquy@plover.com. Mark-Jason Dominus mjd@plover.com _______________________________________________ Plug maillist - Plug@lists.nothinbut.net http://lists.nothinbut.net/mail/listinfo/plug
|
|