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>
