Picture the following Scenario:
See Nir want to install mcdl.pl - a nice script which catalogues
collections of CDs. It does it in a neat fashion. It uses a CDDB perl
module and a mySQL module - and it simply combines the two along with a
small programs that figures out the serial number on the CD.
Anyway - I have to install the DBI moduels - right? Unfortunately I
couldn't get perl5 to compile with normal dynamic module loading
capabilities - so I decide on getting a precompiled Debian package. I mean
- that's why I got Debian - right? To save my valuable time?
Enter dselect. I remove an old package and dselect responds by wiping off:
X
xv
dpkg-ftp
netscape
gcc
xpm
xlib
libpng
libjpeg
kernel header files (and all include files somehow)
And a plethora of random crap.
I say - 'What the fuck'? And start off by wildly ftping Debian packages
and reinstalling them all.
I finally manage to get X working again - and install netscape (BTW: How
many fucking packages of netscape _are there_? What's wrong with just
plain old 'netscape'?). I catch up on Slugy. Life seems good. I decide to
get back to what I was doing in the first place. Install perl from scratch
(How many perl packages are there, anyway?) and notice that DBI won't
compile. All include files are missing. I don't feel like fiuring out why
- so I do what every person in his right mind would do - that's right - I
download the DBI Debian package. I also download the mysql Debian package
just for the hell of it.
I install mySQL. 'Can't find libreadlineg2' Fine by me. I download it and
attempt to install it.
'libreadlineg2 conflicts with libreadline2'
Okay - so it does - no biggy - --force-conflict.
Bad idea.
psychodad:~/archives/packages> ldd /bin/bash
libreadline.so.2 => /lib/libreadline.so.2 (0x4000a000)
libncurses.so.3.0 => /lib/libncurses.so.3.0 (0x40035000)
libdl.so.1 => /lib/libdl.so.1 (0x40072000)
libc.so.5 => /lib/libc.so.5 (0x40075000)
libncurses.so.4 => /lib/libncurses.so.4 (0x40133000)
libc.so.6 => /lib/libc.so.6 (0x40173000)
ld-linux.so.2 => /lib/ld-linux.so.2 (0x40218000)
Apparently Debian's root shell is dynamically linked...
With libreadline.
So it now segfaults every time I run it.
Ahhm...
Wait a second! I have a root shell open! that oughta fix things up! Run
ftp to... Oh fuck. ftp also depends on libreadline.
Oh good! I have an ftp open on another VT!
Download libreadline2...:
bash-2.01# dpkg --install libreadline2_2.1-12.deb
(Reading database ... 17774 files and directories currently installed.)
Preparing to replace libreadline2 2.1-2bo7.3 (using
libreadline2_2.1-12.deb) ...dpkg: error processing libreadline2_2.1-12.deb
(--install):
subprocess pre-installation script killed by signal (Segmentation fault)
Errors were encountered while processing:
libreadline2_2.1-12.deb
Yes ladies and gentlemen! dpkg runs sh scripts which run under - you
guessed it - bash! Which is dynamically linked.
Therefore dpkg is dependant on packages that dpkg is supposed to install.
What the fuck?
So now what do I have? I have a complete useless Linux installation until
I figure out where the hell I put my rescue disks and hope to hell that at
least THEY have a statically linked sh - or at least functioning
libraries.
And I blame it all on Debian.
All software sucks. But software which has inter-dependencies sucks a lot
more.
Damn - all packaging tools to hell. Damn them I say!
And for fucks sake people - when you build a Linux distribution - the
LEAST you can do is have a statically linked shell _somewhere_. That's
what statically linked shells are for, remember?
Ahh fuck it. Guess I'll just save all my data on my DOS partition and
reinstall the whole fucking works.
Oh - and downloading the binaries from Slackware did little good for some
odd reason...
It's time to tar -cvf /dosC/tmp/scorpios.tar ~/
Yawn. That and I've got a mindblowing headache... I'm going to take my
temperature now.
Nir.
--
scor...@cs.huji.ac.il -*- Nir Soffer -*- http://www.sc.huji.ac.il/~scorpios/
"Attention all you tube rats, toilet drinks, rabbits, cats and dung flingers!
The exit is that way. Let's clear the cages in an orderly fashion, because
I fashion to stuff them with orderlies!" -- Bunbun - Sluggy.com - 30/Jan/2000
>Apparently Debian's root shell is dynamically linked...
<UI>
fnfu
</UI>
<SelfLART type="read through devfs and keep finding new races">Aiiiieeeee...
--
"You're one of those condescending Unix computer users!"
"Here's a nickel, kid. Get yourself a better computer" - Dilbert.
Forcing things:
conflicts [!] Allow installation of conflicting packages
WARNING - use of options marked [!] can seriously damage your installation.
--force-conflicts says you know what you're doing better than dpkg does.
If it turns out that you were wrong, that's your fault, not dpkg's.
Of course, Debian still sucks in many ways (like dselect getting you into
this state), but don't blame them when you explicitly override dpkg's
sanity-checking.
>Therefore dpkg is dependant on packages that dpkg is supposed to install.
Of course. dpkg --status dpkg, anyone? Upgrading essential packages would
be impossible if it wasn't.
--
Ben Harris
Unix Support, University of Cambridge Computing Service.
If I wanted to speak for the University, I'd be in ucam.comp-serv.announce.
> Of course, Debian still sucks in many ways (like dselect getting you
into
> this state), but don't blame them when you explicitly override dpkg's
> sanity-checking.
I got an apology for dselect by it's author at a party once. Debian is
still my package of choice, basically because it's run by a bunch of
geeks with no pretensions.
J.
--
John Burnham
j...@greencathedral.com
> "Ben Harris" <bj...@cus.cam.ac.uk> wrote in message
> news:88gnj2$jvc$1...@pegasus.csx.cam.ac.uk...
> I got an apology for dselect by it's author at a party once. Debian is
> still my package of choice, basically because it's run by a bunch of
> geeks with no pretensions.
> J.
dselect is good. It acts as a clue filter. Get through dselect and
you're not so cocky anymore.
/g.
--
Gustaf Erikson --- 59*19'N 18*05'E
In other words, you figured the software was smarter than you, and you
were wrong. Maybe you left your NT Admin hat on or something.
IIRC, AIKID, when you remove an obsolete, unimportant package (like
say "libc6" or "ldso"), "dselect" will give you a "Dependency and
conflict resolution" screen prefaced by a full page of instructions.
You don't need to read the full page of instructions if you don't
want. All you need to remember is gb glcr "E" (nf va "*E*nz zl urnq
vagb n jnyy orpnhfr gung jnf n fghcvq guvat gb erzbir") naq "D" (nf va
"*D*hvpxyl jnxr zr hc sebz guvf ubeevoyr, ubeevoyr avtugzner").
"dselect" isn't the best package manager on Earth. The best one is
that one that'll do what you want instead of what you tell it to do,
though I can't seem to remember its name just now. (The second best
one is "apt", but someone else has already mentioned it.)
--
Kevin <bu...@stat.wisc.edu>
: Bad idea.
: psychodad:~/archives/packages> ldd /bin/bash
: libreadline.so.2 => /lib/libreadline.so.2 (0x4000a000)
: libncurses.so.3.0 => /lib/libncurses.so.3.0 (0x40035000)
: libdl.so.1 => /lib/libdl.so.1 (0x40072000)
: libc.so.5 => /lib/libc.so.5 (0x40075000)
: libncurses.so.4 => /lib/libncurses.so.4 (0x40133000)
: libc.so.6 => /lib/libc.so.6 (0x40173000)
: ld-linux.so.2 => /lib/ld-linux.so.2 (0x40218000)
: Apparently Debian's root shell is dynamically linked...
: With libreadline.
: So it now segfaults every time I run it.
Is this where I get to do my evil BWWWAAA laugh?
--
dsch...@enteract.com
I'm sorry, I've quite run out of Wittgenstein ObULs. -- D.M. Procida
Out of interest, are you using Debian potato, and did you uninstall
something like libc6-bin? In which case you might want to follow the
mailing lists if you're using a not-for-general-lusers branch of the
distribution ...
(That and learning the recovery sequences for dselect, of course.)
>I finally manage to get X working again - and install netscape (BTW: How
>many fucking packages of netscape _are there_? What's wrong with just
>plain old 'netscape'?).
<UI>
ncg-trg vafgnyy anivtngbe
be
ncg-trg vafgnyy pbzzhavpngbe
</UI>
>I install mySQL. 'Can't find libreadlineg2' Fine by me. I download it and
>attempt to install it.
>'libreadlineg2 conflicts with libreadline2'
>
>Okay - so it does - no biggy - --force-conflict.
*sigh*,
--
Colin Watson [cj...@cam.ac.uk]
"It stands for 'Sales and Marketing', you depraved monkeys."
"A rose by any other name, Stef." - http://www.userfriendly.org/
That reminds me of the time where installing the version of perl in the
unstable branch of the Debian distro broke various things. Like
bash.....
J.
It was worse. He was using Debian "hamm" (hence the presence of an
existing "libreadline2"), and he tried to install a Debian "slink" or
"potato" package (hence the need to install "libreadline2g").
For those who wouldn't know Debian from a hole in the ground, "hamm"
and "slink/potato" are based on different major versions of the C
library. Thus, it requires more than a little effort to upgrade a
"hamm" distribution in piecemeal fashion.
But I'll say no more on the matter. I'm getting worried that Mr. da
Silva will tear me a new one if I keep talking Linux.
--
Kevin <bu...@stat.wisc.edu>
I'm very deliberately Not Getting Involved this time around.
Right now I'm dealing with the ways in which C++ fhpxf chf sebz gur nany
fberf bs n yrcebhf pnzry.
--
In hoc signo hack, Peter da Silva <pe...@baileynm.com>
`-_-' Ar rug tú barróg ar do mhactíre inniu?
'U`
"I *am* $PHB" -- Skud.
dselect is a clue filter, but not in the way you think. The clue lies in
realizing that it's totally unnecessary, and you can use <UI DELETED> to
accomplish the same task with a minimum of fuss, and an explicit list of
packages that will be installed, and which will be removed.
That said, the virtual packages that revolve around perl, netscape, and X
are nearly all evil. But I haven't had to use dselect in a dog's age.
-=Eric
--
"Cutting the space budget really restores my faith in humanity. It
eliminates dreams, goals, and ideals and lets us get straight to the
business of hate, debauchery, and self-annihilation."
-- Johnny Hart
Reminds me of a quote from fortune:
C makes it easy for you to shoot yourself in the foot. C++ makes that
harder, but when you do, it blows away your whole leg.
-- Bjarne Stroustrup
--
Ben
220 go.ahead.make.my.day ESMTP Postfix
<ui>
Gurer'f n ernfba jul fnfu (juvpu pnzr ba zl 2.1 Qrovna PQf, naq urapr V
fhfcrpg vf n snveyl glcvpny hgvy) vf ebbg'f ybtva furyy ba zl znpuvar.
</ui>
-Robin
--
I'm a UNIX System Administrator for hire.
My Resume: http://www.csclub.uwaterloo.ca/~rlpowell/
BTW, I'm male. Honest. Which has nothing to do with me being a
sysadmin, I just want to avoid wannafscks from guys.
I have had fairly frequent inflammations of the outer ear (due to
having a narrow ear channel, doing _lot's_ of water sports, and biking
to and from lakes/pools/white-water rivers with wet hair and no
hat)[1]. I always got Novicain-based drops, and antibiotics. Things
usually were ok after 3 or 4 days.
Then I discovered the power of Aspirin. If I feel the start of an ear
ache, I take two and sleep it over. Most often it is fine the next
morning.
An inflammation of the middle or inner ear, on the other hand, is a
lot more serious, and should be taken to a specialist as early as
possible.
Stephan
[1] Yes, this is at least semi-luserish...
-------------------------- It can be done! ---------------------------------
Please email me as sch...@informatik.tu-muenchen.de (Stephan Schulz)
----------------------------------------------------------------------------
Serves you *just* right, you PREVERT!
<g>
Felix, always interested in new applications for bodily orifices
What part of that sentence did you consider UI that needed rot-13ing?
--
Paul Tomblin, not speaking for anybody.
'Usenet "belongs" to those who administer the hosts of which it is comprised'
- RFC 1036, draft revision
The only thing I regularly use --nodeps for is to uninstall sendmail after
I've installed postfix. rpm thinks I can't uninstall sendmail because if I
do, nothing will be able to provide an MTA to mutt and fetchmail. That's
actually pretty smart of it, but I'm glad I can override it.
> What part of that sentence did you consider UI that needed rot-13ing?
What makes you think I'm part of that hokey religion?
Ah, kids today. dselect as a clue filter? What happened to the old
faithful trio, sendmail.cf, ed and adb macros?
I knew I'd been SAing too long when I was able to use ed comfortably
without once looking at the manuals
Such a pity these have gone away. I mean, no one needs to rebuild boxes
without term* or whatever anymore, so ed's gone, that sissy m4 stuff has
come in for sendmail, and as for adb, Sun's new mdb is extendable with c
(though doesn't currently support an interpreted language other then
good ol adb; they claim none really can quite do the job, and it's true
that perl, python and tcl are all a little lacking on the ol manipulate
kernel data structure front).
And now one doesn't need to go through setting up X at the config level,
or downloading all 40 disks of SLS, or even building your own kernels.
We come to the point instead where _dselect_ is considered a filter.
What can we do to stop today's kids getting soft? Require them all to
run Plan 9? Program in Intercal?
This is a serious problem, fellow BOFH's, one we need to think about.
--
Matthew Crosby cro...@cs.colorado.edu
Disclaimer: It was in another country, and besides, the wench is dead.
I think I posted a rant about this sort of problem about a year ago. Did
anyone bother to keep it?
One possibility is that netbsd doesn't encourage you to get quite as soft.
Having to make all the device nodes by hand so I could install to the
second IDE controller was comforting in a way, and I edited the XF86Config
manually too (although I'm sure if I'd cared to look, I could have just
built some tool from the ports collection).
Adam
--
ad...@princeton.edu
"My eyes say their prayers to her / Sailors ring her bell / Like a moth
mistakes a light bulb / For the moon and goes to hell." -- Tom Waits
Bloody kids. If it hasn't got a front panel and you don't have to toggle in
the bootstrap by hand you haven't experienced a real installation.
>Bloody kids. If it hasn't got a front panel and you don't have to toggle in
>the bootstrap by hand you haven't experienced a real installation.
I suppose my brother's SWTPC 6800 was a luxury, then, because instead
of a front panel it came with MIKBUG in ROM?
Ben
--
Ben Coleman NJ8J http://oloryn.home.mindspring.com/
"I love the way Microsoft follows standards. In much the
same manner that fish follow migrating caribou."
Paul Tomblin
----- Transcript of session follows -----
550 <pe...@insane.deathpunks.net>... Host unknown (Name server: insane.dea
thpunks.net: host not found)
???
Anyway, I own a personal "site license" for it, and they are pretty
liberal on what they consider site, so if we just call ourselves "Scary
Devil Research" or something I think I can send you a copy. Send me
mail.
(That assumes you can find hardware that will run it, mind you. The
driver set was never very big to begin with and is state of the art 95
or so. Best bet might be to dig up an old Sparc or something...)
Also, see plan9.bell-labs.com, I think they still have the demo disks
you can download...
See http://www.ecf.toronto.edu/plan9/plan9faq.html for the faq...
> In article <88sjdt$5l5$1...@allhats.xcski.com>,
> Paul Tomblin <ptom...@xcski.com> wrote:
> > In a previous article, pe...@abbnm.com (Peter da Silva) said:
> > >Right now I'm dealing with the ways in which C++ fhpxf chf sebz gur nany
> > >fberf bs n yrcebhf pnzry.
>
> > What part of that sentence did you consider UI that needed rot-13ing?
>
> What makes you think I'm part of that hokey religion?
The fact that here, *nobody* uses rot-13 for bad language?
Kai
--
http://www.westfalen.de/private/khms/
"... by God I *KNOW* what this network is for, and you can't have it."
- Russ Allbery (r...@stanford.edu)
Just record it off the television.
> Bloody kids. If it hasn't got a front panel and you don't have to toggle in
> the bootstrap by hand you haven't experienced a real installation.
Bah, you haven't booted up your PDP 11 in years. Go sit in the
corner and mourn the instruction set.
--
Network Samurai http://www.syncronym.org/~nick/
> > > What part of that sentence did you consider UI that needed rot-13ing?
> > What makes you think I'm part of that hokey religion?
> The fact that here, *nobody* uses rot-13 for bad language?
I do. Proof by example that your statement is inoperative.
> I suppose my brother's SWTPC 6800 was a luxury, then, because instead
> of a front panel it came with MIKBUG in ROM?
ROM monitors were the first steps down the road to Install Wizards. The road
to hell is paved with convenient shortcuts.
> Bah, you haven't booted up your PDP 11 in years. Go sit in the
> corner and mourn the instruction set.
This PDP-11? This bloody PDP-11 has more ROM on the disk controller than
any computer has a right to. It's not a real computer, it's just the next
best thing.
Besides, I booted it up 1-1-2000.
> How about "Didn't have a front panel, had to burn our own ROMs"?
s/burn/weave/ if you really want peopel to respect your chops, man.
>In a previous article, pe...@abbnm.com (Peter da Silva) said:
>>Right now I'm dealing with the ways in which C++ fhpxf chf sebz gur nany
>>fberf bs n yrcebhf pnzry.
>
>What part of that sentence did you consider UI that needed rot-13ing?
Perhaps there are some parts of sysadminning that require one to fhpx chf
debz gur nany fberf bs n yrcebhf pnzry?
I'm just glad I've not come across these areas of sysadminning.
--
Chris
<chr...@sandy.force9.co.uk>
>In article <88udvb$8u4$1...@peabody.colorado.edu>,
>Matthew Crosby <cro...@nagina.cs.colorado.edu> wrote:
>> And now one doesn't need to go through setting up X at the config level,
>> or downloading all 40 disks of SLS, or even building your own kernels.
>
>Bloody kids. If it hasn't got a front panel and you don't have to toggle in
>the bootstrap by hand you haven't experienced a real installation.
Damn right.
*Some* of us did many of our first installations with a soldering iron,
*then* got the luxury of using toggle switches & a 'load memory' button.
--
W
. | ,. w , "Some people are alive only because
\|/ \|/ it is illegal to kill them." Perna condita delenda est
---^----^---------------------------------------------------------------
>On 22 Feb 2000 20:36:06 GMT, Peter da Silva wrote:
>
>>Bloody kids. If it hasn't got a front panel and you don't have to toggle in
>>the bootstrap by hand you haven't experienced a real installation.
>
>I suppose my brother's SWTPC 6800 was a luxury, then, because instead
>of a front panel it came with MIKBUG in ROM?
Yep.
(Ah, it's been a long time since I've heard any mention of the old
Sweatpacks...)
>pe...@abbnm.com (Peter da Silva) writes:
>
>> Bloody kids. If it hasn't got a front panel and you don't have to
>> toggle in the bootstrap by hand you haven't experienced a real
>> installation.
>
>How about "Didn't have a front panel, had to burn our own ROMs"?
Trust me on this one - having an EPROM to burn your boot code into
semi-permanantly *is* a luxury, after being used to toggling it into RAM
for the umpteenth time after your app code has scribbled on it yet
again.
Ever heard of wire-wrapping? Either lots of little 1N914 diodes
in a matrix, or, if you're really desperate, lots of little
ferrite cores on a crosswire-matrix...
--
!Raised Tails! -:Tanuki:-
http://www.canismajor.demon.co.uk/index.htm
"We're not the admins you're looking for"
I see your champagne and I raise you any three entries from the ssb
FAQ.
Now...
If prevert is to pre-version as pervert is to perversion, does that
imply that users of pre-versions (alpha and beta testers, and any
users of MicoShaft products) are all masochists? Makes sense that way.
Stephan
> I think that Cousin Padrone had something to say about this.
"No, no. C is a small sharp knife. You can cut down trees with it, and
get it cut down exactly the way you want it, with each shaving shaped
exactly as you wish.
C++ is a small sharp knife with a bolted-on chainsaw and
bearing-mounted laser cannon rotating at one revolution per second
wildly firing every which way. You can cut down trees with it, and get
it cut down exactly the way you want it, with each shaving shaped
exactly as you wish.
You can also fire up the chainsaw and cut down the entire forest at
one go, with all the trees cut down exactly the way you want them and
every shaving shaped exactly as you wish -- provided that you make
sure to point the wildly rotating and firing lasercannon in the right
direction all the time."
-- Padrone, LysKom, article 717443, 11 Sep 1994, translated by me.
--
Calle Dybedahl, Vasav. 82, S-177 52 Jaerfaella,SWEDEN | ca...@lysator.liu.se
Hello? Brain? What do we want for breakfast?
> > > How about "Didn't have a front panel, had to burn our own ROMs"?
> > s/burn/weave/ if you really want people to respect your chops, man.
> ?
Hardwired read-only memory planes. Like core with hard wire links instead
of cores. You could also s/burn/cut/ for diode ROMs. PROMS (EEROMS, UVEPROMS,
etc) are for wimps.
: *Some* of us did many of our first installations with a soldering iron,
: *then* got the luxury of using toggle switches & a 'load memory' button.
On target. I knew I'd graduated to the bigtime in 1964 when I found that
the CDC 3200 had keys so that I could type in the boot instructions,
instead of having to toggle-and-load them a la the old Rice Machine.
Then came the CDC 3600 and 3800, which had hardwired boot code, and
I was in Heaven.
Kids nowadays don't nkow how good they have it.
--
The Internet is totally out of control, impossible to map accurately, and
being used far beyond its original intentions. So far, so good.
-- Dr. Dobb's Journal May 1993
BBC B BASIC programs through teletext. I didn't need reminding.
--
Richard Gadsden
"[T]he secret to high uptimes is no one to use the network, no
one to manage the network and no one to maintain the network"
Chris Hacking, the Scary Devil Monastery
>(Ah, it's been a long time since I've heard any mention of the old
>Sweatpacks...)
He still has it, although it's been modified to run a 6809 instead of a
6800. I'm not sure how long it's been since he last fired it up.
[Warning: the following is true story and if the stuff below will ever
become UI for you - accept my condolence. It _is_ scary, so think before
reading further]
Give them what I got yesterday. As in, box that got
a) Linux kernel running.
b) init and bash running.
c) serial and floppy - built as modules. And not loaded.
d) no sash.
e) no ethernet.
f) bloody large number-crunching that Should Not Be Aborted(tm).
g) libc and ld-linux.so - unlinked (self-LART by owner).
Now, I could tell the guy to piss off, but... WTF? He had decent beer and
was properly scared. Oh, well... So we have no exec() for anything dynamically
linked. And we have no chance to access any external stuff - insmod is linked
dynamically, so no insmod floppy for you. Shutting the system down was not an
option due to (f) (aside of dealing with fsck later - umount(8) is dynamically
linked too). Now, I knew that both /lib/libc.so-2.1.2 and
/lib/ld-linux.so-2.1.2 were still alive - mmaped by init, for one. And
/proc/1/maps would even contain their inumbers. So the plan of attack was
to create a file in root and then cannibalize the entry (change inumber in
the directory). Alas - not enough. In-core inode got zero i_nlink and
if I would just create a link by hands it would not become positive. I.e.
still remove-upon-close. But. But if we will manage to call link() on the
hand-made link we will get i_nlink raised to 1 - iget() will find the same
in-core inode, so we are OK. We'll have to revert the phony link to avoid
PO'd fsck, but that's not a problem...
So there we go: assuming that we got static ln
echo >foo
ln foo bar
flip inumber in foo entry to point to libc
ln foo /lib/libc.so-2.1.2
flip inumber.......................... bar
repeat for ld-linux.so
rm foo bar
begin recovering other damage (self-LART was a bit larger).
But... we don't have this flip stuff and we don't have (aaarrgh) static
ln. Oh, shit... OK, but all we really need is a couple of syscalls, right?
There we go:
eax=__NR_link;
ebx=s1;
ecx=s2;
int 0x80;
eax=__NR_exit;
ebx=0;
int 0x80;
s1: "foo"
s2: "bar"
The next step was getting the syscall numbers. grep? We don't need no stinkin'
grep.
# while read i; do case $i in *__NR_link*) echo $i;; esac;
done </usr/include/asm/unistd.h
#define __NR_link 9
# while read i; do case $i in *__NR_exit*) echo $i;; esac;
done </usr/include/asm/unistd.h
#define __NR_exit 1
#define __NR__exit __NR_exit
Now, scratching the head and recalling intel code...
start: b8 09 00 00 00
bb (address of s1)
b9 (address of s2)
cd 80
b8 01 00 00 00
bb 00 00 00 00
cd 80
s1: 66 6f 6f 00
s2: 62 61 72 00
Fine, but... a.out support is compiled... you guessed it, as module and not
currently loaded. So we are in for crufting up an ELF binary. OK, we don't
actually need 100%-correct ELF, just something that will pass for the
exec(). Now, we don't have shell scripts, but . will work. So the next
step was rolling more(1) in shell and reading through the relevant code
(surprisingly small - binfmt_elf.c and two headers). After much swearing
the following abortion was created:
7f 45 4c 46 00 00 00 00 00 00 00 00 00 00 00 00
02 00 03 00 01 00 00 00 start______ 34 00 00 00
00 00 00 00 00 00 00 00 34 00 20 00 01 00 28 00
00 00 00 00 01 00 00 00 00 00 00 00 base_______
base_______ size_______ size_______ 05 00 00 00
00 10 00 00
start:
b8 09 00 00 00 bb start+1d___ b9 start+21___ cd
80 b8 01 00 00 00 bb 00 00 00 00 cd 80 66 6f 6f
00 62 61 72 00
OK, set base to something page-aligned, start=base+54, size=79. There we go:
7f 45 4c 46 00 00 00 00 00 00 00 00 00 00 00 00
02 00 03 00 01 00 00 00 54 00 00 80 34 00 00 00
00 00 00 00 00 00 00 00 34 00 20 00 01 00 28 00
00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 80
00 00 00 80 79 00 00 00 79 00 00 00 05 00 00 00
00 10 00 00 b8 09 00 00 00 bb 71 00 00 80 b9 75
00 00 80 cd 80 b8 01 00 00 00 bb 00 00 00 00 cd
80 66 6f 6f 00 62 61 72 00
well, while read l; do for i in `echo $l`; do echo -ne "\\$i"; done; done
made for oct2bin, overwriting /usr/bin/emacs with the output of that gave
us static equivalent of ln foo bar. And it worked. The rest was essentially
the same - the only tricky part was to find the location of directory entry.
Which was done with (lseek, read byte, exit(said_byte)) and shell wrapper
around that. So we had a way to read a block and dump it on the console.
The rest was obvious - start from relevant block in inode table and walk
through the references... Once we got that, it was an easy ride - trick
with inumber flipping brought libc and dynamic linker back and after that
we had 99% of system back into the working state. Amazing how little you
actually need to bring the system back to life...
--
All that blue light from Orthanc at night? That was Saruman, trying to
moderate news.admin.palantir-abuse.sightings.
Mike Andrews in the Monastery
| : *Some* of us did many of our first installations with a soldering iron,
| : *then* got the luxury of using toggle switches & a 'load memory' button.
| On target. I knew I'd graduated to the bigtime in 1964 when I found that
| the CDC 3200 had keys so that I could type in the boot instructions,
| instead of having to toggle-and-load them a la the old Rice Machine.
| Then came the CDC 3600 and 3800, which had hardwired boot code, and
| I was in Heaven.
| Kids nowadays don't nkow how good they have it.
I'm not sure which disturbs me more, the fact that there are people here
who have been playing this game since a good bit before I was born
(0.772Ms) or the fact that I'm getting dangerously close to the
"Kids nowadays" mindset myself.
<glances down> Ah, _good_ sigmonster.
Paul
--
--- Paul Mc Auley <pmca...@iol.ie>
--
- If it's too loud, you're too old.
This can't be UI. While I know, more or less, how ferrite core RAM
works, I must profess ignorance as far as ferrite core *ROM* is
concerned. Is the idea that you put cores at intersections where you
want 1-bits and, rather than magnetizing them, just use them to induce
current in a sense wire when current is pulsed appropriately?
Kevin <bu...@stat.wisc.edu>
--
Kevin <bu...@stat.wisc.edu>
And it was a voltage increase in both directions (burning and erasing).
>Kids nowadays don't nkow how good they have it.
If they're (un)lucky, kids get to work for a newspaper with insane
purchasing policies. Then they get to work with wirewrap-era Pagestore
systems and ATEX J11s, and have all the pleasure of 60s and 70s era computing.
One day, I'll recover from the trauma.
--
Rodger Donaldson rod...@diaspora.gen.nz
"Whenever you get mysterious behavior, try the -w switch!!!
Whenever you don't get mysterious behavior, try using -w anyway."