If you use a PD getty on Microport V/386
T. William Wells
bill at twwells.uucp
Tue Apr 25 17:05:56 AEST 1989
I posted a getty clone on alt.sources a while ago. It works fine,
except for one teensy problem....!
When I first posted it, someone sent me a message asking what I did to
deal with the kludge that Microport put into their getty to prevent
more accesses than your licence allowed. I told him that I had done
nothing because it worked fine as it was.
Then I went and modified my inittab so that it spawned an su on
/dev/console instead of a getty. And my system stopped working. (Why
would I want an su on /dev/console? Well, my system is physically
secure, I have virtual consoles, and I really want a way to log in
regardless of the state of my getty or /etc/passwd or whatever.)
What happens is this: when init first runs a getty, it sets a flag in
the kernel which it expects the first getty to clear. Since I, being
paranoid, kept the original Microport getty running on /dev/console,
that flag got cleared. BUT, when I ran su directly instead of the
getty, the flag wasn't cleared and init refused to spawn any more
processes.
So I went back to the standard getty for /dev/console till I had time
to hunt down a kludge to make things do what I want. Tonight, I found
the kludge. It prevents init from setting the flag.
I'm running Microport V/386 3.0e. Here's what you do in order to run
a non-Microport getty:
FIrst, run sum and sum -r on init to verify that you are using the
same init as I am. I get:
sum: 31759 77
sum -r: 38877 77
Then make a copy of /etc/init, say in /tmp/init, and then patch it
with the command:
adb -w /tmp/init <<\+
0x40028c?w0
+
Now run sum and sum -r on the new init. You should get these numbers:
sum: 31758 77
sum -r: 14226 77
Assuming you get those numbers, rename /etc/init to /etc/init.old,
copy /tmp/init to /etc/init, and then reboot. Make sure you have
another way to boot in case something gets screwed up.
*IF* you can reboot with no Microport gettys running on your system
and *IF* you can log out and then back in on the system console (or
init respawns the su on logout if you are doing what I do), then you
can get rid of the old init and the Microport getty if you want.
(They're not going to like me for this: I have a sneaking suspicion
that this completely disables the login count checking.)
Note that followups have been directed to comp.unix.i386.
---
Bill { uunet | novavax } !twwells!bill
More information about the Alt.sources
mailing list