Skip site navigation (1)Skip section navigation (2)
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>