Date: Wed, 13 Sep 1995 13:13:22 -0400 (EDT) From: Steve Corso <steve@news.netdtw.com> To: FreeBSD hackers <freebsd-hackers@freebsd.org> Subject: Re: Kernel & fixit diskette (fwd) Message-ID: <Pine.3.89.9509131301.A5018-0100000@news.NetDTW.com> In-Reply-To: <199509131436.QAA04272@uriah.heep.sax.de>
next in thread | previous in thread | raw e-mail | index | archive | help
Hello All, Based on everyone's comments yesterday, I tested and know that: 1. kzip will compress the kernel. 2. Using login will fix the identification problem. Of course, you do need to also include the skey lib during linking. There are a few other minor details that are important, like having a spwd.db file in the etc directory. I will send to someone (someone please tell me who) the description of exactly what I am doing, what my restore method is, along with a modified makefile for doing it. My baisc approach is to back up the machine onto another machine's tape drive (no big deal with dump), but, then to make sure that I could do a total restore from the ground up. My thanks to all of you, Steve Corso On Wed, 13 Sep 1995, J Wunsch wrote: > As Terry Lambert wrote: > > > > > 1. How do you crunch the actual kernel itself? The Makefile I have does > > > not do this. > > > > It is gzip'pped; the loader understands this. > > Actually, the loader doesn't care. It simply loads the file (and it > has been advised to load it at 0x300000), and starts it. Instead of > starting a kernel, it will start the decompressor, which decompresses > the image to 0x100000. > > > > 2. How do you establish your identify when you boot single user? I ask this > > > because rlogin (off the fixit) reports that it does not know its user > > > name, and, a rlogin -l xxx does not resolve the issue. > > > > By logging in. > > > > I know, this is an odd answer. > > > > The problem is that the user is retrieved from information initialized by > > login, but you have not really used login when you boot into a shell in > > single user mode. > > You should better look into the code, Terry: > > if (!(pw = getpwuid(uid = getuid()))) { > (void)fprintf(stderr, "rlogin: unknown user id.\n"); > exit(1); > } > if (!user) > user = pw->pw_name; > > The problem is that the fixit floppy contains a dummy spwd.db file (an > empty one). Hence the above logic will fail. You have to bit the > bullet and bloat your fixit floppy by a 40 KB long real spwd.db. > (Even if you've got only "root" there, the db file will be 40 KB. :( ) > > Alternatively, you can hack the rlogin on the floppy to avoid this > check. > > If you need more space on the fixit floppy, move the kernel over into > the root directory of another floppy, and exchange the media after > loading the kernel. > > Don't forget to establish a small /usr/share/misc/termcap file on the > fixit floppy. You might need it if you wanna run "vi". :) > > -- > cheers, J"org > > joerg_wunsch@uriah.heep.sax.de -- http://www.sax.de/~joerg/ > Never trust an operating system you don't have sources for. ;-) >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.3.89.9509131301.A5018-0100000>