15655 lines
639 KiB
Plaintext
15655 lines
639 KiB
Plaintext
[0001] tytso@ATHENA.MIT.EDU Linux_Activists 11/07/91 13:08 (4 lines)
|
||
Subject: Reason for this meeting
|
||
Linux_activists is a discuss archive of the mailing list about Linux,
|
||
a free unix-like kernel for 386-AT computers, coming with full source
|
||
code. It is meant for hackers/computer science students to use, learn
|
||
and enjoy.
|
||
--[0001]--
|
||
|
||
[0002] daemon@ATHENA.MIT.EDU (Robert Lund) Linux_Activists 11/07/91 14:19 (36 lines)
|
||
Subject: No subject found in mail header
|
||
Date: Thu, 7 Nov 91 14:19:23 -0500
|
||
To: linux-activists-mtg@tsx-11.MIT.EDU
|
||
From: Robert Lund <rml@bighorn.uswest.com>
|
||
Reply-To: tytso@Athena.MIT.EDU
|
||
|
||
Hello,
|
||
|
||
I have installed Linux 0.10 using the minix demo to build the root
|
||
file system on a hd partition. I couldn't figure out how to use the
|
||
mtools commands to get gccbin, utils, etc. from DOS to linux but I did
|
||
discover an alternate approach that might prove useful to others.
|
||
|
||
I happen to have a 1.44 drive as my A drive so ubder linux I did
|
||
|
||
mknod /dev/PS0 B 2 28
|
||
|
||
Next, I formated a 1.44 floppy under DOS.
|
||
|
||
Then, I uncompressed the tar files that I wanted to get from DOS to linux
|
||
(I actually uncompressed under UNIX but I assume that a 16 bit uncompress
|
||
utility under DOS would work).
|
||
|
||
Then, I used the rawrite command available with the minix demo to dump a tar
|
||
file, e.g. gccbin.tar, to the 1.44 floppy in the A drive (back under DOS
|
||
again)
|
||
|
||
Next, I booted Linux and did
|
||
|
||
tar -xvf /dev/PS0
|
||
|
||
and lo and behold, it worked; tar read the raw device and
|
||
successfully extracted the files.
|
||
|
||
Hope this helps someone.
|
||
|
||
Bob Lund
|
||
--[0002]--
|
||
|
||
[0003] tytso@ATHENA.MIT.EDU Linux_Activists 11/07/91 14:20 (90 lines)
|
||
Subject: Trying to answer ...
|
||
Date: Wed, 6 Nov 1991 13:58:52 +0200
|
||
From: Linus Benedict Torvalds <torvalds@cc.helsinki.fi>
|
||
To: Linux-activists@joker.cs.hut.fi
|
||
|
||
Well, it seems people are starting to get some things working, and my
|
||
mailbox has certainly been busy.
|
||
|
||
> Does linux work on a SX?
|
||
|
||
Yes. I've personally tried it, and there were no problems. It seems
|
||
linux works on all members of the [3|4]86-family. Knock wood.
|
||
|
||
> How do the mtools programs work?
|
||
|
||
Urg. I fu**ed up. As has been pointed out, it is much easier to use tar
|
||
on a disk-image. Stupid of me not to think of that, even though that's
|
||
what tar is for. Even so, I should at least have done some kind of
|
||
readme for the mtools files.
|
||
|
||
If you want to read files from the DOS-partition, the mtools programs
|
||
should work. They need some setting up: you need to tell them what
|
||
devices A,B and C are. This is done by making the appropriate links to
|
||
/dev/dosX (X=A,B,C). A and B are assumed to be floppies or small
|
||
harddisk partitions, ie a 12-bit FAT. C is assumed to have a 16-bit fat.
|
||
To read a 1.44M dos-floppy in A:
|
||
|
||
mknod /dev/dosA b 2 28 # tell linux that A is 1.44Mb floppy
|
||
mdir A:
|
||
etc.
|
||
|
||
To read your DOS-partition (16-bit FAT):
|
||
|
||
mknod /dev/dosC b 3 1 # 1 partition on 1 drive: don't use 0
|
||
mdir C: # as that's the whole disk, not one prt
|
||
|
||
12-bit harddisk partition:
|
||
|
||
mknod /dev/dosB b 3 1
|
||
mdir B:
|
||
|
||
Note that if you have a small partition, you probably have a 12-bit fat
|
||
on your harddisk as well, and you should use A or B for it, not C.
|
||
If you don't know what type of FAT you have, try with both B or C.
|
||
Note that A/B/C has no relation to the MS-DOS devices, even though
|
||
that's the normal way of setting it up.
|
||
|
||
> Somebody had trouble, didn't even get a "partition table ok" with his
|
||
> IDE drive.
|
||
|
||
There /should/ be no trouble with IDE drives, so hopefully that isn't
|
||
the problem. One possibility is that everything works, but the
|
||
video-card isn't a colour-VGA. If you are using a mono-mode, the screen
|
||
map is elsewhere (I think, I'm not really used to the IBM video modes),
|
||
and linux happily writes to the wrong location. Thus the only thing you
|
||
see is "Loading system ...", which is written with BIOS-routines.
|
||
|
||
If this is indeed the problem, you should be able to test it by booting
|
||
up, putting in the root diskette, and pressing ENTER. Hopefully the
|
||
drive will run for a while, and then stop. Try doing something blindly
|
||
(write ls /mtools<enter>), and see if the floppy reacts. If the only
|
||
trouble is the video card, this will be corrected in the next version.
|
||
|
||
If it isn't the video, things are worse. Could the person please mail me
|
||
with more info (BIOS, type of computer etc)?
|
||
|
||
> nic.funet.fi is unavailable. What can I do?
|
||
|
||
As you probably have noticed, there is now another site available that
|
||
carries it. See my .plan if you missed the message. nic will give you
|
||
the files eventually, but there has indeed been something wrong with it.
|
||
|
||
> problems with gcc-1.37.1. Gives divide error (with the gnulib
|
||
> routine). Could the 16-bit object files be posted?
|
||
|
||
Arghhh. I haven't tested the gnulib routines (as gcc-1.40 never wants
|
||
the divide/mutliply routines), so they might be buggy. Silly me. I'll
|
||
certainly post the 16-bit object files (they are only a couple of
|
||
hundred bytes anyway), and anybody should be able to get linux
|
||
recompiled within linux (after some makefile-editing, so that make
|
||
doesn't try to recompile the bootblock etc).
|
||
|
||
> ESDI drives, shoelace, DLD?
|
||
|
||
These I know nothing about. ESDI drives should work ok, but ...
|
||
Shoelace? Anybody? I don't know how it works, though I use it for minix.
|
||
About DLD's: if somebody comes up with a clever way of implementing it
|
||
all cleanly, and can explain it to me, I could certainly look into it.
|
||
Even better would be if somebody else wrote it from scratch :-).
|
||
|
||
Linus (torvalds@kruuna.helsinki.fi)
|
||
--[0003]--
|
||
|
||
[0004] tytso@ATHENA.MIT.EDU Linux_Activists 11/07/91 14:22 (83 lines)
|
||
Subject: 16-bit binaries
|
||
Date: Wed, 6 Nov 1991 17:58:43 +0200
|
||
From: Linus Benedict Torvalds <torvalds@cc.helsinki.fi>
|
||
To: Linux-activists@joker.cs.hut.fi
|
||
|
||
Ok, here's the 16-bit binaries of the bootsector and setup. They are 544
|
||
and 340 bytes respectively, but taring made them somewhat bigger (8192).
|
||
I decided to send them as a tar archive, as that increases the ways you
|
||
can import them to linux.
|
||
|
||
In order to use them, you have to edit the Linux makefile a bit: remove
|
||
(or comment) the lines that have the 16 bit dependencies on them (I'd
|
||
also suggest you change 'clean' so that it won't remove these binaries),
|
||
and install these binaries in the boot-directory. The bootblock is
|
||
compiled to load 196kB of the system (currently only 110kB is used), so
|
||
there is some room to grow before a new bootblock is needed. This of
|
||
course means that the load-time is slightly longer than necessary, but
|
||
it's still quite fast.
|
||
|
||
Also, as somebody commented, 'cp Image /dev/PS0' won't work with older
|
||
versions of GNU cp. Frankly I don't know if the version of cp that linux
|
||
uses is corrected, but a 'cat Image > /dev/PS0' or 'dd bs=8192 if=Image
|
||
of=/dev/PS0' should work (change /dev/PS0 to match your bootfloppy, of
|
||
course).
|
||
|
||
Additionally, I'd like to know if the floppy-driver works for 2 (or
|
||
more) drives? Nobody has commented on that yet. Do a sync before you try
|
||
it though (just in case...).
|
||
|
||
Linus (torvalds@kruuna.helsinki.fi)
|
||
|
||
------- uuencoded compressed tar-file starts here ----------------------
|
||
begin 644 bin16.tar.Z
|
||
M'YV08MZ\H3.GS!@Z !(J7,BPH<.'$"-*G$@1 (B+-VK4 &%1Q@T:,6)P!.%Q
|
||
M!HV-%B^J!!$#!@T8%VNTM %#AHR6-%32K&FQHL^?0(,*'4JTJ-&C2),J7<IT
|
||
M8H !$ AP5"C@9P"&N( =<(0-%P!(CH#E A @A;T4_^:54H<A(21&R+B&=02-
|
||
M%X!_NA+FJKH+@ !<! 0TFS!'05X 7@$,7F=.%F( " ;7 N BD0,@ ;R"!49K
|
||
M (Q_S2#D:KOK (!>0C('F!#:*X2PZ&8 0(>,<BA^ 7HDK(/!Q2(/F'$A$#!H
|
||
MWP,Z"W!Q(+Y/ IT!Z?K]<S$*M[J$(" 58,@(6*I_#^KXB[&MNVX@<@(,<Q$*
|
||
M\PH#F0 D"A8L7(( V>8DH',@!K 4V 2#3@+HU"!?, / 1]D.!F!6AP2X7/7>
|
||
M)@#40< _!G0"P"@4^C=*?/7=M\P<LG2WW6O D)>.*?] ,4444BQB@8:+.!!?
|
||
M$(A4(R.%B%CC6"#BD$6+8!/(48 666R!Q3")'388DDJFL\P_4N@BSP"P .".
|
||
M%L,DU( "3+P1!AEIN'$&"'/D,0<=9;0!@@MP?OEE4W36:>>="1DP0!6JX.GG
|
||
MGX &*NB@A!9JZ*&"%D1''7 @ZBAV&&DTDD<@B=31#2:AM-)*-< $P@RN52#
|
||
M#"_-<(-*-<P0@PP]/>KJJ[#&*FNL3T4UE457^92K0IIQU=EGH25B04*T(-),
|
||
M!:-4E1A7Q=A 0&9?A?4+( #D @$ \Y"R+#;-8@#M9K] 4NVUV7I5@2R!#&8D
|
||
M(/P,0 <$O0(3[KB/8:N*/HGQ$]:)ND%"AP-<H6766("HE0XZ_^"2'5</!.!!
|
||
M! $T;,$% :#S!0"P1&,.&>A@@?$WYH"!3A081V .".L D+(YH*2<,BP@F!."
|
||
MRQBC8$XH-,-"@,PY"W!SS@'PK#( /P\-RS]"KQQ*A T#,]UD V=,CEDH")
|
||
M'?9TZ= _IB6D"3!W=0V )& [A$ ^ B2P4)%')KEDDPD]Z;:45%J)I99<>@FF
|
||
MF&2:B:::;+H)IPMR*C#KX8@GKOCBC#?N^..01R[YY)17;OGE=H919AD 4 "
|
||
M 0DM0 L \A#!@!M(0!'&&R\P488:"!D1D&AUT8 $Z:E7N89K,]1QQL C ''
|
||
MZ0 LP T !!"3.V1KA"$'[&N\X89"AA?/#EE\C-$Y\L^K$08 :2"4$ ,*F6/&
|
||
M]@6X44<;;:0! !G? \" YP& ,P+JD-$1_1K1OPZ #&, GOQ00#H5L"IUKX-#
|
||
MF5[7!@!(SP[CXP%97&&@U-&!#FEH@_3*,#TXP(%S\F,"\B"@@^T9@ UIJ /_
|
||
M@"<^!H A(2AX ?X0H(;VK=!_' ! \8G/GTH889S<%X8W(!!-B0D 1Z3'R=(
|
||
M1XTAS/!U=I!>"N>0$ <HA &L()T :&#"-]@A#'-HWD(88)< ., )VR/ &5YW
|
||
M.C2L 80,@ 99Y'"#&;(I#:_;'/ZJQP!R^ 4!1)@A&A*X.O_)CUKRPP?R=*&]
|
||
MU(5A#6D(HO/<)S]*>(E\[SN#'0OB0=;%CP&H\!)'!,"+[Z5.#H3TY/@2TP N
|
||
M$D 2VTF=&M!0!CFTH0YN "$!C."E0!*-!28,(!M0.+TC>(D*9 &"#;9W #H0
|
||
MDPP<5$@#T$ 64D!AAG; HP?KX#\T:-!+?$B(($KH2#=\< X;3,@Q0N$E1HSP
|
||
M!.A[71WD +QCB,)+2Q2 )]; S#F\[I'1DV:6!D (*<QP#6QHTYKHF1 "H%&'
|
||
MQ$">!CR7NC6]00[0'*8#ZZ ]'6(#>8C( A AR08XI%.'U-3A]0!@"1_8,0RL
|
||
MH\-)"6!0 %@Q(?KH C/;0(='JK**UPH %:Q@0C74 0VN^QXR;4H"TMD">*EK
|
||
M ^O*$#OI >!: Z@B#LC"#*A"Y@U2)68T=5@V!R !>::8GN<,@(9')A4 S*AB
|
||
M$E7!!6:&H0[9S.7TJFA$ AA@"3,<X@738%+W>8X 50PG >CP &:J 0X)C1TE
|
||
M;2HN +BA"8+,PQ?EH$>;BM"FI$@(-XQHP3G@T0X<W*L#8%!%KP1 !"1+W1U@
|
||
MQX:%"I %[-I7 = #2W,$ [1(V+SII<&/8#0 <<3*N?6&L8\7/![E'3 ]0)
|
||
MC[-Z[@"US>!;$])8OW @#G:\J!OH^08JVA01W#VL'SXPPS;D$8.Y;"@('T!
|
||
M4N+AH,UCE ))&[6F27 _+BO[M(0O3"6B9G<%>'M?H ^-. 1A0G93M->* !H
|
||
M+&"&:E"#:<OPQ>G- ;+<;10 /' 5SQ7 >=D$WO.X2RT"+!%];<A#'E8LOJ99
|
||
MD@!@Z$!@X; H+QZX:6UI6BB%&H'V<G)U\47>7A_@6DT0=:U?C"GP!/B N I
|
||
M!U:,ZBV1JE< &-&\#P"'7[2AA]\ZCW^=?< +FP8/TB'!H-=]0YDVN->K*H01
|
||
MA7#L&R3[S81 @'ZX.,1O-8C'(>JR#GYN*BD)8<*V1K*M (#@5;<J %DTHKW.
|
||
M>Z_[L.KGSY+ATJE;0QW2T.%HID$,"H' "^LGB(.V-0P]]1YWCW=5\5E"7*EK
|
||
MJQR,VF7D[<'/Z 6 /MR9ZS(4FG_?X_15E^CB1P#Q#=!$)2[]?-^K9HD L(B/
|
||
M!7^7U[%"@+57!1L!()#GM:Z.GOZ3X%6I,4<1;EL.&-2<6@$@80B@XX^M/J6Q
|
||
MPVAH -"RHQ!09(6=O58W$)B;WSL? ") /@(@@MB04<.>PQ#6[]4R#PF) $=P
|
||
M3-&(UP&F;)#I7@E@B(QS,0#J\,03J8K!YADQJ!D_JU^],,,WK"&(KXN=G^VR
|
||
M\+H" !F-A$PV:[F^1YHPXXTR([529X<V&+Q-93 B',:0T@@P.@"00.8IR]33
|
||
MU7VO466+ ":0YX>21_4,]'0#4HVX<$Q*("$!<(6@93D'27)VKP/(,^;VSO>^
|
||
G^_WO@ ^\X =/^,(;_O"(3[SB%\_XQCO^\9"/O.0G3_G*6_[RF%<<
|
||
|
||
end
|
||
--[0004]--
|
||
|
||
[0005] tytso@ATHENA.MIT.EDU Linux_Activists 11/07/91 14:22 (127 lines)
|
||
Subject: Devices
|
||
Date: Wed, 6 Nov 1991 19:15:45 +0200
|
||
From: Linus Benedict Torvalds <torvalds@cc.helsinki.fi>
|
||
To: Linux-activists@joker.cs.hut.fi
|
||
|
||
Before the actual article: a quick question. Are any of you using DOS
|
||
version 5.0 ? If I've understood correctly, 5.0 changes the disk-layout
|
||
rather heavily. I doubt mtools can handle the new DOS partitions, and
|
||
possibly even the partition table has changed. Again, I'd be interested
|
||
to know if everything works fine with DOS 5.0.
|
||
|
||
Mika Matti Jalava: "device numbers" (Nov 6, 18:08):
|
||
> Hi!
|
||
>
|
||
> Would it be possible to post some kind of a table of valid device
|
||
> numbers? [ for people not having minix ]
|
||
|
||
Ok. Here is a short table:
|
||
|
||
|
||
Memory devices: Major = 1 (characted devices)
|
||
minor
|
||
0 /dev/ram - not implemented (never will be, I think: minix special)
|
||
1 /dev/mem - not implemented (easy, seldom used)
|
||
2 /dev/kmem - not implemented (easy, but I haven't done it)
|
||
3 /dev/null
|
||
4 /dev/port (implemented, but untested - don't play with it)
|
||
|
||
example: "mknod /dev/null c 1 3"
|
||
|
||
|
||
Floppy disks: Major = 2 (block devices)
|
||
|
||
minor = drive + 4*type, drive = 0,1,2,3 for A,B,C or D-diskette
|
||
|
||
type 1: 360kB floppy in 360kB drive (5.25")
|
||
2: 1.2M floppy in 1.2M drive (5.25")
|
||
3: 360kB floppy in 720kB/1.44Mb drive (3.5")
|
||
4: 720kB floppy in 720kB/1.44Mb drive (3.5")
|
||
5: 360kB floppy in 1.2M drive (5.25")
|
||
6: 720kB floppy in 1.2M drive (5.25")
|
||
7: 1.44M floppy in 1.44M drive (3.5")
|
||
|
||
Thus minor nr for a 1.44Mb floppy in B is: 1 + 4*7 = 29, and to read an
|
||
old 360kB floppy in a 1.2M A-drive you need to use minor= 0 + 4*5 = 20.
|
||
|
||
Example: "mknod /dev/PS0 b 2 28" (b for block: 2 for floppy, 28 for 1.44
|
||
in A)
|
||
|
||
|
||
Hard disks: Major = 3 (block devices)
|
||
minor
|
||
0 /dev/hd0 - The whole hd0, including partition table sectors etc.
|
||
1 /dev/hd1 - first partition on hd0
|
||
...
|
||
4 /dev/hd4 - fourth partition on hd0
|
||
5 /dev/hd5 - The whole hd1, again including partition table info
|
||
6 /dev/hd6 - first partition on hd1
|
||
...
|
||
9 /dev/hd9 - fourth partition on hd1
|
||
|
||
NOTE! Be /very/ careful with /dev/hd0 and /dev/hd5 - you seldom need
|
||
them, and if you write to them you can destroy the partition tables:
|
||
something you probably don't want.
|
||
The only things that use /dev/hd0 are things like "fdisk" etc.
|
||
|
||
NOTE 2!! The names for hd's are the same as under minix, but I think
|
||
minix orders the partitions in some way (so that the partition numbers
|
||
will be in the same order as the partitions are physically on the disk).
|
||
Linux doesn't order anything: it has the partitions in the same order as
|
||
in the partition table (ie /dev/hd1 might be physically after /dev/hd2).
|
||
|
||
NOTE 3!! Somebody wrote he trashed his DOS-partition with mtools. Are
|
||
you sure you didn't do a "mkfs /dev/hdX" with the demo-minix, where the
|
||
X was a DOS-partition and not an empty one? One way to be sure to trash
|
||
a DOS-partition is to overwrite it with a minix filesystem. Not that
|
||
I'm sure that mtools works (/I/ didn't write it :-), just wondering...
|
||
|
||
|
||
Tty's: Major = 4 (character devices)
|
||
minor
|
||
0 /dev/tty0 - console
|
||
1 /dev/tty1 - serial 1
|
||
2 /dev/tty2 - serial 2
|
||
|
||
Example: "mknod /dev/tty2 c 4 2"
|
||
|
||
|
||
Personal tty: Major = 5 (character device)
|
||
|
||
minor: 0 /dev/tty - "linked" to the tty that your process has got:
|
||
normally /dev/tty0 in linux (until someone makes a init/login).
|
||
|
||
Example: "mknod /dev/tty c 5 0"
|
||
|
||
|
||
> I think I'll have to try a couple of old MFM disks, as my ESDI does
|
||
> not seem to like Linux. The test that someone suggested,
|
||
> cat </dev/hd1>/dev/null probably did not do what it should have done,
|
||
> it just hung the machine.
|
||
|
||
Don't be so sure: using direct reads/writes on a device is rather slow,
|
||
and on a bigger partition (>10M) this can take some time even for a
|
||
harddisk. I've never tried to optimize direct devices for performance.
|
||
If you can get out from the "cat" with ^C, it probably works. If ^C
|
||
doesn't kill it, ESDI drives probably won't work.
|
||
|
||
Another way to test the drive would be to write "cat /dev/hd1". This
|
||
prints anything it reads onto the screen: if nothing appears, linux is
|
||
unable to read the drive. Use ^C to break when you have got enough.
|
||
Again, if ^C won't work, the drive is unsupported. (note: pressing ^C
|
||
repeadetly may kill the shell, as it will catch only the first one).
|
||
|
||
Note to everybody: currently I have these debug-statements in the
|
||
kernel, so that when you try to read past the end of a partition or
|
||
diskette you will get "xxx I/O error". This is normal (but reading
|
||
beyond the end of the disk may not be :-).
|
||
|
||
> BTW, Is it possible to use a secondary HD controller? If not, will it
|
||
> be some day?
|
||
|
||
Not currently, and as I haven't got a second controller... It should be
|
||
relatively easy to add a driver for it: copy the code from hd.c to
|
||
hd2.c, change the MAJOR_NR to 6 (or something), and change all the IO
|
||
port addresses. That /might/ do it (VERY simplified explanation). I
|
||
won't be able to do it - no way to debug the thing.
|
||
|
||
Linus
|
||
--[0005]--
|
||
|
||
[0006] tytso@ATHENA.MIT.EDU Linux_Activists 11/07/91 14:27 (20 lines)
|
||
Subject: Re: nic.funet.fi unreachable
|
||
From: tytso@Athena.MIT.EDU (Theodore Ts'o)
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
A quick scan using Archie shows that none of the FTP sites for Linux
|
||
that it knows about are on the U.S. side of the Atlantic. In the hopes
|
||
of reducing inter-atlantic traffic and reducing the load on
|
||
nic.funet.fi, I've made Linux-0.10 available for anonymous FTP on
|
||
TSX-11.MIT.EDU (18.172.1.2). I will make an attempt to keeps things
|
||
reasonably current.
|
||
|
||
I've just recently heard about Linux from the Hurd mailing list, and
|
||
from looking at the source code it looks very, very exciting. I haven't
|
||
managed to install it on my hard disk yet (it looks like I'll need to
|
||
blow away OS/2 in order to reclaim one of the four primary partitions
|
||
--- shucks), but just from looking at the source code there are a bunch
|
||
of things which look like interesting projects --- like supporting DOS
|
||
extended partitions and multiple threads per task. Now, all I need to
|
||
do is find some time to do some playing.... :-)
|
||
|
||
- Ted
|
||
--[0006]--
|
||
|
||
[0007] tytso@ATHENA.MIT.EDU Linux_Activists 11/07/91 14:28 (40 lines)
|
||
Subject: Linux, minix, and a drive that is a wee bit 'Scuzzy'
|
||
Date: Wed, 6 Nov 91 20:30:11 PST
|
||
From: rafetmad@cheshire.oxy.edu (David R. Giller)
|
||
To: Linux-activists@joker.cs.hut.fi
|
||
|
||
Hi y'all.
|
||
|
||
I have recently joined this group, and am quite excited that someone
|
||
is involved in this project. Thank you all.
|
||
|
||
I have a few problems with joining the fray, myself. I have a 486
|
||
PC with an SCSI drive. A no-go with Linux, as of yet. Can I
|
||
A: play with Linux from the floppy, at first
|
||
B: get an additional AT or IDE drive, and be assured
|
||
(relatively) that Linux won't screw with my primary HD?
|
||
I keep alot of important information, and I don't want
|
||
to be in constant fear.
|
||
|
||
Failing all of this, is there anyone with enough experience to write a
|
||
driver for the Western Digital 1003 standard, if I provide the standard?
|
||
I can't provide a drive, and I don't have the time or experience to do this
|
||
myself, but if someone can get the framework down, I can play with it until
|
||
something works.
|
||
|
||
Note that I don't have a working copy of Linux. I can't even start the
|
||
installation, because I don't have minix, and have a 3.5" FDD. What is the
|
||
current copyright status of Minix? E.G., is it possible for someone to make
|
||
a demo copy for me that will image to a 1.44Mb floppy? I have the 1.2Mb
|
||
version, but can't use it.
|
||
|
||
Thank you,
|
||
-David Giller
|
||
|
||
PS: is there a manifesto for this mailing list? I don't want to step on
|
||
anyone's toes.
|
||
|
||
---------------------------------------------------------------------------
|
||
David Giller -- rafetmad@oxy.edu | "Some of us wake up, others roll over."
|
||
Box 134, Occidental College | "Shrouds, they have no pockets."
|
||
Los Angeles, CA 90041 | -John Lydon
|
||
---------------------------------------------------------------------------
|
||
--[0007]--
|
||
|
||
[0008] tytso@ATHENA.MIT.EDU Linux_Activists 11/07/91 14:28 (9 lines)
|
||
Subject: init/login and /etc/ttys
|
||
Date: Wed, 6 Nov 91 22:19:08 PST
|
||
From: pmacdona@sol.UVic.CA (Peter MacDonald)
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
If no one else has volunteered yet, I will take a stab at modifying
|
||
init to read /etc/ttys and fork a login for each. This means of course
|
||
writing login.c as well. If someone else has started this already,
|
||
please stop me now!
|
||
|
||
--[0008]--
|
||
|
||
[0009] tytso@ATHENA.MIT.EDU Linux_Activists 11/07/91 14:28 (26 lines)
|
||
Subject: Re: Linux, Minix etc...
|
||
Date: Thu, 7 Nov 91 9:48:12 EET
|
||
From: Mika Matti Jalava <r36110m@kaira.hut.fi>
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
Hi there again
|
||
|
||
David Giller wrote:
|
||
> PC with an SCSI drive. A no-go with Linux, as of yet. Can I
|
||
> A: play with Linux from the floppy, at first
|
||
|
||
Yes, I do that all the time (I have an ESDI drive that does not seem
|
||
to like Linux). You should be able to use another HD with SCSI.
|
||
|
||
> Note that I don't have a working copy of Linux. I can't even start the
|
||
> installation, because I don't have minix, and have a 3.5" FDD. What is the
|
||
> current copyright status of Minix? E.G., is it possible for someone to make
|
||
> a demo copy for me that will image to a 1.44Mb floppy? I have the 1.2Mb
|
||
> version, but can't use it.
|
||
|
||
You can ftp the Minix demo diskette from various places. For instance
|
||
plains.nodak.edu in directory pub/Minix/????/demo (I haven't tried,
|
||
this info is from a posting by Linus). You get a rawrite program with
|
||
the demo that you can use to write the images on a diskette. 3.5" work
|
||
well.
|
||
|
||
Mika
|
||
--[0009]--
|
||
|
||
[0010] tytso@ATHENA.MIT.EDU Linux_Activists 11/07/91 14:29 (49 lines)
|
||
Subject: Installing Linux
|
||
Date: Thu, 7 Nov 91 10:08:32 +0100
|
||
From: blum@cip-s01.informatik.rwth-aachen.de (Robert Blum)
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
Hi Linuxers!
|
||
|
||
Last night I started installing Linux on my Computer...well, tried to
|
||
install it:-(
|
||
|
||
First, for all of you out there trying to install Linux from DOS:
|
||
|
||
The bootimage works
|
||
(Use debug Bootimage, then in debug do "w cs:100 0 0 200" This write will
|
||
write from cs:100 200h sectors (512 bytes) of mem to drive 0, sector 0. Adjust
|
||
the 200, if the bootimage gets bigger, but at the moment you really need less
|
||
than 100h sectors. Its just to be on the safe side..
|
||
)
|
||
|
||
Forget about installing the rootfs directly from DOS with debug. It's too big,
|
||
so DOS can't load it. Something like rawwrite will do, I think. I did it from
|
||
Minix, smashing my Minix-bootdisk on the way. (Again, one of these 'tough guys
|
||
need no write protect'-story. But who needs a Minix-Bootdisk with Linux, I
|
||
thought. The answer is ME!
|
||
|
||
Linux just doesn't work on my machine. The same problem somebody else on this
|
||
list got.
|
||
It just booted up, showed Loading System, cleared the screen and then died.
|
||
|
||
Well, I think I found the reason for this, but I am not sure. Correct me if I am wrong.
|
||
Somewhere in the code, I found that the kernel reserves the first 640K of mem.
|
||
About 640K - 1M, I found nothing. Then, at 1 M the Linux mem starts.
|
||
And now main (linux/init/main) determines my machine has less than 4MB (it has 2MB) and just allocates 1MB. That sums up to say
|
||
0 bytes free, and I think that
|
||
this has to crash somehow.
|
||
But still it remains a mystery to me why I get no msg about the partition table
|
||
because this is still in the kernel, and kernel couldn't run out of space. (Could he?)
|
||
|
||
Now Linus, (and all others out there) what do you think about
|
||
reserving only say 384K for the kernel and use the remaining 256K as a cache.
|
||
This will at least leave 1 MB for running some processes in it. I know this
|
||
isn't much (too few for gcc, I think) but it should be sufficient when I come
|
||
up with my port of CvW's CC386. How I'll do this in 2 Megs? Simple, order
|
||
another 2 at my local shop :-)
|
||
|
||
BTW: Will the demodisk from plains do as a bootdisk for Minix?
|
||
|
||
OK, cu l8er
|
||
Robert
|
||
|
||
--[0010]--
|
||
|
||
[0011] tytso@ATHENA.MIT.EDU Linux_Activists 11/07/91 14:30 (43 lines)
|
||
Subject: init/login and /etc/ttys
|
||
Date: Thu, 7 Nov 1991 14:14:32 +0200
|
||
From: Ari Lemmke <arl@sauna.cs.hut.fi>
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
>If no one else has volunteered yet, I will take a stab at modifying
|
||
>init to read /etc/ttys and fork a login for each. This means of course
|
||
>writing login.c as well. If someone else has started this already,
|
||
>please stop me now!
|
||
|
||
I have started init/getty/login stuff ;-) mainly based on
|
||
bsd-reno stuff.
|
||
|
||
arl
|
||
|
||
BTW
|
||
|
||
> (NO, NO MORE nic.funet.fi unreachable STUFF, I CANT
|
||
> BEAR IT)
|
||
|
||
*FLAME ON*
|
||
|
||
I TOLD EARLIER THAT NIC.FUNET.FI IS HAVING
|
||
REORGANIZATIONS .. WHY DO YOU STILL CRY ? ;-)
|
||
|
||
*FLAME OFF*
|
||
|
||
nic.funet.fi is _absolutely_ the best FTP site.
|
||
Problems _are_ going to be corrected.
|
||
|
||
nic FTP file areas:
|
||
|
||
Filesystem kbytes used avail capacity Mounted on
|
||
/dev/rs4c 1015790 693649 322141 68% /ftp/disk1
|
||
/dev/rs2c 1015790 743216 272574 73% /ftp/disk2
|
||
/dev/sd0c 1374491 817095 557396 59% /ftp/disk3
|
||
/dev/rs3c 1009846 872018 36843 96% /ftp/disk4
|
||
/dev/sd2c 1374491 1193968 180523 87% /ftp/disk5
|
||
/dev/sd4e 913596 676080 237516 74% /ftp/disk6
|
||
|
||
so you might guess how big/huge 'job' is
|
||
reorganization.
|
||
|
||
arl
|
||
--[0011]--
|
||
|
||
[0012] tytso@ATHENA.MIT.EDU Linux_Activists 11/07/91 14:30 (19 lines)
|
||
Subject: hard disks
|
||
From: Patrick L. McGillan <pmcgilla@hp.uwsuper.edu>
|
||
To: linux-activists@joker.cs.hut.fi (Linux User Group)
|
||
Date: Thu, 7 Nov 91 8:33:57 CST
|
||
|
||
Hello,
|
||
I reckon the most important part of getting linux up is to use anything
|
||
other than HD partitions hd0 & hd5. After I reread the stuff I had, I
|
||
found that either one will destroy the partition table and linux will
|
||
not boot with out a valid partition table and a fs on it. So after
|
||
putting back the partition table with a 4 part partition and one
|
||
defined for the disk, I used the minix demo disk to place a fs on
|
||
hd1. After that things are working great.
|
||
|
||
--
|
||
Patrick L. McGillan
|
||
Computer Systems Specialist
|
||
University Of Wisconsin Ph: (715) 394-8191
|
||
Superior, Wisconsin pmcgilla@uwsuper.edu
|
||
|
||
--[0012]--
|
||
|
||
[0013] tytso@ATHENA.MIT.EDU Linux_Activists 11/08/91 15:43 (16 lines)
|
||
Subject: Symbolic link
|
||
Date: Fri, 8 Nov 91 17:44:52 WST
|
||
From: nicholas@cs.uwa.oz.au (Nicholas Yue)
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
G'day,
|
||
I am trying to port g++ to linux and have the problem of creating symbolic
|
||
links. It seemed that `ln' only support `hard link'. Quite a number of
|
||
packages (tar.Z files) require that in the Makefile. Can we modify ln or
|
||
is it something to do with the file system?
|
||
I have ported bison to linux, if anyone is interested. Is there a way
|
||
out of this "symbolic link" problem.
|
||
|
||
Thanks In Advance
|
||
|
||
nicholas@cs.uwa.oz.au
|
||
|
||
--[0013]--
|
||
|
||
[0014] tytso@ATHENA.MIT.EDU Linux_Activists 11/08/91 15:48 (87 lines)
|
||
Subject: Looking for a FAQ
|
||
Date: Fri, 8 Nov 1991 19:25:43 +0200
|
||
From: Linus Benedict Torvalds <torvalds@cc.helsinki.fi>
|
||
To: Linux-activists@joker.cs.hut.fi
|
||
|
||
|
||
Right ho, the subject says it all ... Linux could definitely do with a
|
||
FAQ (Frequently Asked Questions for all you who haven't been on the net
|
||
all your life :-). And as I'm sure anybody who has read my "help-files"
|
||
would agree, I'm not the best possible person to write it. Thus a new
|
||
project: getting a FAQ done with help from the linux-activists.
|
||
|
||
I've talked (yes, you can try to talk with me if I'm logged in) with
|
||
Robert Blum, and he's promised to help. Our idea was to get as many of
|
||
the linux users/would be users to ask questions they think ought to be
|
||
in the FAQ, and hopefully you could try to answer them too (and don't be
|
||
shy just because you aren't certain you get it right - I'll go through
|
||
the FAQ for techical soundness anyway, but your answers will make
|
||
editing much easier).
|
||
|
||
I'm especially interested in some tutorials/"true stories" from people
|
||
who installed linux without the help of minix. Not only will they help
|
||
make the FAQ, but I could try to make things easier for the next
|
||
version. The FAQ should also contain some pointer to what people are
|
||
doing, and what has been done (like init/login, the bison port, g++,
|
||
etc).
|
||
|
||
I guess the easiest way to organize this thing is to mail me with a
|
||
subject containing "FAQ". I'll then compile it to one big thing and
|
||
send it out to whoever wants to edit on it. If you want to be one of
|
||
the people working on it, please mail and say so. I'll be happier the
|
||
less I have to do with this thing :-), and even if you just think you
|
||
could try to check for things you find incomprehensible, mail me and
|
||
tell me you'd like to help with it. Alternatively, you can mail Robert
|
||
Blum (whom I happily let take over the main responsibility for this
|
||
thing if he wants it) at "blum@messua.informatik.rwth-aachen.de".
|
||
|
||
If you can get your grubby little hands on the minix FAQ, you could try
|
||
to make a skeleton one for linux, trying to answer the questions
|
||
yourself first, and adding/removing questions of your own. Also, please
|
||
resend the questions you've already asked (and hopefully got answered),
|
||
as I really cannot sift through all my mail looking for questions, and
|
||
rewriting the answers (my mailbox is about 400kB - most of it on linux).
|
||
Editing the whole thing would probably be easier if you did some
|
||
pre-editing yourself: trying to get the thing to look like part of a
|
||
FAQ.
|
||
|
||
After we have gotten something that looks like a real FAQ (possibly
|
||
divided it into several parts: one general FAQ, one on installation
|
||
etc), I (or Blum) will post it to the mailing-list and set it up for
|
||
ftp. It will take some time: waiting for questions, then editing them,
|
||
mailing the new versions to the persons interested in this project,
|
||
revising them again after comments ... But hopefully we'll have a
|
||
better FAQ after that. I hope enough people mail questions/interest,
|
||
that I personally can get on to write the system programs.
|
||
|
||
I'd suggest a simple form for all the questions/answers: Something that
|
||
can easily be (semi-)automatically edited into something more
|
||
appropriate:
|
||
|
||
<empty line>
|
||
QUESTION: Xxx xx x x x xxx xxx xx xxx?
|
||
<empty line>
|
||
ANSWER: try to have some kind of skeleton answer here.
|
||
<empty line>
|
||
|
||
If you honestly haven't got a clue about the answer, please still ask
|
||
the question - nobody will flame you (sure, sure).
|
||
|
||
Linus (torvalds@kruuna.helsinki.fi)
|
||
|
||
PS. It seems most people who had problems have got it working now. To
|
||
summarize: It works on SX's and with only 2M of memory. It also "works"
|
||
with a monochrome card, but you won't be able to see anything. Mtools
|
||
doesn't understand DOS 5.0 (big partitions at least), but Linux seems to
|
||
boot ok anyway. Anybody who simply cannot get it to boot out there?
|
||
|
||
PPS. I wrote over my minix-partition yesterday (don't even ask why -
|
||
some things are better forgotten :-), and although I got minix-386 up
|
||
and running again, it's kind of limping now (no bash, no make). It seems
|
||
I'll have to write fdisk/mkfs/fsck for linux just so that I wouldn't
|
||
need minix any more. Something good came out of it.
|
||
|
||
PPPS. As there still isn't a fsck-program for linux, be very careful
|
||
about rebooting the computer without syncing. The buffer cache is /at
|
||
least/ 500kB, and 1.5M buffer-cache is normal for machines with more
|
||
memory, so if you don't sync, there could be A LOT of buffers that
|
||
aren't written out to disk.
|
||
--[0014]--
|
||
|
||
[0015] tytso@ATHENA.MIT.EDU Linux_Activists 11/08/91 15:50 (73 lines)
|
||
Subject: FAQ and a true story
|
||
Date: Fri, 8 Nov 91 13:17:14 CST
|
||
From: Patrick L. McGillan <pmcgilla@hp.uwsuper.edu>
|
||
To: linux-activists@joker.cs.hut.fi (Linux User Group)
|
||
|
||
Hi All,
|
||
First of all since my real job is administrator of a multi-server Novell
|
||
network, I need my DOS. So, I backed up my 70 meg drive and used fdisk
|
||
to create a bootable 20 meg partition and a 50 meg partition. After
|
||
booting back up with dos I reformatted the partition and placed a system
|
||
there then restore 20 meg worth of stuff. I am using Microsoft DOS 5.0,
|
||
by the way and would not give it up for anything.
|
||
|
||
Next, I downloaded from plains the demo_dsk.ibm file along with rawrite
|
||
and used that to create a bootable minix1.5 disk. Yes, rawrite can be
|
||
used to write any kind of file to a disk, just follow the prompts.
|
||
Using minix I wrote 50 meg fs to /dev/hd2 and then quit.
|
||
|
||
I then used my linux boot, made the same way as the minix boot, and booted
|
||
up the compter to the insert root system disk. Inserted said disk and let
|
||
it mount and I was up and running. Mounted /dev/hd2 to user and copied
|
||
over the stuff from the floppy root disk.
|
||
|
||
Back to DOS, and changed the bootimag file as per instructions so that it
|
||
would acces the hard disk upon bootup. Made a new boot disk and tried it.
|
||
Now when the boot disk finished reading it mounted the hd partition as the
|
||
root, mucho faster.
|
||
|
||
I then used the mread program to copy over all the *.tar files from the dos
|
||
partition on the hard disk. No problem! Untarred all the files to whatever
|
||
directories they wanted to go to.
|
||
|
||
Question 1 - after untarring the gccbin file into the gccbin directory,
|
||
where do I place the individual files so that gcc world.c will compile.
|
||
|
||
Question 2 - can all the files in the utibin tar file be copied to the
|
||
usr/bin file.
|
||
|
||
Comment 1 - most times when booting linux after running dos I get the
|
||
following error when booting the boot image disk.
|
||
|
||
--begin error--
|
||
invalid TSS: 0000
|
||
EIP: 0008:00006718
|
||
EFLAGS: 00007206
|
||
ESP: 000f:00006719
|
||
fs: 0010
|
||
base: 00000000, limit: 000A0000
|
||
Pid: 0, process nr: 0
|
||
cf b8 17 00 00 00 66 8e d8 66
|
||
Kernel panic: Trying to free up swapper memory
|
||
in swapper task - not syncing
|
||
---end error---
|
||
|
||
A second three finger salute will always work.
|
||
|
||
Comment 2 - rarely but it does happen, I will get the following error after
|
||
putting the root disk in drive a (when using the floppy root)
|
||
|
||
--begin error--
|
||
floppy I/O error
|
||
dev 0208, block 1
|
||
Kernel panic: Unable to mount root
|
||
--end error--
|
||
|
||
Well that's all got to say and would some please send back the
|
||
answers to my two questions.
|
||
|
||
--
|
||
Patrick L. McGillan
|
||
Computer Systems Specialist
|
||
University Of Wisconsin Ph: (715) 394-8191
|
||
Superior, Wisconsin pmcgilla@uwsuper.edu
|
||
|
||
--[0015]--
|
||
|
||
[0016] tytso@ATHENA.MIT.EDU Linux_Activists 11/08/91 15:51 (13 lines)
|
||
Subject: editor
|
||
Date: Fri, 8 Nov 91 13:21:33 CST
|
||
From: Patrick L. McGillan <pmcgilla@hp.uwsuper.edu>
|
||
To: linux-activists@joker.cs.hut.fi (Linux User Group)
|
||
|
||
Hi all,
|
||
I forgot to ask, what editor are some of you using under Linux?
|
||
|
||
--
|
||
Patrick L. McGillan
|
||
Computer Systems Specialist
|
||
University Of Wisconsin Ph: (715) 394-8191
|
||
Superior, Wisconsin pmcgilla@uwsuper.edu
|
||
|
||
--[0016]--
|
||
|
||
[0017] tytso@ATHENA.MIT.EDU Linux_Activists 11/08/91 16:32 (80 lines)
|
||
Subject: Re: Looking for a FAQ
|
||
Date: Fri, 8 Nov 91 15:43:20 -0500
|
||
From: tytso@Athena.MIT.EDU (Theodore Ts'o)
|
||
To: Linus Benedict Torvalds <torvalds@cc.helsinki.fi>
|
||
Cc: Linux-activists@joker.cs.hut.fi
|
||
|
||
I, too, I have managed to bring up Linux without the need of Minux. I
|
||
have a 40 MhZ AMD 386 with a 200 Meg clone. A couple of notes:
|
||
|
||
N1) The Minix demo disk which you can get from plains.novak.edu only
|
||
works for 5.25" disks --- this isn't documented anywhere, but I spent a
|
||
lot of time trying to get it to boot on my 3.5" A drive. It would print
|
||
the first message about "loading Minix system", but it would hang before
|
||
printing the menu. I finally had to give up, recable my drives so that
|
||
my 5" drive was my A drive to get Minix to come up.
|
||
|
||
N2) The numbering convestion for partition in Minix and Linux are
|
||
different!!! The way I dealt with it is to use a disk editor to write a
|
||
message "This is the Linux parittion" in the first sector of the
|
||
partition, and then use "head -3 /dev/hd[014]" to find the right
|
||
partition number on both Minix and Linux.
|
||
|
||
N3) I have MS-DOS 5.0, and the mtools worked just fine on my hard disk.
|
||
All of my partitions are less than 32 MEG, so I'm still using the FAT-16
|
||
filesystem. It would be nice if Linux understood the DOS extended
|
||
partitions, though. This would allow mtools could read my other DOS
|
||
partitions. In addition, it would mean that I could use one of the DOS
|
||
extended partitions as Linux partitions, so I could avoid chewing up
|
||
the 4 primary partitions available on my 200 meg drive.
|
||
|
||
[ Note: whoever decided that IBM hard disks only needed 4 partitions
|
||
should be condemned to recabling machine room floors; CP/M on
|
||
Heath/Zenith machines had 8 partitions available, and much more friendly
|
||
tools to modify said table! ]
|
||
|
||
N4) I have also experienced the panic which Patrick L. McGillan has
|
||
described. I suspect DOS setting some cruft which isn't getting cleaned
|
||
up. The panic happens happens right after the "Loading system" and
|
||
before the system has a chance to print the "Partition tables ok" message.
|
||
|
||
N5) I have managed to build the Linux kernel under Linux, using the 16
|
||
bit binaries which Linus provided. One little gotcha is that it is
|
||
necessary to rename the binaries provided in gccbin.tar.Z to the names
|
||
which the Makefile is expecting. Other than that, though, things went
|
||
very smoothly.
|
||
|
||
N6) It wasn't obvious that the "em" program in utilbin.tar.Z was
|
||
actually MicroEmacs. I was really happy once I found it, though!
|
||
Perhaps there should be a quick note mentioning this fact somewhere. At
|
||
the moment, the programs which I seem to be missing the most are 1)
|
||
more, 2) gdb, and 3) fsck. The first should be a lot easier to get
|
||
working than the last. :-)
|
||
|
||
And now, for some questions:
|
||
|
||
Q1) On nic.funet.fi, I found sources to shoelace, which seems to be a
|
||
way to boot Minix without needing a floppy boot disk. Is anyone working
|
||
on something similar for Linux? The other interesting thing about
|
||
shoelace is that it came with a file "shoefsck.c" which seems to contain
|
||
the necessary code filesystem checking for Minix. However, there's no
|
||
copyright notice on that file, and no email address for the author,
|
||
either. Does anyone know what the status of that code is? I was
|
||
considering trying to use that code to make a fsck for Minix.
|
||
|
||
Q2) Similarily, there are sources on nic.funet.fi for a fsck program for
|
||
Minix. It looks like it was derived from the Minix fsck, but since it
|
||
is available for anonymous FTP with no notices saying "don't touch
|
||
this", I wonder if would be consider fair play to base a fsck for Linux
|
||
on the code, and either distribute the code or patches to the code with
|
||
a note that you can get the rest of the program from nic.funet.fi.
|
||
|
||
Q3) Linus, can you provide the configuration files for gcc and friends?
|
||
It would be interesting to see what's necessary to actually compile
|
||
one's own version of gcc/gas/etc.
|
||
|
||
Thanks to everyone on the list! I don't think I would have managed to
|
||
get Linux up and running with out a lot of helpful hints which were
|
||
posted on the list --- and I've only been on the list for a couple of
|
||
days!
|
||
|
||
- Ted
|
||
--[0017]--
|
||
|
||
[0018] tytso@ATHENA.MIT.EDU Linux_Activists 11/08/91 18:19 (21 lines)
|
||
Subject: using em
|
||
From: Patrick L. McGillan <pmcgilla@hp.uwsuper.edu>
|
||
To: linux-activists@joker.cs.hut.fi (Linux User Group)
|
||
Date: Fri, 8 Nov 91 15:41:43 CST
|
||
|
||
Hi all,
|
||
Short note on getting em running on my machine. I used my minix demo
|
||
disk to mount my linux partition and then edited termcap with mined.
|
||
The entry
|
||
console:/
|
||
was changed to
|
||
console|dumb:/
|
||
|
||
Hope this helps others to.
|
||
|
||
|
||
--
|
||
Patrick L. McGillan
|
||
Computer Systems Specialist
|
||
University Of Wisconsin Ph: (715) 394-8191
|
||
Superior, Wisconsin pmcgilla@uwsuper.edu
|
||
|
||
--[0018]--
|
||
|
||
[0019] daemon@ATHENA.MIT.EDU (Peter MacDonald) Linux_Activists 11/08/91 22:59 (15 lines)
|
||
Subject: shoelace and init
|
||
Date: Fri, 8 Nov 91 19:45:08 PST
|
||
From: pmacdona@sol.UVic.CA (Peter MacDonald)
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
I too noticed that shoelace has code to do fsck and mkfs functions.
|
||
But fsck doesn't seem to work on my hard drive. I am also trying to
|
||
get it to load Linux as this would allow passing environment variables
|
||
such as video mode. Also nice to boot from multiple partitions.
|
||
|
||
|
||
To Ari Lemmke: If you need it, and haven't already considered it,
|
||
maybe fvk-crypt and getty as posted on plains can be used by init/
|
||
login/getty. Let me know if you wish to farm out anything like
|
||
ttys or ttytype.
|
||
|
||
--[0019]--
|
||
|
||
[0020] daemon@ATHENA.MIT.EDU (Peter MacDonald) Linux_Activists 11/09/91 04:23 (22 lines)
|
||
Subject: shoelace: fsck lockup
|
||
Date: Sat, 9 Nov 91 01:19:04 PST
|
||
From: pmacdona@sol.UVic.CA (Peter MacDonald)
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
It seems that the failure of shoelace to fsck on my hard drive
|
||
is due to the number of inodes. An alloc of memory is done which
|
||
wipes out the stack! Ouch. Bitten by the 16bit bug again (the
|
||
very reason why most of us are using minix). Anyways, if we
|
||
can find a way to reduce the memory requirements of shoelace,
|
||
then fsck and mkfs should work within shoelace. I suspect that
|
||
removal of this excess funtionallity is required. For example,
|
||
commenting out the single call to fsck in shoelace resulted in the
|
||
code size dropping from 49K to 30K!!!. Add stack and data to this
|
||
and join the over 64K club for a voyage into lala land.
|
||
|
||
Either way, the code to perform these functions already exists and can be
|
||
extracted from shoelace for standalone products. If no one objects
|
||
shortly I will begin this project.
|
||
|
||
BTW: Earl Chew is the author of shoelace and must be given credit for
|
||
its existance. Please speak up if you know if the code for fsck in
|
||
nic.funet.fi is PD. It appears to be suspiciously like Earls shoelace code.
|
||
--[0020]--
|
||
|
||
[0021] daemon@ATHENA.MIT.EDU (Patrick L. McGillan) Linux_Activists 11/09/91 11:39 (30 lines)
|
||
Subject: boot image
|
||
From: Patrick L. McGillan <pmcgilla@hp.uwsuper.edu>
|
||
To: linux-activists@joker.cs.hut.fi (Linux User Group)
|
||
Date: Sat, 9 Nov 91 10:37:09 CST
|
||
|
||
Hi all,
|
||
Well, I was able to run make and build a new boot Image file. Unfortunately
|
||
I am unable to copy it to a disk. Tried cp, dd and cat. The error message
|
||
from cat looks like this.
|
||
--error on--
|
||
bash# cat Image > /dev/at0
|
||
floppy I/O error
|
||
dev 0208, block 0
|
||
cat: write error: EIO
|
||
bash#
|
||
--error off--
|
||
Any thoughts anyone? Incidentally, I have a 1.2 meg as drive A: and a
|
||
1.44 meg as drive B:. Even tried writing to drive b with the same apprx.
|
||
error.
|
||
|
||
I suppose I could be wrong, but it would seem to me that it would be in
|
||
the best interest of the group if replies were also sent back to the
|
||
group, instead of to the person with the problem. I.E. Others may have
|
||
the same question, but are waiting for someone else to ask it.
|
||
|
||
--
|
||
Patrick L. McGillan
|
||
Computer Systems Specialist
|
||
University Of Wisconsin Ph: (715) 394-8191
|
||
Superior, Wisconsin pmcgilla@uwsuper.edu
|
||
|
||
--[0021]--
|
||
|
||
[0022] daemon@ATHENA.MIT.EDU (Christian J. Darken) Linux_Activists 11/09/91 14:34 (45 lines)
|
||
Subject: Elvis spotted on Linux!
|
||
Date: Sat, 9 Nov 91 14:32:50 EST
|
||
From: "Christian J. Darken" <darken-christian@CS.YALE.EDU>
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
|
||
I compiled elvis version 1.4 (a vi clone) under Linux today without
|
||
difficulties. I used the System V settings in the makefile, with the
|
||
following changes:
|
||
|
||
CC= gcc
|
||
EXTRA= tinytcap$O
|
||
LIBS=
|
||
PR2=
|
||
|
||
elvis v.1.4 is available from nic.funet.fi (/pub/gnu)
|
||
aeneas.mit.edu (/pub/gnu) cs.uni-sb.de (/gnu) and other
|
||
fine ftp sites near you.
|
||
|
||
|
||
I have some questions for you fellow linux fans out there:
|
||
|
||
First of all, by way of introduction, I am running Linux on
|
||
a 386DX 25MHz clone on a small partition (20M) of an IDE disk.
|
||
I don't have MINIX.
|
||
|
||
1) mv doesn't seem to move directories properly. It looks for
|
||
something called mvdir and dies. I want to fix this right away,
|
||
so I'm goin to start working on it unless one of you drops me a
|
||
line and explains what stupid thing I've done.
|
||
|
||
2) When recompiling the kernel, the makefile looks for chmem and
|
||
gar. Since the resulting image seems to work, I suppose these
|
||
things aren't necessary. But what are they? I'm curious.
|
||
|
||
3) Lately when I boot linux (with the hard drive as the root
|
||
device) I get the message "child 2 died with code 0000"
|
||
(or something of the sort). What process was child 2? Should
|
||
I be worried? Everything seems to work fine.
|
||
|
||
Thanks folks.
|
||
|
||
Chris
|
||
darken@cs.yale.edu
|
||
|
||
|
||
--[0022]--
|
||
|
||
[0023] daemon@ATHENA.MIT.EDU (Nicholas Yue) Linux_Activists 11/09/91 19:31 (30 lines)
|
||
Subject: Re: Elvis spotted on Linux!
|
||
Date: Sun, 10 Nov 91 08:31:16 WST
|
||
From: nicholas@cs.uwa.oz.au (Nicholas Yue)
|
||
To: darken-christian@cs.yale.edu, linux-activists@joker.cs.hut.fi
|
||
|
||
G'day,
|
||
In answering question 3,
|
||
|
||
>3) Lately when I boot linux (with the hard drive as the root
|
||
>device) I get the message "child 2 died with code 0000"
|
||
>(or something of the sort). What process was child 2? Should
|
||
>I be worried? Everything seems to work fine.
|
||
|
||
I had the same problem but was more serious, after the message
|
||
"child 2 died with code 0000", NOTHING happens. After I have copied
|
||
everything from the "floppy root file system" to the "hard disk root file
|
||
system", I FORGOT to do a sync. Syncing is VERY important, Linux uses
|
||
a 1.5 Meg buffer, there will be alot of information lost if a sync is not
|
||
done. Listen to the disk activity when you do a sync!
|
||
I even did a umount /dev/hd2 before I reset the machine. The bootimage
|
||
with 0x302 written at location 508 will mount the /dev/hd2 again.
|
||
|
||
Hope this is of help
|
||
|
||
nicholas@cs.uwa.oz.au
|
||
----
|
||
Department of Computer Science, _--_|\ Nicholas YUE Tan Meng
|
||
University of Western Australia, / \ "You THOUGHT!! BUT did you THINK!!"
|
||
Mounts Bay Road,Crawley, W.A. 6009 X_.--._/ E-Mail: nicholas@cs.uwa.oz.au
|
||
PHONE: +61 9 380-3816 v FAX: +61 9 382-1688 OR 380-2716
|
||
----
|
||
--[0023]--
|
||
|
||
[0024] daemon@ATHENA.MIT.EDU (Linus Benedict Torvalds) Linux_Activists 11/10/91 05:09 (148 lines)
|
||
Subject: Linux fsck.c V0.10
|
||
Date: Sun, 10 Nov 1991 12:07:44 +0200
|
||
From: Linus Benedict Torvalds <torvalds@cc.helsinki.fi>
|
||
To: Linux-activists@joker.cs.hut.fi
|
||
|
||
Ok, This is version 0.10 of the fsck program for linux. Everyone is
|
||
encouraged to use the (old) minix fsck program available on nic if they
|
||
want to, but as it isn't clear what the status of it is, I would rather
|
||
have one especially made for linux. This is it.
|
||
|
||
It's a fast hack (2 days), but it seems to work relatively well. It
|
||
doesn't repair a destroyed file-system, but it should tell you about
|
||
problems. Repair is on the way...
|
||
|
||
The reason I'm posting this is that I would like to get all the bugs
|
||
ironed out before it starts writing to a disk. Now it just reads, so
|
||
this version will not f**k anything up, even if it has bugs (and
|
||
hopefully there aren't any). Although it isn't commented, it might give
|
||
you an idea of what the file-system looks like.
|
||
|
||
This is NOT a standalone version to be used at bootup. It is meant to be
|
||
compiled and used under linux, on filesystems that aren't mounted. You
|
||
can use it on root, assuming there is nothing writing to the disk (and
|
||
this includes fsck itself: don't use "fsck -l rootdev > tmp" or
|
||
similar). This isn't recommended though (you might have two boot-disks,
|
||
one which boots from floppy just to use fsck on the normal
|
||
boot-partition).
|
||
|
||
Linus
|
||
--------- snip snip -----------------------------------------
|
||
begin 644 fsck.c.Z
|
||
M'YV0+U0H *$"A)DY8]:X& .B!8@P!M.P*0-B3IXY=,JT 3'FC9LY:3"6<3,F
|
||
M#T<T91*6D6/P#4LF:=S4P>-BH$""(% ,20$B1HX<,4# E#D'!!67=L*P(3/'
|
||
MA5$T(2-.!-$FC$DQ%.64(1.2CIPT8NID)/.P*)R5-D'002DTYDR.;^#D^7H&
|
||
M#9V:!%\H4! P+8P<+F+$< $41$/#5<E07$O13!HY&$'(J<.U31DZ8>28-%.'
|
||
M))TT'N?83!L#1N#!A0^#J .'3)BQ+$"0>5.FZ!B4"6.>B>WFC>0R<,(\+IKG
|
||
M,EX5"1),&4D'Q!NQ:GTSIBJ<C>X6UB.;<:FV]F<W9XZG37+"#D4T8<CV5IO&
|
||
M<O2'9,AV;&/9#9VB#M'$+<.9#1N3TW'F&6AN@.!&&):)AE-F%,U7WWT@C/1<
|
||
M74X%4=0=::SUD']246212!O=EM(:*\T1VUI1A3''''4DF%: $GEX448;115'
|
||
M'6G4-@9SA\WFQ@G-U3$'11DZ5R!$;3QGWU:RE6%'&CNFU=E$*X*0QW,<A5$@
|
||
M5A75H96!;XCQ!ADF177'5]^=\5Z1*&A)EE:6M8$52VN]IA9*:9$HAQMEL)%E
|
||
M@6=FN)AO1=Z!4H%%#IF9B$5MQY)C5*8@'DY5L!C&&67H8!!":X"P!7:9V3%'
|
||
M&UTT^624!"6 74LL091=FLZ9L:&?,$YTH(NIM@"1HP^)]495GS&D57##Y=1;
|
||
M<^W!,=Z5@DZJ/<C>L<)#E%%-&<H0QQF?F\83"L2 DNRQSS3[;@AVL@F">
|
||
M'&(.F5-&_A6EWQW4N;%9C',XFVNCW+%XEAPMB,'&&PF%Z\9VYF[$:QLQI8$'
|
||
M=FF0"(((22H&9G-C3,0@&2* <$=F;NBFX$T%4<&68J=25-55%$$D,,&=H@PE
|
||
M1=Q!U-ZE-,OJ41FQA=4<BD6%]",=:8WDZ(YDH>!SN'2<4!2X;=1QFT&=&?G0
|
||
M29EIBZVI,X.@0PN2@F"37@J,$%/&E%'$ T9<O>$"&CZ4?38;:8/ 0V==D?%V
|
||
MW&:31+?%:WNEV]YR^UTW#V:,81\;A/>--N!L6R=&XW,?_N$+&+U&>.&/JVV=
|
||
M3'B\<-#F(RCF&)\@2/'$$U1\D8033_2T5^G\Q411%5! 4804*("D!\]N>-M[
|
||
M&K^O\&T+,:20P@O!EVVZ[2"\_@0117PQ11):%)&3[V6\84;O7DG='!E?Q#1F
|
||
M&<H[7SOJTE/_A1!,/#'$$E. @+ONO+=?Q!0LZ#_%%_A[7_SFYRS:G8XB^GM?
|
||
M%8Q@A-U9#WO:0T$"X2<_^N&$@O-[8/:<I;X#@D (2:#"_P*(P27DI(0:+ (/
|
||
M># ##F8N6%AC24'@((<WG"%;;?C"K2C2@XD=)"$BV($"7@BE&.)$9CO2(8)X
|
||
M" (G5($)3! B$1ERK>@Y08J8@6$5I_68'L @-F'P%;"@Y,78K*M=92@C"%ZE
|
||
MQCG,2XT?V],7*I9&&&#Q-46L(E>TLBV7Y$&-6CE#'=B0&36^+"$H4^-M,I/(
|
||
M+ZXQ)FN8@QKI\ ;,L,&+0NP@])H0!"Q\@7I0H (20% #& PQBWFTCX&6^ 7%
|
||
MP$%#/;3C*?'(D$6R9(=?>-46..E)4(JR"UMP0A":4#TF%,$)*XA!%S(Y12,6
|
||
MQ'R*^4)8S&"&E8"@ATZ$HA -"+TD],9B* @G1B:S+=F4[YL440%/H%D&:=:!
|
||
MFBM) ?*<U4Q;=NE?TAQ80MP)3SEL 877R]XR-8FZ*;#&FBA0 ?C(V1Q_K22?
|
||
M,"-("APJ!XCN<YK5E$,!G\<^V%&O?N'L#$C.P">R# P\*3#HOUPP!QVR,U\$
|
||
MI8@6GN"$_>4$!2)- TF9=-(SI/2@<F"I#O6P,YARDWV<A )(<?H1G99TC1[Q
|
||
MJ4I7(M2;P<&BD=SH^F2:U*7F=*<FC>I/5]I2/53EJH?,:DQ!8(0D2&$*5)AI
|
||
M36_ZU:?V=*Q4;:EC($,'UV"&J'S2J@?ENC\(TK6I8(4J2J<:U)8.[ Q? &P[
|
||
MN2?8378RH!%DZDCM*E;&"K4J>/@"9=?*R2,D80@Y\6Q+JW(&*%46=;"30A.^
|
||
MT-:WQI6F$93!"I+0U15HH;<3'"#]7(C*6J*')>R<8QC@\$_AIA G2?A"4JT7
|
||
M/Q$.M)['!8%DE<M<@!JV(%J0;A"@0%W636&@LX1A79EDSV>B\PL=Z4QSL/G$
|
||
M**:WB.N53W8+LMWXJI*^VMR+'=Z0AC>EQ$L@,0]\<;,&S3J5254T7PHR>52*
|
||
MB"%#<?G6$ED0%YYPX;Y4=,/GB*3*':*@O? A@QQ8D%^#-<<-&@7!A_<@8P54
|
||
M\0M?T,H<=E!C'*LHAU] @0C$0(>.Q65B("A!#%A0 AGP.#T9 P$)OE@"&'3L
|
||
MPSH000_.T#$4X%C''E9 EN7091BG@ 44Z[)"TZ-BY:'9RCF!@?)X_&&MT,%+
|
||
M!?IR;>BL@#[LY<*4A(/2,H1F$3@+T!D>$AT C>8Y&%H!B!9TQMA%:!&,X=$V
|
||
M%C'T(OS>F'Q!2&5P<&*K:&8%[$$!"; SGD$ :!0D]ZPL,+,0_9SI$;M8NSL[
|
||
MYZ>').JGDEJCID:UJO?$Z@RA8+NPAG$+:@M7PB9SPGT6\!L(^9FI#+C JYD#
|
||
MSE!P;3(XZ]0), ,-K_4]MJUDQ2*H%,XT58*B?(J0<A 5J4#P I0Q;XE<<(,(
|
||
M6$!#&^)0B9:!=@+*@ =C)V_6TJ9VC-1%8+)P)=0H'J=NOHUJ<7_%/N7NZ[G1
|
||
MW&Y-[;O?-T00P-$GQ'"/&^/@4XP<5BQQ\+ B>W<H< M3NZ4;UP$^39TR0EN
|
||
M<&C3.B:V[O9OTH/57D.XQ"MV9HJ!#>XTR H%(8 Q"/C !P.QQ <]).P4> +N
|
||
M!,1)T6V*SXJ_Z-T-ECS5E\%SR?V< *>?T+F858'40]!#-@RI# U^76S*7@2Y
|
||
M)WT*12C"$JQ7!"JD+SD/%_+=.V6&ZFQ%YZAV.PKX#@*Z#YT,$G0"&,6^=[A#
|
||
M\/ )2+P(.A,&@0WJ\JS6YQH@_W--HT[H9ST+^;1"]+0N5'SF9"=.V,D"5+>X
|
||
MB@); XQC@V(V,QW5]@Q^<RN80O2V_>G!AS$/;L!U5*.]]JIW-3I;X(,T1'9G
|
||
M6XB^'+K N,+'.UWWM/:42W^AO3P!B67O/AY4(,8R*#ZR:$]^6S/3NY[7[);
|
||
M< /D%WSGIW]%%U*(]51NY!+-H4X$&'YL('SC5WYB5X!IIWZHQG;MUP(]5'].
|
||
M)FQE@'TPHWWGXW_?QR=;@ ,#&($"9X"VAX";Q20+* <-F (/*'XOX($KN 8M
|
||
M&(+[EWTP^&!D,8,U>(,1"&,EH(,4V&8(IP!"9X"887ISP&T-1W%>IQ%@]VK+
|
||
MQ0)?Q#W>0X+1=%9SAFI?=QG'EFNPUH7$TSW?@VS+-8;/]W;,AUF55W>+EWF=
|
||
M-X<0%!N )WB$9WC.@G@YHGAE@'<&X7@<(W"21WF6IW]X>$\/E5;\E%%YF$&8
|
||
M!7JB1WJF]Q[Z!XDLD5:0%X<H4%JG58<@, 6XXT"DN!/6)WIBD![4T5H,(1-R
|
||
M8DTQX8D!HWJA*'E:9UB6!P-35W6,V$.E(0,T$(BA-X@B\ 0B9A(QT"EI-0<O
|
||
M(%E%X2]PP("/IXA/%P*\-5[U0W71TU4@X /1(U[D-075M76MJ(RO.(3E<U98
|
||
MU2@YLA0&@XN@J(TY$0*_Y8W!" +[J%3CZ(_F6%XBA(RN"(ME!8_1&!%]0A:W
|
||
M2%&Y"#.[^%X894T]5!7^03"9-SW5(P0+U$!2D$+X"'7)59' )HBAEFX'LHF4
|
||
M-"L$\QH6]DX9E2XO-9'G U]*,E_4D9%CL)$?-9(AD%S^10<&J8Q5L))3T9)*
|
||
MH4\PR6HR:4V\HGM#&8K]E9/7M)/ZA ):!Y15*5]%F9)'67I)Z1M+^9(9X93]
|
||
ME"Z2!1?RM8M/UXU*I0+#>'EXJ(5PT#]=)9>>MT%?*61AR9*^T8FZ=U9NF1/_
|
||
M. 5ZJ8?98XJ.J'=N>)>'F9B6^'E]J9)B>7J=N):$.9(3])$.1(>-Z(-U29%/
|
||
MN6*=R4"?29GK")9(B9D^:##GXV@C&5NSQ6RW-5>69YN$A8PG1P??(P)7 #*Z
|
||
MH2E&,!QTL):6YP0ND4-[A1&259B],R_XEP"]^9LEX)#H- <YUS\>M3_G5YU"
|
||
M=IVI!S/:J6\LL)5G!YXB4)Q\Y5=A(%D]()XH<)TIL)VZB5LL0)NTY5;-AEO?
|
||
M>7&^*61:4%1K&)]DL)U\MT*]:';6IYY-$ 9XP#T&NIV\=(GK1VOCA'ODHWL%
|
||
M@2ET<$[G8W38^6+'EP 96DX;BDZ[ATZ9)(I1QQ+@*'7DZ#_(.&P%DDWVE0"4
|
||
M9$DKL +QIZ(]Y$WG P(K8'7QMXU"F9-; &-=,)V2]S]), 5$X%9@6 8F2$>@
|
||
MEXQ\1$F:T:-GUR?N\J2N,P524 1'4*57>CY9&DB#E!E>:GU@2B1/!Z53, 1(
|
||
MP#O]UWUSI*;(F "VA#)OFAQQ&BYS.J;PLP1HJJ=8VJ=I!:@^FH$18G=E8'V?
|
||
M$TF!*GDAT*-)*E]+.G[(N*GVT:E=T (M4'(V"IN*T81")R+[5$.51(4%9H4G
|
||
M.CX@:C'N-:1!JJ)%JCJLXSJPTZ*8JGO@& )T.J5XNGV*RJ>K*62NBBPJ*C1
|
||
M<C5[E!)<F@>LMQ?-5$5L=H*A]GNJI >EUG3;"*XP6G7D.HY9AUOJF'\76""R
|
||
MY*(]VI6A2JY-:GWR2@=;0*^D:JKMVA--F*VJM*W;%1.8YZW-0:ZR6EQ&I'Q\
|
||
M-U!MITII *S;*+ [<VQF5J/]^JXNF'WDR@($6'*\XFI>! (\E@9V(X>3F3T^
|
||
MX /)0[+ATJ/(2+%\$DXB6A'Z08,2]8!IT*3\FGX%$@/_JK#:&A_<VDH$6[-5
|
||
MA+#!9J(*FWP1N'PI6P0.&V$2FX\R&VH(B[$^"P(:ZX-%U[$?6W'<(;+ 6+(G
|
||
M.WE[600KV[(E"[/6=[7GA'E!F%A$F+,LN 4[VX-;"[31YH0-=Q(CPJU3:+#A
|
||
MDK ,E7LJ>JNINA<N:K+@:+)89T4<N:[HIW:1]W2@BJ\[&Y#)DP ! 0+H81X>
|
||
MTR YR21 TR$;HG]Y\ -Y87TV^J.X&CVZ&BY'FH_%2J5YZGU8"@(F8 *51Z=E
|
||
M>J:YNZ>* 7JO*[8L0;8NFP;3M[QNFQQ7FZC_!WYY6W)P>[3#"X "*'!PRQ5N
|
||
M@'G9"WXJZ'/2AFV]^07!L1:PZFU+&V&8Q+B&LG"NQ@.XY$IKP9L ^ILO4 *!
|
||
M00..%FNLI$MIT*,\BVKJ^0+7ZK?8QJIK\ 60$FJSBKA#6A![%!N$ZST'<1D)
|
||
M2TL+^[0-6W(1G*(3C*IE\*/.^@8EAV([U**QMQ4YYK6V5\$8K&@OP'<>RX(E
|
||
MMT-7&7Q$FA,S?!E)]D%IRQ-%^H$/ZQL]5! U6[?J9"Q+U +W![L6TT,>6JNA
|
||
M)F&U"W4_3)0@T'7!NA[@.$YCT :")@(NL&\RUZ?J*02P.*U]I!F:<@(N< +A
|
||
M,@=#$Q%\E7/G-ZC'FP!L)WE;?$W$: -.BJ1@7'5B3,9"Y@)G#, !I\;Y*V1L
|
||
M['"/0:U^%,>,3,?0VE IX1$'JF][+*F_X;/KU[CHI+66*XJO4L@Y<49O,"20
|
||
M7',B4 (V0!95=@.^L6_FPP+#BZ7I":#H^QIH@ +_*<O\&P/^VV[;N4,L<+O'
|
||
M6H+)6KP_( )9EF6AR'8,++@D.)*ZU[NG.*;&*KW$BSZLK&&6T4K H2$\ *\
|
||
M]$E%$$I(T*?C1!)R8<[MI$OUF\YH0'[,C,SGE\^OA :!BG9C@&!IH& ,O,UG
|
||
M!]!KL:\9V+=/>&"0<=#ME-"$*V%+&\)6?$2/47(73$V*UJ)[=)5":C%%:CY9
|
||
M3*S@3*5[E*;%6YG7LA('XB?GYA*A&+*!'$LN&\CKW-)ZRCT[#=) O *#C(S9
|
||
M_, H(,-"392J^K?9/)13V&U62+6,&[)IT -!8;;K[#_.NP+E')2=Y@:[=L4\
|
||
MX<TE709XVP4NH+M#ZLUQ)-98:GW4&<DB<-9)1A9T=#$<H3%:\<FZ?'Z2EUR>
|
||
M!FJNE@(J<-9IO=8Z5*E%T0,]E+EIW:<=81]N4<(-2M=V?9WL%C0% FJ\P=@&
|
||
M2GRE2P83:I[6EP:\'-9C7=C33,TB<"S[AM@[J]BN%TF]EQR07;T/'6YC>]7W
|
||
M.5=:[8_JVM7E/+!B3=AIP!..C6M\@I.<FK=R/=G?40>6G1SJ.:"HH]E)QMG9
|
||
MQC-LN22D?9W;>=HL8-RKG=RMG66P7=ZY-I21?:'EJU\CLKY66(9T4*7.;1]<
|
||
MR)V3JP)>^#TJD+EP:-]GV-Q#N=]:Y]]K^(4J<*]PF,W4B *\VCK2TX,%/=$(
|
||
MS6 2OCH4#CL"]]0Y.87DFVG-414QH7W-D1EG, ;$MU\%H>)V,-5/I^(,X<TJ
|
||
M ./XZV\BI\-)#.-9G$!T6!#^ T .5$*FR'>5V8XD7!%K&(KQ.Q5M(@<K3JJ<
|
||
M.YTP/M"2!^-; / Q.6F> (M< )]*GDP-W)]F@!"LFWG-W"2*M>AYR0S,W)7
|
||
MJ>5<_J6B_.04D5 ]2N?UFAPFBB%T,#51?@9VL.5=WJ1=[.9CH"(4<0)L< *:
|
||
MPD9 RVJTMP9GEQR+[BXG$ :0WBN4-$9C@-4\QD5R(.J4'H*6KNB,#@(G( >=
|
||
M'D:?3DN8]!O$4NJ3+@:5?NE^NNKET>FN/"2FCNNHKNN9WNAST.D+> ?!GNNJ
|
||
MKNEMT.EO/<[+/NQN;CIAQ 9TH"EICBG$?.EL]\?;6.8R9WW;'FH"]SI7N1]N
|
||
MD-1PGD3,3.H_\ 1?( 5$< 52H /R3N\TQ019P)E.<+)RMJRCUYKOH>ZLWFXG
|
||
M$(I0>)DBGL(,EF-O\*H?KN$C^>OHD^C63=?Y1LL&)DCPUB'E*0+6-\NU+!N5
|
||
M_,8Y$O(CS_$QI#76!',@GW,K7_)IQ34[$O/Z-O,F!4DJGQPB0*I WP(R[_,L
|
||
M_\ A?]MHY_&9\7(G7ZTL\*=.<L,P@S)(S]A0K )N7*W)Q ([JA17G_5^]&RE
|
||
'?*HH(&<(!_&9
|
||
|
||
end
|
||
--[0024]--
|
||
|
||
[0025] daemon@ATHENA.MIT.EDU (Linus Benedict Torvalds) Linux_Activists 11/10/91 11:18 (106 lines)
|
||
Subject: More answers
|
||
Date: Sun, 10 Nov 1991 18:09:31 +0200
|
||
From: Linus Benedict Torvalds <torvalds@cc.helsinki.fi>
|
||
To: Linux-activists@joker.cs.hut.fi
|
||
|
||
Patrick L. McGillan writes:
|
||
> Hi all,
|
||
> Well, I was able to run make and build a new boot Image file. Unfortunately
|
||
> I am unable to copy it to a disk. Tried cp, dd and cat. The error message
|
||
> from cat looks like this.
|
||
> --error on--
|
||
> bash# cat Image > /dev/at0
|
||
> floppy I/O error
|
||
> dev 0208, block 0
|
||
> cat: write error: EIO
|
||
> bash#
|
||
> --error off--
|
||
> Any thoughts anyone? Incidentally, I have a 1.2 meg as drive A: and a
|
||
> 1.44 meg as drive B:. Even tried writing to drive b with the same apprx.
|
||
> error.
|
||
|
||
Urgh. This is definitely the kind of error I wanted least to show up.
|
||
The floppy driver is the least mature part of the system, and any errors
|
||
are likely to show up there. I'm unable to reproduce this error: the
|
||
only way this kind of write error could occur is if the floppy driver is
|
||
totally unable to read the first block. Normally write errors won't be
|
||
noticed by the writing process: it just writes to the cache.
|
||
|
||
This definitely looks like a driver bug: UNLESS you are using floppies
|
||
that aren't formatted? You have to format the floppies (currently
|
||
possible only under DOS) before trying to write to them. Please, please
|
||
tell me that was the reason :-)
|
||
|
||
Is somebody else getting this same kind of error? Could you please
|
||
report the hardware you are getting it on (5.25"? 3.5"?)? Are you able
|
||
to read the disk (as a root-image for example), and does the error
|
||
happen all the time?
|
||
|
||
> I suppose I could be wrong, but it would seem to me that it would be in
|
||
> the best interest of the group if replies were also sent back to the
|
||
> group, instead of to the person with the problem. I.E. Others may have
|
||
> the same question, but are waiting for someone else to ask it.
|
||
|
||
Yeah, I'm lazy. It's much easier to do a simple "reply", so that the
|
||
person with the problem gets it solved, but nobody else. I'll try to
|
||
reply to the mailing list in the future (unless it's something very
|
||
machine-specific.)
|
||
|
||
darken.@cs.yale.edu:
|
||
> 1) mv doesn't seem to move directories properly. It looks for
|
||
> something called mvdir and dies. I want to fix this right away,
|
||
> so I'm goin to start working on it unless one of you drops me a
|
||
> line and explains what stupid thing I've done.
|
||
|
||
This is a possibly deficiency in the linux kernel. I don't allow
|
||
links/unlinks to directories, as keeping track of the parent is too much
|
||
work. I /think/ it's impossible to allow a hard link to a directory,
|
||
but I'm not sure. Anybody with ideas is free to mail me.
|
||
|
||
I think the best solution is to write a "mvdir", which simply copies the
|
||
directory and removes the old one. Obviously I haven't done it. (Does
|
||
minix allow hard links to directories? How does it handle the '..' file
|
||
in such a directory?)
|
||
|
||
> 2) When recompiling the kernel, the makefile looks for chmem and
|
||
> gar. Since the resulting image seems to work, I suppose these
|
||
> things aren't necessary. But what are they? I'm curious.
|
||
|
||
Most programs starting with a "g" are GNU software. This is also the
|
||
case with "gar". Gar is just a shorthand fro "GNU ar", ie "ar" ie
|
||
"/usr/local/lib/gcc-ar". Likewise "gstrip" is the same as strip, "gas"
|
||
is the same as "as" etc. I have most of the gcc binaries linked to three
|
||
different names: /usr/local/lib/gcc-xxxx, /usr/local/bin/xxxx and
|
||
/usr/local/bin/gxxxx.
|
||
|
||
chmem is a Minix brain-damage. Ignore it. It isn't needed under linux.
|
||
(it tells the kernel how much memory to allocate to the program, as
|
||
minix doesn't allow a process to grow). Remove the line from the
|
||
Makefile if you are running totally under linux (and it's probably not
|
||
needed under minix either, if you have the right patches).
|
||
|
||
> 3) Lately when I boot linux (with the hard drive as the root
|
||
> device) I get the message "child 2 died with code 0000"
|
||
> (or something of the sort). What process was child 2? Should
|
||
> I be worried? Everything seems to work fine.
|
||
|
||
Linux has two special processes: The swapper (#0) and init. The swapper
|
||
is used as a "null"-process: When no other process wants to run the
|
||
swapper just sits and idles. It may not sleep.
|
||
|
||
Init (#1) is the real father of all processes. It should really do a lot
|
||
more than it does currently: execute the /etc/rc file and start logins.
|
||
Currently It just starts 2 processes: /bin/update (#2) and /bin/sh (#3).
|
||
It then just waits for any of these to exit, and syncs the filesystems
|
||
(Normally this happens only when /bin/sh exits, as /bin/update shouldn't
|
||
exit for any reason.)
|
||
|
||
What has probably happened is that you have deleted (or changed)
|
||
/bin/update so that it won't work any more (possibly due to a corrupted
|
||
filesystem). It isn't deadly, but it's a bit uncertain: The filesystem
|
||
is never synced automatically any more. Not even a "logout" syncs it,
|
||
as init synced it once when /bin/update exited, and thinks that is
|
||
enough. The possibilities for a upset filesystem are much greater...
|
||
Check for file system errors with the newly posted fsck (although you
|
||
are still unable to correct anything with it: backup and reinstall.)
|
||
|
||
Linus
|
||
--[0025]--
|
||
|
||
[0026] daemon@ATHENA.MIT.EDU (Patrick L. McGillan) Linux_Activists 11/10/91 11:21 (34 lines)
|
||
Subject: problems
|
||
From: Patrick L. McGillan <pmcgilla@hp.uwsuper.edu>
|
||
To: linux-activists@joker.cs.hut.fi (Linux User Group)
|
||
Date: Sun, 10 Nov 91 10:11:52 CST
|
||
|
||
Hi all,
|
||
Just an update on where I am at and the problems I am encountering.
|
||
|
||
By using my minix demo disk, I was able to create a new boot disk by
|
||
booting minix and mounting the hd parttition. Afterwards a
|
||
cp Image /dev/at0 created the boot disk. Clutzy, but it worked.
|
||
|
||
Using minix I made a fs on a 1.2 meg disk and copied some files to
|
||
it. When I try to mount it under Linux i get the following error;
|
||
--error on--
|
||
floppy I/O error
|
||
dev 0208, block 1
|
||
mount: error 16
|
||
--error off--
|
||
|
||
I also note than using the new fsck program which seems to run fine on
|
||
the hard disk I get a last line to the aboave error of can't read super
|
||
block.
|
||
|
||
I even unplugged my second drive and told the bios setup program that it
|
||
doesn't exist.
|
||
|
||
Any thoughts anyone?
|
||
|
||
--
|
||
Patrick L. McGillan
|
||
Computer Systems Specialist
|
||
University Of Wisconsin Ph: (715) 394-8191
|
||
Superior, Wisconsin pmcgilla@uwsuper.edu
|
||
|
||
--[0026]--
|
||
|
||
[0027] daemon@ATHENA.MIT.EDU (Marc CORSINI) Linux_Activists 11/10/91 18:31 (34 lines)
|
||
Subject: help installing linux on hd
|
||
Date: Mon, 11 Nov 91 00:23:34 EST
|
||
From: corsini@geocub.greco-prog.fr (Marc CORSINI)
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
Hi,
|
||
In fact the subject says it all
|
||
I've been able to get the minix demo disk from plains
|
||
also the different Image for linux
|
||
I was able to rawrite them on floppy quite easily. In fact the problems arised
|
||
when i wanted to put linux on my hd:
|
||
I used a 386Sx with 2Mo Ram, and 2 HD
|
||
the first one is a 120Meg, and the second one a 40Meg
|
||
The big one is a single partionned disk under DRDOS 5.0
|
||
The other is a 3 partitionned one
|
||
|
||
Using Minix I've tried mkfs /dev/hdX with Xgreater than 5
|
||
the only reponse i got was/is
|
||
no space on root device 1/0
|
||
Error: file system is too big for minor device
|
||
Line 1 being processed when error detected
|
||
|
||
Oh, the number after /dev/hdX was computed as in the manual of the demo
|
||
disk of minix 1.5
|
||
|
||
On the other hand I've tried under linux the
|
||
cat /dev/hdx for x in 0...9
|
||
some accesses were refused (since the partition does not exist)
|
||
cat worked on hd0, hd4, hd5, hd8, hd9
|
||
|
||
Question : Am I supposed to patiotion my first disk in 4?
|
||
|
||
[mmc]
|
||
|
||
le continuum spatio-temporel est une veritable passoire
|
||
--[0027]--
|
||
|
||
[0028] daemon@ATHENA.MIT.EDU (Linus Benedict Torvalds) Linux_Activists 11/10/91 19:01 (43 lines)
|
||
Subject: Re: help installing linux on hd
|
||
Date: Mon, 11 Nov 1991 01:58:27 +0200
|
||
From: Linus Benedict Torvalds <torvalds@cc.helsinki.fi>
|
||
In-Reply-To: Marc CORSINI's message as of Nov 11, 0:23
|
||
To: corsini@geocub.greco-prog.fr (Marc CORSINI),
|
||
|
||
Marc CORSINI: "help installing linux on hd" (Nov 11, 0:23):
|
||
> Using Minix I've tried mkfs /dev/hdX with Xgreater than 5
|
||
> the only reponse i got was/is
|
||
> no space on root device 1/0
|
||
> Error: file system is too big for minor device
|
||
> Line 1 being processed when error detected
|
||
|
||
This seems like the error which happens when there is no /dev/hd?
|
||
special device, in which case the minix demo will make a normal file on
|
||
the root-device, filling it up totally. Thus the "no space on root
|
||
device".
|
||
|
||
What does "ls -l /dev/hd*" give you under demo-minix? Are all the listed
|
||
files block devices? I haven't used the minix demo for a long time -
|
||
could it be that it doesn't support hd5-9? I guess I'll have to make a
|
||
mkfs for linux in the near future, and make a new root-image with it, so
|
||
that we could scrap the minix demo. It is too confusing.
|
||
|
||
> On the other hand I've tried under linux the
|
||
> cat /dev/hdx for x in 0...9
|
||
> some accesses were refused (since the partition does not exist)
|
||
> cat worked on hd0, hd4, hd5, hd8, hd9
|
||
>
|
||
> Question : Am I supposed to patiotion my first disk in 4?
|
||
|
||
Don't use /dev/hd4 - that's probably your big DOS partition (and I doubt
|
||
you want to write over that?). Also *never* use /dev/hd0, /dev/hd5,
|
||
they aren't partitions at all, but the raw disk.
|
||
|
||
The partitions on your second drive are probably called /dev/hd6 and
|
||
/dev/hd7 under minix, /dev/hd8 and /dev/hd9 under linux. I don't see
|
||
why "mkfs /dev/hd6 blocks-in-partition" wouldn't work unless the
|
||
demo-minix cannot access the second harddisk. Some clever person used
|
||
minix/DOS to write some easily distinguishable string at the start of a
|
||
partition, and then "cat /dev/hdX" to find out what the partition
|
||
numbering was under minix/linux. A good idea.
|
||
|
||
Linus
|
||
--[0028]--
|
||
|
||
[0029] daemon@ATHENA.MIT.EDU (Peter MacDonald) Linux_Activists 11/10/91 19:38 (329 lines)
|
||
Subject: patch to use shoelace with linux + fsck and mkfs
|
||
Date: Sun, 10 Nov 91 16:21:27 PST
|
||
From: pmacdona@sol.UVic.CA (Peter MacDonald)
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
|
||
Following are patches to shoelace to allow it to boot the Linux
|
||
image (sorry, no building by parts cause there are no parts).
|
||
This also means that the fsck function of shoelace is available,
|
||
including fsck -m, or mkfs, which I have not tested. Please note
|
||
that by using strip on the shoelace executable, I was able to fsck
|
||
a 20Meg partition. 64Meg partitions, I doubt it can handle.
|
||
In this way, both minix and linux can be run from the same partition,
|
||
with a bit of mv'ing of directories like bin.
|
||
|
||
You will need minix to build these because of the 16bit assembler.
|
||
I also have not tried compiling laceup under linux yet (no disk space).
|
||
Perhaps some kind soul can do this and post executables for non-minixers.
|
||
If you are not already familiar with and using shoelace, please install
|
||
and learn it first!!! The following assumes this.
|
||
|
||
|
||
To use:
|
||
- Get shoelace from plains or wherever.
|
||
- Apply the mxvid50 patches (may not have to, but my diffs are against them)
|
||
- Copy makefile.bcc to makefile and then apply the patches in shoelace.pat.
|
||
- Put the bootsect.x file in the shoelace dir.
|
||
- Type make and cross fingers.
|
||
- Use strip, ie: strip shoelace
|
||
- Copy new shoelace to your root. (Might wish to try floppy first).
|
||
- Reboot, hit enter when shoelace prompt appears and type "load /bootimage" or
|
||
- If you want an automatic boot, edit /etc/config and set "load /bootimage"
|
||
You must also ensure config doesn't allow shoelace to find system,
|
||
fs, mm and init or it will boot from them by default. Either
|
||
move the executables or set them to a bogus path.
|
||
|
||
Why Use Shoelace:
|
||
1) has fsck and mkfs.
|
||
2) doesn't require a seperate boot partition.
|
||
3) allows passing environment variables to kernel (like video mode).
|
||
4) doesn't require kernel patch (byte 508) to indicate root device.
|
||
5) allow you to dynamically boot different partitions and different
|
||
images in the same partition.
|
||
|
||
|
||
Disclaimer:
|
||
This patch is a bit of a hack. You can set your rootdev in the config
|
||
file and it should work. But I didn't implement the bootdev.
|
||
I also did not try to pass on the environment to linux.
|
||
|
||
Acknowledgment:
|
||
Earl Chew for shoelace.
|
||
|
||
pmacdona@sol.uvic.ca
|
||
|
||
|
||
table
|
||
!"#$%&'()*+,-./0123456789:;<=>?
|
||
@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_
|
||
begin 644 slpat.Z
|
||
M'YV09<:@>0,"#X@6(,2\>4-G3D Z+O H<$@&Q(D77K"\F/.BXPD0/A(N;/@Pz
|
||
M(@@>/"R^.*$ "Y^6?!(H9.AP#,0Y"1*@&)("1(P<.6* 8)+&39TY(*B\D6,Gy
|
||
M#!LR<V#"%$FS)-(T2-F\"4.F3,4P=$# P'-C# P8"?. H(.F3,(T;^:TF$,Gx
|
||
MC!PZ=>" D/.F#IVB9>:P !'&3<4V;^P$GHJU#!LS(/J&?0.9K=L[8=32(<B5w
|
||
MC)S 2,?F.'MV<.&*:NJT@8/4\F<74EV"2!+6LAL06KDB/>$0+YR/9-)\MLE&v
|
||
M;1@S=,K( 9&&Y&,0*$3#D'$VA6G#:]N"F).';IDV4\&*Q1.#-(S!1XN> 2$Du
|
||
MR9,IS-TDER,G;T,7(&+S >'D"94B(8 P1AWTE2%?<=MUEUP;S"$E'F)T@8"#t
|
||
M"C;44,,,-J257%9ON'$&?E2@@=5V ]7Q5$)NN?'&5'#P)08;WPU6AF*W%96=s
|
||
M6V;X16 9^"4! F;RK470&F64H5=SVZ6Q&HP@BHA4#3'( ,(:0DQ%I!QN.):Dr
|
||
M'F[-4>*)8KAE8%]GH"'C'' $E(93"(;1FI,@D/%&8&Z<$-88'=9EHV53B5&'q
|
||
M&68H)V 8 KGE9GP@M%%4&A*Y-%6(;N76U7)H'!JF@8ER92A2<R@)!XR$(05'p
|
||
M7)V^6,9U%>$I7U%UQ#759UR!H!Q?<B!U1QILL+%78":&96,8(-3AAABPKA&&o
|
||
MJ;@M! =^4I0Q4UABJ%6I83W2,96DHGY&!QUJF>$FM&J=4<:VZOTX$*@U;58Kn
|
||
M86$!^U<;E[65I6++C3I'J4RVU)(+R>%A+18N=&4&8"!\09===+#!:J/\EN&Om
|
||
MOEA,400554#!1!%.@- #"#3DE--^;BQ'V7;CYC770TM%A8403_@G\1$@:#P>l
|
||
M#&7!X/%^2Z5Q1E%.$4:&9Z!%!MFS)]NT5$M).)$$%2_'O+%T9]W\HUN(*495k
|
||
M6&U]=E!D?@E]XX^9M20QQ5 T_30>HU$G=6]Y;5?774AE78;864S1M-/CE1?Uj
|
||
MQPEZQZ"D7K&;MWG057BA#2G AL544K1,Q1=$%&&%#@F,1=K6<X0![UIYI.FUi
|
||
M&5K! 8=Q2#VK>$R5XS$##$(A-'"M8<&!<'-PW=8A"*]'Z%D:5H\[1DN-^P>Yh
|
||
MY#*/M;J4^QD/@PT0&_QVP@OKT!(("52=0!AXL# "RRX7<<3TU2>6 %0L8 ^^g
|
||
M]=AKG_32+Y\O?F#E-WK&&Y2CG_T8*H=OQ_B"F8^%_@F G__V X>N'6P,:Q"<f
|
||
M: !U%L4!\%[Q:\D#X:"]L1C!"'O;CUW$T!PYV$4M36%#'=SB Q] 2080>\,:e
|
||
MOB I@Y4,#M);G&R.,*XX826!N[.:[#P(K_D(9CMI&D,:!C8&-JDE9%Y+5\I>d
|
||
M0 </(A!B !1(!?%P%@DZ9#WX@\D#458K%HRA40!,WPC6QS3O2=!Z FP4Q*Q8c
|
||
M!BRJ+#S($11;Q(."&2DG#W_Q4+(T10;K3 T$J5F-D*9B&9+YI@5\\0O! %>1b
|
||
MX PG8<:)HQP(J9UGO>@-"(RA!-6PFC14C@5CJUC[9 BQ-LSA##&(80)<$*WDa
|
||
M^&0&+"B/!%W@)B&F 00B8,)6@J-'[O@-!"X(I@AFV4JWQ "6Y8DE,F$ L88]z
|
||
M# L&(D._Z!##@($E#"V))AFN64TQW"N;AO'F'*3W @4$9" %V5H;\&"'-)"Ay
|
||
M!LRDB$HRLI&.K 0DB6*G.^%YDI1<A"58, )?&)2E.\S!!56P0AK&X((A!"$$x
|
||
M=1##&%J OQ 45"X.88IR7( _.:2!7TO)TQM<X)4ZA$ A;G!#&GBD*CS)(3AAw
|
||
MX&@8("JL<86@#6!!@PMRU((PR4%A;@A8&2"J4CF%P%LCQ%((G% &@TY!.78(v
|
||
MP4#AI:LFW.ZI>@%!#GR22@OI8'4@@ (1J. 3H,2@)4&XRT)AI .N8FBK(\/3u
|
||
M:EP0%Q<H2J6-@D).VSJ'-[ !H0IEJ$,MVM2#)G2A#7UH1"=:T8N>3*-RX.@<t
|
||
M/ I2OLAGI"4]:8=4RM(.N12F,J5IENAPTYSNM X]50Y0A4I4=[[AJ&%(JAN6s
|
||
M6MBG,D6J;V@#55LBT-RV=:J. 4(2W&"&I>#T+VMP <5:T(01NJ%008T<=)80r
|
||
MAC2TH IW<(L4<DO5%+2$J08]0R)9TU:Y+JNN=V64V"*JAH>4MT,#.P.!CH6Nq
|
||
M,7P&4YWB$NZ6 H(F+,H@*)@!#A#7DB: )@SB:D$2B-!6'OPD*%C%@0NB=);Rp
|
||
MN& &,[C!#(1+7..")0W)76YS#01=%T3.!RTA EC*T%8<@ "K6A5*E'1P%AV4o
|
||
M!P1': (5Q!9-Y;3UHAPNKAR."V+E5H&YSBVQ=%$ 7J1,04'?\2X6GB"',Q0Fn
|
||
M#7KX<(?:2H5SJG0.A0)!%51*KT[5I88C?JZ\!D/#(1<F#RTA2I;&R3$8S !Bm
|
||
M/@)2<BJR&1!\*C.$221V;L46&P)*.08*"YCO>QO$= 4I0N[O^K! &.P45UADl
|
||
M: F2BJ(J&JTT2$[!3'>$)*!IB0L$*E (6U1 HCFQ@5"&PLZ5LL2&%ZBJKTP:k
|
||
M PM:,IS<P@%7L:X(4!/H.\6)C2 ^JI35!%(8<57$2ZZ&-:EAY*MVC6$,1FH7j
|
||
M" HJ(.Z>1I4B:&=7<ON&KIS$T64(R1:*&Z2VZ P-=.C",+&@:C0@JI"JBB_Ni
|
||
M@%WIBA1E/H3ZBV*:-"*YXA0[O7$0>]PSA9:(P4V!$W<9"(+N4$TM5Q8OY#3Wh
|
||
M&Z0^XV P,:!!9)83@PS]&@^.B=N[%0<ICF.M#._V%5+> (>_=,@I^ D"&_HZg
|
||
M&!\5L#9W($AO#&2';NOV-%>Y3;YU!NZANZ'HB_X"GG9^$CS@P0<BN)YA)"@"f
|
||
MIT/=OE_@BT%/DH<\8+TE=Q"10 +M%MG=*W!]+N2LM12M5CL&UOBI0J?TR):"e
|
||
M>QL[>>C+H-R0S>9DS9"$ 8'$*5YNMP@K#7%P2Y\#3R#%NW/B(K$+&08SASJLd
|
||
MW4U<7WS%,33O2%/!(7JDP>44HGFDH."8,L"##'#0$_X6\F"&T3P(K'"$(*S%c
|
||
M86&I.*'MC4TL!.?0GPD2NU\><\Y[GOA(P0$>/LX<DN('!V/A)[K!+?K&@V &b
|
||
M$IIW2R!U&Q\QVT.!FWNM;^U7ED+G,Z\6N.0)4L@.7<;PEK]+'9S2$O;#: X]a
|
||
MT6='X19-X5'T%1@O-@12\ 5#\ 1,, 6#,04*^ 6-<P7P<1H)N(!#@ 1!( 7Pz
|
||
M413>$2N4T7^B$R=E,#!SUB2!08!VL2:F8BN(YC-=P6=#HART]@)GH!4N0'S8y
|
||
M81==,BZ:=AOJ9VL'<Q<<Q1R5H1W')1#E0G3"T2'P$B0%Z(+_QW;[A6F*\P2Nx
|
||
M<2L.<2/&H34P@AR"8QG"88)(Q08- 1W8)WLUD#@0TW(<M![!D3EDT!3R@6!Nw
|
||
M@16#,4=A(8$:R($>V"#!(D^_XC;U81/]IG@M>( MT15C\&H>9'.W$6F%U$[Zv
|
||
MUS.+5B2WX2?(=U!)(3="YA;)%BL"V(7 4E"->(($XQKW5VB%$2RB(R@*@6F1u
|
||
M<1NW9U^:N"4\\HDL*$((:'X#$1=S@P64J(38HR2JL1VXB%]8YA:O-P-28A#Pt
|
||
MU!-%-(!?LTUUH8M>(W<VZ!@MT6?B]09WD!;?9P,)E':8DAYZ=&G+88EXT3/^s
|
||
MAX HD ,N4 ,)E";+D8D&LFM8\(Q2PFK\A!#8AVH@( -M2)!24DQ(L3%^0(_Vr
|
||
MF#B\^!FA" *4ER@Q!S8=1Q #^(UMT86R0P>%,G-N@"##EWC0^!:*!F4,@@(?q
|
||
MM8O^A5<M(& 9PE\M\@8/]R)J<3O%9P/8=Q9"\@8_,!MQTB%V,B4J,HY#E'_Op
|
||
MJ"OQ:"M+D4"W4T@\21J\\9-NB 60HA9R4B=A$71R<([X9QE=B%,&D5\(6)(Eo
|
||
MAY)A-03]]5_&A@5!(#H( FUWAVT!DY1]1I>OAFT^X0(P "P8J'YW61D$\0)'n
|
||
M(0<;(0=C\ +JUQ(8V&N=!"KJEXAZB7<@, 2FUB4#49=E4)5+MQZ11GF31(QAm
|
||
M8 =]X5&NM'B)TG@Y9QB#X2E+41?R,1A;691")BZU01 N]4A?@R<CT&\MH3"_l
|
||
MV1MY= 9)!P(OX#M,I!QM4$1Z$9JG^7M#QC.ZPBUI\I;4=4O8I5W<Y8U8 %QLk
|
||
M 1%(61$EEQXT0)MD&3R(E00,P(A\ (<Y 8;@08M\9LA,B(C BQ>XABZ8A=,j
|
||
M:#4H4)-DX'F!4W=>8A??5X\S(&7V21# YT2UH1T#4X5F,%#9D9^**2**P7FEi
|
||
MF8>YF7@3>BJ[4C7#^)MV) =X)")Z="R)(7G:(0+O&9_S*0*X03 LNJ&):)UNh
|
||
MT77V%J)?X ::4P8BH#@C4)^98FXPD ,O ,X\ (/)F.I) ,94@54P)9U!YY g
|
||
M !6=TD;*00<T8*13<)I\Z4A<I!:&.5D;@1=D\ +@R42K49]&ZC!849S[5H6Wf
|
||
M@G']059A$AGT<@>HF1RW(2S_AQ04)8AHHB8#XQ5PB@7V"2<'NARJHB=N,$Y&e
|
||
M"B,>4FBK:6XQLZG;%J1&V@*@&JH'$:JD"JJC6JJHFJJJNJJE:J0Q0QT#B4AWd
|
||
M(*NT"@)24 1!0 1-4 2N^GW+ WZT*@>S*JP((9C'UZL"]A,'0:S,.JMVMY<\c
|
||
M<JR,:J0]4*W6>JW6:JNXJJM%H#'8^JW5JFF5$1AAT0*0<0*WFJN[^A$M "Q8b
|
||
M( (D$ ,T&@(;\ZX4)0([<".$]S_G1! G8! (,0=KD :B4R[IRJW0803\YA2Pa
|
||
M0@9J(:=T 8 E7+#V*\6 ;"RXB\0:K#;NJO0T67^D@( )4^\@1$:<4\H81%3z
|
||
M (A?4 1/8 0?$1+HVK%%\!$F8 )(@Y%[1FI_]H5],6CX=WR!DGR*MHR-UGB0y
|
||
MQE]-,&F)>&E;AP6;]EP=XFF)1AAL(&JMH9N9B6KUQFJ5R9>!V8WKUR&XQE+\x
|
||
M")F_!BH8.&RR I**(T-A*I3*YA;GYVS/*FU]1FW,86W85G.)QVT&]VTM\3_Aw
|
||
M=GGD9FX\@&[JMGP@X&YE$F_S5F_WIAV?6:?!%A\ 9Q.\LXOWB12!BW#CHG#Mv
|
||
M\1X.!W$5H9H5=RC9A7&'HG' YW*D1GTA-W(^87*,DG*-NW+C)Z%YTK@P][B"u
|
||
M2'.2B',@H',\)Y0_MQ9!9TA$9W0'!Q6(\IDQ1+A>IXQR('5^A10\8'58IW69t
|
||
MA@74.R[-&W5BI[UE=W98D'8+17Q:XW;R%'?:,9D&NIG0FG=[MQY]Y[E_5Q$5s
|
||
M643["G.N@7C @KK>]WB11VJB:7GCEGDOY7R?IS*$VWWF1GHM87JHMQZJYY.Lr
|
||
M]U*N!WNR1WNT>WNRN4TOM7N]]WO^DJFM2'R-.$1#6[6,Z[CPYL#0)R'3]YK6q
|
||
M)R'9AQ;;-[@)4+CC-GKA-[B[BRG V&SI)[:V1K;M=X0H '\?9C7PZQ;V]R/Xp
|
||
MYX[[QP;]Q\3_%X :V853>(!.-H$-^( 1.($5>('8X8<,"(@?.*G)(8)F0()Zo
|
||
M(3" X8F0 L:+^()3HS6= 7<UB"6.@8,ZR(-?H36]$813HL3X\SQ'B)?&")(Jn
|
||
MNAY.:%E1&!9AS,<^>(74TA):F#5<Z*)E\(61<H+M$J$PMQP"$UMHZ'IK:)!7m
|
||
M*4-PJ#,V1(=V6!>GIH?9(1YLO($=^(%(,8#^=AOZV42>UR[8D<DPDHJ/:!=:l
|
||
M-HFVIQU8C(E&FQ!_,K1X#(I+(8J-2XI?;"C;UE2IB(*BK#4E^8IY@8\B08M1k
|
||
MJ1WZ>!MFJ8**Z(M( 8P+X1 5',U4<XSIR2#OK(W^F$[3."C66$C8J)_-N(WQj
|
||
M*[;?2!#A.(YUAR'G*"^#6"[LJ)19W&V3VGZNYY#W*"COS(\!#9!H(9!HP6JPi
|
||
MC) :@H ,Z=$0"2D2N<T4*7B* KQZ1FH;B05BV79@$9*U2)+X!RPGR4$I^4LLh
|
||
MF<,OR2@Q.6"T6Y,WB2 ZV1)3Z9.; 91"69MAL09'B808#8]<?)9/68M?,]4Pg
|
||
M4)55?959.91<^2-A79([G2EEV8RV@G]I2=1KV99X];9H)9=J\;71BI="1[_2f
|
||
M%@-^"9BR)K:#26IGBIB3M9B-B06/&1"^QF^3B8%^C1^8B<1WBVV>"5^T#)T$e
|
||
M4L&E>9K-08"&J\*MN7G,L1JQ61AT0)M$&1:W64-]MIL/T9MO\)NG$9QI,)SCd
|
||
M4IS'F9P@N9Q#YIS[M1P)/!]WU3,ZJM=8D)UBEEVVVIU:_)W4+9X=YF;(Q2^Hc
|
||
ME9XDMIY=(38LZ[)&T']HX&AB80/JK:WJVJU\\!+0)!#^^AET(=,C<[ >ZRW b
|
||
M1@8 =05C('4]( )@< =C<! %[D_X7;-@,&\;$A:P6M)E$ >X1 +^+74T^MX2a
|
||
M9+$SV]YME3,[ Z2Z8I8%R:3G(2 $0K2Z^!'P6N%C4'II0*W@BJV++,A_=7S>z
|
||
M&N/7*JZ_%R'F:A'&.D3LZJ[P*J\@0*\@8*\MGJ^VD>'R?;&8,[ %JT<_#ADHy
|
||
MH+!JRP8-^[!X,*<2FTT[5[%-_J];\Z !5RY3_K' )[(M0;(<04\HZT\KVX$Mx
|
||
M^[(QZ^.(?7PVB[-8H )\#@(Y.%)HX <)0 4C! )*8"(%"7XU1@,W8&,W4%9!w
|
||
MT1*B^N<[..B%?NBZ(@/@]Q,Z( ,Y0&,B]Z0MP>>D7NJFK@*CWN<T( ,LP.BHv
|
||
M1NJ2;JJKS@(!&:J#&S-%@)5%( 49\V^R8F4[X#$OP&HJX@9<PA=<'8^"Z#V^u
|
||
MIP+E!+ZXKNN\CKG*6!C8VQ7!G@##7NU*YWTC0R1JT2*@ <AN@S 6B5>H]NR4t
|
||
M!@*Y_A_3[NMS<)39ONW%?NP$D93_G"5>P2E;_1E5TS/.WA(K (C,$0",QM.s
|
||
M\!],\ 70V!Y,(_ 9.Q\U$B2][( 0F($4^ 06>,9_^,L[ /$C$$U#1,30CIRLr
|
||
M9F"(@:*ZZ(D!7_+MONL9(RR=<@994A' ]P7P8DK-&.S;OBA_X13-6!%UYR8.q
|
||
MT0:FDH_/TS9X8FXM3^H"4H00,0:"3NAN@>F)+A8PT.DSH ,7 NEGA06BVL@(p
|
||
MPU&67O6(KNEEU>DXH ,TX&*BON>G'O>H#O>LE@.PE ,N5NJQCA!V'TO+<ZHMo
|
||
M<.O4DY1U]'1Z8>1*L_!00 52T!-B8! ;\RQ?L$-!ZD.L! <&X[]+[Q8;LT)@n
|
||
M\09I4/AV <I\/$E'T"&+S,KA)M$AP(B4)/8=B]+(0*E+_@)0/A$=_@;D_A?m
|
||
ML/B-?S63[\P]I!P')0:8#_N@P5^=_P6?'_JY7_M8,/ %;P8'GS0*S_ RX/ -l
|
||
M%_W4L^V] 8L*C'F?.5^2F.X0C_JCK_I?P/I/Y_I1-W5S0/NF/_"W3^6Y7^2[k
|
||
MGP2*S_@]4?$/J/[-3_21OOE'/>[?\F-_=L#]@9WR)?_.'^Y+?8A/__4^_H?Qj
|
||
MTA@ W S.S_!!/_K7R]R8S/!_\('5L+$T1@!#GF$8>24O9O0!P1<SP(RUVWPRi
|
||
MX_&9/AGB].(11YEZE^[L;;I/-P-2R=][>V'OJY$]JF?H=&#:FSU:S^NE.KEGh
|
||
MZI8@"+ !L(0GO3H^M_>>("R)5;:NY!6\YR)"S,WKXPO)P2;LH'FS[K;@(ZH#g
|
||
M7G!;Y($Q2/*DG\$[00CO^C4\]@'Q8@84J )"@ DD ;;DZT"@S.!4V(< VD$\f
|
||
MJ ?Y(,5#8QH//FP,3F60!&%8(81[D-IUP%_V!V/&0$)I-< 1C@ [EB4P7A,(e
|
||
M O^#4_DC%3"-0![%JH,$CQ.Z!3_(J5HA]M%VK.8W,1L(1?S$&K *FZAY0V\d
|
||
MF+$)55$G'(&)L!6V0H,$"PE>C9HS8NT6,1KSQ_UXH2K$>+XL$ G#F($"_* (c
|
||
M1(06* 440UE8*6CANFAG7:*:Z<)-U0O)F2<$A0F 4TU"#V0*3^ <BWZ";]L-b
|
||
M ;(EF]*0,"-'^.:KQ0F/0B_P0\LK@\]P"'P!*[!@OL 42 ):H%MMJK% ':+&a
|
||
MMILZ2V$PX(!SM!0JPLA035(@"#0!9@@0?:%;: (#L2 >Q(3(J2Q'3RJ&B$%%z
|
||
M"(2!(J)D $4L81?QM&7$C=CTF& 3I'L@X ;$ !9P [:*WM."SS!R&($O8 28y
|
||
M0!5860SH/5"!=.@39$ Q7&6] G>($"_1;2+$/W2&'I$],($@, 260$Y8B,7Px
|
||
M11"*!+(Q(.)R0 LHX'9(KI0X4A*16>P)5S$59L4K@ 261A'XBC'C!A1#]>5*w
|
||
MRJ)?X2^/+BUN(H9@;]@B?L! ;Y$9(H1R2#!8X3348=NPU#@SFU +==(QS(7/v
|
||
M;C$^0V!H@1[CJZH!D1$7BJ2O\<]:GF;,BNL0/CS&:DC&+!Y!XHQ30!MN.VXXu
|
||
M&7U(,G1GXE#=845S> 2> %%\ E+@"G0@(N 9;8;WLR]^15<(&<Q0PN(B8^R$t
|
||
MO?$+" &NN 2$HQ0@CM,P!A3#19,<$\)89(X5P3D^PT^(!5J6!.I]':@)J,9-s
|
||
M51Z*H5$P>H)B9 0&Y_2#XD"2X6D\Q$'D"G$4.$RCJ<(!5]#%D*HE:!.I($Z,r
|
||
M 3?@!L02 #D%Y]ZZBQG;#@EH'N:('RL?\?.'NG%3^;JE< :R73&T%[3C=HR,q
|
||
MW'$GNB%^L!%C( \\HH5BS9 /1^14OFY U(JEX"&W'64P ]\OKA"(OK(<*E1Np
|
||
M&3GKH>4%B!8X$.Y"9.!$6R U=@&>QVJF68BK9IQH:+W(305MC*18= -K8 YLo
|
||
M@3P8!)S $I".56 HCL0BL"3#XC43%)&JNJ@4/7(E$\@L9'D9L@_,P"H8 P9,n
|
||
M+,D!4F) ID"3!P(DY$NAD'Y&^(FO6H$A62"UXY UDM6 R/(W(H5#A)B%)U+Im
|
||
MJ$B%4>"BI*"(BS$C1NY(&BGL6,V-S)&004;R2-QAH3@D,QR2K<9(VJ0_D20Gl
|
||
M$'DLD]O.25JO7&0IEP.F3)70XM5@22W));TDF!23")%,,LD6*273Y*)@D[K2k
|
||
M379#."GXY"3)BW,+B+R9-_2V/-;;F<-P\0V=G #ZIBZH&&0X<_H-1O"WEL#Bj
|
||
M MR *W"%RI],N1.PX+X1N?)54/ @1+@)Q^(N''P+(&%NRG4XC_+A,%%"6QU0i
|
||
M<##(2!1GEE0<A?MO+:Z"O3A&=>-PW,:X;#;.8>8XJ#6N>-RY@IA [B (N7@Uh
|
||
MK^J5"+A72DY>,#EMB;$$%L'Z-;U$L-DE&U?E%A:6*P-<0<MQ.34'3;Y<-@ESg
|
||
M&(O,::Z4&6U6)N$#672 9K(YD^41^HG*&F]T#I_P!I7YU\Q GFMA@,+ B0$Af
|
||
M,(X\W'R:$ROR"+F JQD0% 9'<8)6DRYES3&0 *: L'@Q1L(2OA(;DTIH0 U0e
|
||
M@F#/5&U-L>DUR:;9O TP1D*L34]'8S+$VRN0/]'IN4U:=])@7=Q$"(,32@ ^d
|
||
MP7<P_D*!,TWN9"^<32B EC2;)*,ME(%I #HM^X:)XN$G,]F7'2%HD,Y+>=Kc
|
||
MPYRO;G/.P!98%QRGX@%]H1-0D<[*^6\$9C=,G1NPW+E.T&E([$#%*9VU$W7Rb
|
||
M.=7).%LGBRP*C>='Y:.!< <<25BIG+42U1#/DN<Y'R?L#!:32GP]G>=I.FTGa
|
||
M@AJ>G)- %D@G: -R $\4.3]15-V \W #,H2>?) @8 ]T'=$Y(T3 8! !0&ISz
|
||
MC,Z%XA:H9 VI9%"H:M$%C[*BD,+^Q#;V\S'VAM'9!_@1_)2?,D][VH$$BC^#y
|
||
ME&?L"M1&3#R=)^0&+IDA4@\)U#-NJ@@J.QNHH92?+>+?$!T**D(W50H-$@"Tx
|
||
M@PK0)J(>XM]@:*%^AH"64'ZT"^,G$)LXZ(:"5IQU(Q^Z0 NL(02L*[P QK4%w
|
||
MFE3(<5(V0-[<T&G8&WQGXS&A>W(/E+@MN@)+GK,$7^+3)CI!&I #:D"KPWL-v
|
||
ML@J2404));;*^Q2&711^QE%.I2T(Q&V 02PBZX B#?LZJ#70J*G#=WXT6>Wu
|
||
M1[E?]7R=D;.*5APC( .Z9Z Y [I&>*H TU!E[("4&7A[P &VF]\%;^:? Z1Rt
|
||
MC[3 A02A<$FI1P+H#5_ BG8%%! [<(9L -;( 9T@>E92.D?X0NE^$1*E-($s
|
||
MD$FY7TZ086%A8[322KH%9, L)8 YX98"4V^E-]^;[[I(U<HGB!QGNDRC:5K:r
|
||
MI3D!E=J!Y8,"JNG&<#%!:2Q$"1#05KRI- 4!X90\"(6V(DYI0.Y, ',4!'11q
|
||
MH24UJ>;(T1E<,]]HS7P*7[XF3@R;FTF?VLVSF3?=WM:+ 6WS;0)!N<E/B0O9p
|
||
MNYMH,ZL8U$[WZ7Z@60FC3- ))D@6@ /^D>%4GPJ20;Y1W7D\@X1#\$_RP@X@o
|
||
MA=*),:P JO&>MO(U!0G-R3E9YX<I</!.@J[4RME27ZKPA*G2LZ:25.L9.4DHn
|
||
MT=FI**"G3E+A24N'*B*-G:K4+0#/RSD+<>><I)[&L\"-OTA4.U#-&" N<&#>m
|
||
ML9JM^LS\#.B3#Y=2W6%4N><$\20+R &/+GV:JKX'%!9G%IV?LC.$<BK\(4&Ql
|
||
MZ /%JZ-3KVXJODH'&*@#Y53RLSZX <':"A4K%NVA\E."":DIJDBOZ&'=5%HTk
|
||
MGGY1&@@X#:33@X(?QP;0 *$@5Q&":#T/ZBU/9D'X2?A0P&UXF# S0QU5T3<8j
|
||
M\J>(,IW24RQL3I#P-*0,_(P9=11+&**5*/I:@ \XJG!@"[B!+C 83D /. $]i
|
||
M8>#%@-6YJ8+K;4 !555SBH4\*O#XZ-S;A7\4DP72QC-(NZLAS:I/M7<NTD8:h
|
||
M/%UI),VN2]656E*(UTMMZ2:-.9[4E]Y2]XI/2.GY.Z7C(I6B&U:* 5DI,96Eg
|
||
MM/230@=<&A)TZ?FKKZ:TFK(+T&=@7VDQ/:;_59ERTF#Z34$ -=VPS'1V?5AHf
|
||
MNC&NZ7\%L'0@E7)3<PI.\X:4**<@UIJ*G'2*4,EIWG"GR%2S0DW(0%&F9M7De
|
||
MEURS?MF;N<DT=Q#8!+*7#0V438*:-O7F,;$Q6\]MPDU1161[)H]0LA"UH*[-d
|
||
M&5,#MLK?[*QS3W#N1,7Y$\N@&2(8.$5@?0&BAA30S1?X%V9V/(+"+Z 'O21\c
|
||
MJ+-?DCP*OM_T#)V 1BP"!C%8\H<_^P7T+!8($+^)TW3!';78$M-BPI%+#(ZQb
|
||
MP4-K#!4M&F2TA\G1+E&.T-S0P+Q!M/'A#'K!1MO8-BU\^A.3%M1:VE&;:4LMa
|
||
MI$6>72'55EHN>&EQ":E53*:V\^"C25L&*9;'R G;+JD9!,)& PR;T',,XFA*z
|
||
M)EI:B[@4AJ*X#V@ Q6C!4+MHS\U_B;1T80=)6U$U6FE=ZUBMO/#,=L(TNT+8y
|
||
MK I[LWM6W'[$.8MG[VS2R+.@,-WV64([)@?MKBJT\9;2+EM1NZ."B:F]-1#!x
|
||
MT[8$5<ML^^W6A+2=]M/.6GZ+2_PMI.5$LG;?5MLA=7 Y JR]L@I7XM9:BIMKw
|
||
M\\)&$;A:T-?^VF#[7_I2L4U$84(KC"/G2&UK+0]PMLWAH$3;=+MJW4+BNK8 v
|
||
M5]ONV'KZ8_'I93,(598S180CZW.++!Y8LGBSR4Y4A,KV0MU%/9S ),CBG:.;u
|
||
M997NWK0!7V4'1CJZ!SC'J!GE)Z658WQ=U0JJ;)\S@;,Q8Y4\0YRG)LVN*DP t
|
||
MJ=2=^+SS)U3,H0M)L5&5[JY=;;I\W&Y67'_C@H?X7;O;&P3OZ:N[@ 'NVKN<s
|
||
MMQ3@#-<=GP>RHR[(N/I1356=I $L0 ;4V)&: /# 4A@?V8,,-(IU=_OD0^J0r
|
||
M)24/OM$_3@('$@ N^A>UM&!HTQX&#WVIYY4#UR-[^ _Z5T1RA>N= W; O-(_q
|
||
M^]'J4(#QVZ7_YO0RD]J[>E>#Z]46PE?V!MAMFB=B2.SMO)\W?>Q>ZM%[V<#Op
|
||
M#;[,EWH07QI@?$G?^4,?9F($B-.O-WS%Q^.;(N9!D](!Y6M>22_K?;Y "(RFo
|
||
MW@1 0]H%8A 6DP$R&%YH.>?*&Q80"-12O64(C D9L*6&XY;V#3(P8-Q17<1En
|
||
M?T.8YI+ &;B38!$8,+MD<.\R6;G1>;GB$*:]')G^B@'O2YU!G;21"!:8)TZ m
|
||
M-B.#62\59C;9<F%A^;8$Z+:=IIMN\4XM8=OQ8.FV77XP&Q@,S46EK)U2M1>Nl
|
||
MVWCR,-OM/'DW-6,@A HS3#'O 9@$$T/U%UC7KN@9%:=#((ABAT@T41-Q;9AKk
|
||
M5MB'EC MR ",D .HPFIA+2N&<<($?L"AFZH%2(&CX! PSA7 %0I#<[R1Q5%.j
|
||
M+%;)++(?:2($CHM 3SA"T0P)E^TC&<U_X@3%9C]E*!YNT*&!.L ?$D->% N-i
|
||
MKN1P/:W[]425)7:H9#-$<&(GX(ESHEC8>EV6[;F]IPMFPVR?6Y\\D?(:2)NZh
|
||
M.Z^G>;$_0:)T#M!C)B""GY%<JL$3ODY/7OPYK^>SL*W<,QG?3O!I^I@Q4:T(g
|
||
MBC4:4]5I3%--7X XI#)/9]0\$U<@Y,/HY)Z@<WI^8_0:CFE>X,!-Y[AT9M=Ef
|
||
M[%1Y)V%M7E/U="ICZ&>-TRMAC<>T<QM_SVX\/9QJ3D6I1Y5[*E6@BHQGZO14e
|
||
MG^SST>G)?FR/?0TP#@O"V)@AHO^V0\)"0];'W)@>'U+>^8PM:#YFR 2Y<Z)7d
|
||
MWIF-3[(D5<?8<^:-XX&9: R"DC'T"] M.-Q#(]G!/><Q_RX'OOBZN62]W$Uc
|
||
M%LJ1\Q_[Y*(<DH/R(3W(LO7I(-6%_%.I74JNQ6,T!IC154=:#>>F8C7S\.ETb
|
||
MJ5JV!C:?#G@6'9G4 (L#FB)4@T\IR,PP9@Q<I[J3 P=--L<^&8.@ "DCE]==a
|
||
M+X615&X.E67O8P+ZY'"$'$E@"BP!*<-MM7*KT[QV]2M?IJDUE@6S64;+YJ[/z
|
||
MK.49P3^WC5M6#G"YY?5EG3RIQ+%=CL%XN>CH9;Z<'_PR7.9J*, R$V;#?!T1y
|
||
MLV*6,E@9)ZXZ\TD#9L#;_(F2>4\Y+3XC-P9#-TP5C:<BO$>?XB"TAC!3'%_Yx
|
||
MV8UFNER:W7%%Z,FJ.09@UVE,FV:$;67-!?DO:\@@,3K?HX<LAO)EW#42SLR7w
|
||
MEG-:5:.>KM7YYL@<,UB-</Y9Q!G1&&?=L_F4\V=>%YOL.8=FZ=R:2;-,?L?Tv
|
||
M,SMOY^_9G>W =R[(X?DU^[KRK!K.\[9+SV]G/;>3]OR?F:'3HTL<A:[PRP1Pu
|
||
M!0('*RXZ3U LK#UH]%5DS-,UQ9MI"&[B3HRB'QV3LC%8=]7!S=SL],J##8@Et
|
||
M-3;L^F@@378#GTJ^J<6+"!"!6V4WAL(N@0)GE0Z(57,1@_+6+OD:(2HN.]5<s
|
||
MM:2+0)-F M]"EW"%*?UJ(L0!(1(5(4N+9J=:5<4T&9@"SR-1[A%_@Q12@YE^r
|
||
M'N5B'#[E("%GZ@#DVZX0^DB[3@.1C'YQEI /2$'8ZI6[,"S5U]I)RU8Z5JSIq
|
||
M0SJ,-[(Q]LC"=@B8@; *;,>J9Y,O[2LS$P1)X:'!K!/4= I2!NCHL*OI/HZJp
|
||
M%CD3N3X3Z"[:EP<>62U_*F *=*BP'%^@0!,YRGWT0;*:)_!<1)E%$B]EM5*4o
|
||
MCEQT@@(%951MD8HOZ KWA8#@%U8(S;A#6&BN#D%P((VV+G]AXL.]";< *W2%n
|
||
M5X)*D$%2E MAJSAX=)\S2*S.(.GBN2>J#!+FE5(E+0O&#/$<,ZKJ9U(A<OI6m
|
||
M=]4LK4*T=+_^U.2OJWY5,Q"P$397O1WC,&;H:L7 JW6&KUX.&\,$+.RC7)#El
|
||
M85M (.4.9*,):;.F,R654]<=)DDB@2=0!+;B$""3+N!,,U,8T!-ZJ;MF-39@k
|
||
M>; &Q"D*Z]I35([NT[29X(4/!Y'TG@"T@4#A2@11]@&=*"6?IMQ8H@2[S$>j
|
||
MTL;R'7C QP:E5Z@'5/ST7B: =?DZ)^BO#?$*\IY.GB&C(#>LR60$M'/T7*K'i
|
||
M-U#?["<H Q2D:.W*N[@U"\-;B@*T@H?H"2B U:" L&V5 ;<)J)SS."&0OBW@h
|
||
M)W %&5BS$&>6@@#IRIH]HP@L D. "@#'0$L2C=S2;D8U>RX+PQ=*!\R ZRL!g
|
||
M^HNX4$HZ)>*>L':K'5Q@L0Z&$/6=O?$T]-MG@/76$?K >D%.3FZ%731 B.Y-f
|
||
MA2,1R!> 7AM#<!-N7Z==4<#A7M"VTO$M[L;]%""W0U@!QO1W<ZKBO4+@0(%+e
|
||
MWM!A>3MDZ/"\$_?Q9=QUP'%;[S*P F@ AJ6TVQO,K!#\(3.4=W4>Q\S;<"/Nd
|
||
M:2R]4P#Z5M\/YWI'T=\]O&.&\2L*?UIB9.[-/2:/L@H,U)S*^(FXA]F,*$/@c
|
||
M/KY;XX"[ 3Q@^D05%,2\ZDTBZVN]W0KY-NX&W/;[0 \SCZR_H7=N/=_4^W$'b
|
||
M\#(@N2GW:YZ&EWN!+Z!ZZ[F!C5D*W?";3[I0'6JZ10#JUFB@8Z&P[H3FNHE,a
|
||
MAXC="91V!RGMW0IQM^Z>%;W;)Y0^(3D-";<*: .=HXG(C,%]OP-'_B;?^_M[z
|
||
M]N\M $]PP/M&E7MU&H-QOL 09 8"G /5<%=_ZHO- D0 '2^L]9.* V;H,$#'y
|
||
MP&I 7-\)/3Q9Q%8-V<!;X5?/(QC[ D;^A(Y0Q#DF^H4!G%A&,EKSB3'HX_<x
|
||
M9$.'3B[&HRG-#N7Q$S;+YJX@9> X#@?CGEQF1 XK\ 60 !% "P,/,S-J5!XSw
|
||
M-+DKW]M4S@VX$*.Q+DIL&^+ED!R6E_+Q *MLMPCUY7B8E']RV1,#QH S!]ZHv
|
||
MO$__Z>F:S9]TE"X>:,,\7/,(CC+_-"C?Y/+TD5.L^(G*N??Q7D@$B8RK\,*-u
|
||
MQEVX=H7AZ;MZSW#L_<:GH3OWWO4[?)?Q%9Y;G7<:C]Z*VW_'\/7=OONY,'3Gt
|
||
M]!M\RW/33-";=_GFWPG]?^MSB+,"!O@XWU0:/(%C;LV]PX/E1P_>)/R!K[O7s
|
||
M+,$3&@7G$A8\U9"^#%[.3=_<%JT@O :@3Y_]!'$Q3Q+A9?>W=IO1L1D.^@O7r
|
||
M"[F\G \&-PVE@V=+YQ)!>7O[\(1V$"(?:]AY-]Q)<X6F'B16@%4W2XY0E*, q
|
||
M;0X";A9T8.I1NEI)AR%0'4HI8FW-/72OTAP\\@:,^CU'ZB]FI#/P8#D84 "7p
|
||
M9M*Q49R:APBDUTMZ0LR=PA"M^[JS41X:8EA/YT+=N@)J.0K!!^M<+^KV7'I/o
|
||
M;L6-P)>Z-P^>$]TZ8ZZ>\+FAN@.W7!/<)SA"PJ?-W3J5?!Y=&P^0;?@IV8OVn
|
||
M%SC:D>,HT^K6_*&-KHCV)"6Z(ISHF)$A-"_7:W0&:<J:JI^KB5=Q*[;1H9@&m
|
||
M=#JT\&4[ZQB] 1^G[?UFKTS" >P9"" J(^T2WYDX)OD&#]%&-F(-B(&Y?$HCl
|
||
M2NZ=(JJ';W@&FO,$18YZ9^^GX;V/@!8P%N)[ M@/@J:1B*-])=[%QQ?1'D.@k
|
||
M$"Z!*0 %=MT2J!*D-SUYWR\B-<Y[ZU8ZE#)+%F0 DD:DQJ/)(V7UBEPR-8K=j
|
||
M6QT.>)NQ>L-?$?"^X<>[1BSO_WTO: [T+H36.Z5M[V) OX^%5QCCY[M>B!(Ni
|
||
MYK[?^/PN1OC[]+$9,3[ #Z4[0.#%KX'/'B,@P>_!!=_@I<"#;_$FPO4>7?,^h
|
||
MXR^\@,CPX=W)[X\.+]_)%<\H?R(^T53B@%HW?_MW5\4T^A/3#!NSHF?QUH71g
|
||
M6+-N-O<X[XIA@'3W*EVONG==G'@#,&]/3*-0M]!SU'P=U!'K%AT,,&"W?]%:f
|
||
M'?&TML"&V!.[#%3L,W"QCS+H--ML_I:L9KEMJG$B@.2H>8^GXP#,.QJ&-NI4e
|
||
M[V0 22:-.T@%A$"8- *[;DR6R6(([C:8T#N3MI) 9\H@D08L-*LI"EW!(*QId
|
||
M5)CI-_W%EAD:^U.?=JB(AK9J&7#>GRFJI_3C!AU^SBQ$ 2<@=D/7?)6O@+C3c
|
||
MPRE$(D2QDFM#HDUT*\X0-YH&2/>3M% 1 KI713"BW0OW=Y_HFJZ-D1*"'O(Zb
|
||
M/8/$ GH@HD^[IW0SR8F#4I9B=(&C2V( 1QXA+K#A$WZ>_R@//Z!>8KLC\0L<a
|
||
MQ2>]%O\$R>\C1)?^G!@@^9LIYTU\]A[R%0680?ES0KGYT[X<,Z!57K!):J 'z
|
||
M) ";?UX*\JU0*<\"Y^M\NM06N )=L6) ?R30E2I(\ U^K,ZF"K^N-/PY ?.=y
|
||
M1<<' 1\?X=--C&]W!"K'/R@>O^+3)>Y=]4U^U5?Y8?_&MWRLP% R?LQG3D?Hx
|
||
M6:2+H;O2UQW/%_H['];DA:6_[GY^&@CZ8B#GA_RB3P:.OM\W'2OB\8I1G.B;w
|
||
M6QW>GGM:/^H?E,!&]2F_U9_\6%_LA_JC?XK- .??3!*?(&1]4SKV1[[E-_N6v
|
||
M7^6+?I9/EUP^)K8[,C_QTWQ@,@5N?1+ EZ:<AQ]DS#S@0D>H"LQ1%0U_M%*u
|
||
MGZ'^G%CXG[_RVYV(C_E'O_'OFA_%\NM3RQ_Z,S_(+_T()/FW$:UP\E/_=SCZt
|
||
G'S] /'_7K_UC_]68^[*?A+N VG]!;G_N7R4$@??_CG47$8"_ B@Gs
|
||
r
|
||
end
|
||
--[0029]--
|
||
|
||
[0030] daemon@ATHENA.MIT.EDU (Peter MacDonald) Linux_Activists 11/10/91 20:34 (39 lines)
|
||
Subject: shoelace patch #2
|
||
Date: Sun, 10 Nov 91 16:57:48 PST
|
||
From: pmacdona@sol.UVic.CA (Peter MacDonald)
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
|
||
There is a big difference between floppy the device numbers on linux and
|
||
on minix. In particular linux has fd0 as 0x208 while minix uses 0x200.
|
||
ie. linux /dev/fd0 == minix /dev/fd0-dshd5in
|
||
|
||
The following patch will keep linux from using 0x200, which it doesn't
|
||
know about and instead use 0x208 and 0x21c.
|
||
Apply this after all other patches.
|
||
|
||
pmacdona@sol.uvic.ca
|
||
|
||
|
||
|
||
*** shoe.c.bad Thu Nov 7 08:43:30 1991
|
||
--- shoe.c Thu Nov 7 08:52:27 1991
|
||
***************
|
||
*** 638,646 ****
|
||
longjmp(errjmp, 1);*/
|
||
unsigned *myptr = (unsigned int *) (&((char *) bp)[508]);
|
||
char *myroot = getenvs(SaveConfigPtr,"rootdev");
|
||
! if (strcmp(myroot,"bootdev"))
|
||
! *myptr = atoi(myroot);
|
||
! else
|
||
*myptr = 0;
|
||
if (*myptr == 0)
|
||
{ if (diskcode)
|
||
--- 638,645 ----
|
||
longjmp(errjmp, 1);*/
|
||
unsigned *myptr = (unsigned int *) (&((char *) bp)[508]);
|
||
char *myroot = getenvs(SaveConfigPtr,"rootdev");
|
||
! *myptr = atoi(myroot);
|
||
! if (0x200 == *myptr)
|
||
*myptr = 0;
|
||
if (*myptr == 0)
|
||
{ if (diskcode)
|
||
--[0030]--
|
||
|
||
[0031] daemon@ATHENA.MIT.EDU (Marc CORSINI) Linux_Activists 11/10/91 21:10 (14 lines)
|
||
Subject: help installing linux on hd
|
||
Date: Mon, 11 Nov 91 03:07:38 EST
|
||
From: corsini@geocub.greco-prog.fr (Marc CORSINI)
|
||
To: torvalds@cc.helsinki.fi, linux-activists@joker.cs.hut.fi
|
||
In-Reply-To: Linus Benedict Torvalds's message of Mon, 11 Nov 1991 01:58:27 +0200 <199111102358.AA06456@kruuna.helsinki.fi>
|
||
|
||
|
||
This is it, there is no hdX with X in 5..9, there is at 0 and 1
|
||
ps 0 and 1, tty, and some pat devices ??
|
||
aarrrggghhhh :-(
|
||
it seems that i have to keep on "playing" with linux OR <any idea
|
||
wellcomed except the "do a partition on ur big hd1">
|
||
|
||
[mmc]
|
||
La vie est un long fleuve tranquille ou il ne fait pas bon ramer
|
||
--[0031]--
|
||
|
||
[0032] daemon@ATHENA.MIT.EDU (Bruce Evans) Linux_Activists 11/11/91 01:06 (46 lines)
|
||
Subject: Re: Looking for a FAQ
|
||
Date: Sat, 9 Nov 91 18:16:35 +1100
|
||
From: Bruce Evans <bde@runx.oz.au>
|
||
To: Linux-activists@joker.cs.hut.fi
|
||
|
||
Ted Ts'o writes:
|
||
|
||
>N1) The Minix demo disk which you can get from plains.novak.edu only
|
||
>works for 5.25" disks --- this isn't documented anywhere, but I spent a
|
||
|
||
It should work on 720K disks. The Minix /dev/fd0 does not support 1.44M,
|
||
/dev/PS0 is needed for that, and the demo disk has fd0 hard-coded.
|
||
|
||
>N2) The numbering convestion for partition in Minix and Linux are
|
||
>different!!! The way I dealt with it is to use a disk editor to write a
|
||
|
||
The Minix hard disk drivers sort the partition table :-(. This problem
|
||
goes back to DOS 3.0 (3.2?) and before, which have a different idea
|
||
about the partition order than 3.3 (but I think it is just a straight
|
||
reversal, not a sort).
|
||
|
||
N3) ...
|
||
>It would be nice if Linux understood the DOS extended partitions, though.
|
||
|
||
>[ Note: whoever decided that IBM hard disks only needed 4 partitions
|
||
>should be condemned to recabling machine room floors; CP/M on
|
||
|
||
Kai Uwe Rommel says that extended partitions have worked to solve this
|
||
problem since DOS 3.3. I wonder where this is documented.
|
||
|
||
>Q1) On nic.funet.fi, I found sources to shoelace, which seems to be a
|
||
>way to boot Minix without needing a floppy boot disk. Is anyone working
|
||
>on something similar for Linux? The other interesting thing about
|
||
|
||
Since Linux uses the Minix file system, the shoelace binaries should work
|
||
immediately. The sources probably require changing because of different
|
||
header files.
|
||
|
||
>shoelace is that it came with a file "shoefsck.c" which seems to contain
|
||
>the necessary code filesystem checking for Minix. However, there's no
|
||
>copyright notice on that file, and no email address for the author,
|
||
|
||
This file was copied from the Minix fsck.c so it is presumably copyright.
|
||
Most of the rest of shoelace could be used by Linux without copyright
|
||
problems.
|
||
|
||
Bruce
|
||
--[0032]--
|
||
|
||
[0033] daemon@ATHENA.MIT.EDU (Linus Benedict Torvalds) Linux_Activists 11/11/91 03:28 (24 lines)
|
||
Subject: help installing linux on hd
|
||
Date: Mon, 11 Nov 1991 10:24:45 +0200
|
||
From: Linus Benedict Torvalds <torvalds@cc.helsinki.fi>
|
||
To: Linux-activists@joker.cs.hut.fi
|
||
|
||
Marc CORSINI: "help installing linux on hd" (Nov 11, 3:07):
|
||
>
|
||
> This is it, there is no hdX with X in 5..9, there is at 0 and 1
|
||
> ps 0 and 1, tty, and some pat devices ??
|
||
> aarrrggghhhh :-(
|
||
> it seems that i have to keep on "playing" with linux OR <any idea
|
||
> wellcomed except the "do a partition on ur big hd1">
|
||
|
||
Ok, here's one possibility: mount the /linux/ root-floppy from the
|
||
minix-demo, and use the devices on that.
|
||
|
||
mount /dev/fd0 /dir
|
||
mkfs /dir/dev/hd6 partition-size-in-K
|
||
^___ 6 or 7 (minix numbering)
|
||
|
||
This should work. (I hope). You should still check which partition is
|
||
which (unless you don't care).
|
||
|
||
Linus
|
||
|
||
--[0033]--
|
||
|
||
[0034] daemon@ATHENA.MIT.EDU (Kurt Wachmann) Linux_Activists 11/11/91 04:24 (55 lines)
|
||
Subject: About mvdir and linking directories
|
||
Date: Mon, 11 Nov 91 10:04:54 +0100
|
||
From: kw@dde.dk (Kurt Wachmann)
|
||
To: Linux-activists@joker.cs.hut.fi
|
||
|
||
In reply to your discussion about keeping track of parent
|
||
directories in the kernel; the answer is: DON'T.
|
||
|
||
The filesystem should work like this: Directories may be lin--
|
||
ked and unlinked by the superuser only. The filesystem code in
|
||
the kernel should not check the correctness of these opera--
|
||
tions, except for the root priviledge. The superuser is suppo--
|
||
sed to know what (s)he is doing.
|
||
|
||
The file "." is a link to the directory in which it resides,
|
||
and ".." is a link to the parent directory. This should at
|
||
least least be true after an mkdir operation.
|
||
|
||
When you issue the mkdir() system call, it should make the
|
||
directory and the "." and ".." before it returns.
|
||
|
||
The mvdir command must make a new link from ".." to the parent
|
||
directory, this is not a kernel task. The SVID manual also
|
||
states, that neither the old or new directory may be a subset
|
||
of the other. This must be checked by mvdir. The kernel should
|
||
check that the link is possible, i.e. the files are on the
|
||
same filesystem.
|
||
|
||
And by the way - yes you can have several links to a directo--
|
||
ry, though this is normally not wanted.
|
||
|
||
So the approximate code for the mvdir command is something
|
||
like this:
|
||
|
||
mvdir( old, new )
|
||
check uid == 0
|
||
check that old is not a part of new
|
||
check that new is not a part of old
|
||
link new to old - if this fails it's probably diffent
|
||
file systems
|
||
link the ".." to the parent of new.
|
||
unlink old.
|
||
|
||
Note also, that the rename() system call, should be able to
|
||
rename a directory, but not to move it.
|
||
|
||
|
||
I guess I have said enough for now - and that it makes some
|
||
sense. I do have one question though: Is there a reliable
|
||
ftp-mailserver out there? I can't do ftp, and I would like to
|
||
join your effort to make a PD real operating system.
|
||
|
||
|
||
Kind regards
|
||
|
||
Kurt \/\/achmann, M.Sc. EE/SE
|
||
--[0034]--
|
||
|
||
[0035] daemon@ATHENA.MIT.EDU (Theodore Ts'o) Linux_Activists 11/11/91 04:27 (76 lines)
|
||
Subject: Re: More answers
|
||
Date: Mon, 11 Nov 91 04:21:55 -0500
|
||
From: tytso@ATHENA.MIT.EDU (Theodore Ts'o)
|
||
To: Linus Benedict Torvalds <torvalds@cc.helsinki.fi>
|
||
Cc: Linux-activists@joker.cs.hut.fi
|
||
In-Reply-To: Linus Benedict Torvalds's message of Sun, 10 Nov 1991 18:09:31 +0200,
|
||
Reply-To: tytso@athena.mit.edu
|
||
|
||
Date: Sun, 10 Nov 1991 18:09:31 +0200
|
||
From: Linus Benedict Torvalds <torvalds@cc.helsinki.fi>
|
||
|
||
darken.@cs.yale.edu:
|
||
> 1) mv doesn't seem to move directories properly. It looks for
|
||
> something called mvdir and dies. I want to fix this right away,
|
||
> so I'm goin to start working on it unless one of you drops me a
|
||
> line and explains what stupid thing I've done.
|
||
|
||
This is a possibly deficiency in the linux kernel. I don't allow
|
||
links/unlinks to directories, as keeping track of the parent is too much
|
||
work. I /think/ it's impossible to allow a hard link to a directory,
|
||
but I'm not sure. Anybody with ideas is free to mail me.
|
||
|
||
Actually, some friends and I spent a lot of time discussing the very
|
||
topic tonight. What we basically got out of it was this: 1) Allowing
|
||
links and unlinks to directories are a bad idea; it can potentially
|
||
completely ruins the fundamental assumption that the filesystem is a tree.
|
||
2) The right way to do this is with the (as yet unimplemented) rename
|
||
call. However there are a number of interesting locking issues that
|
||
come when you try to implement this cleanly.
|
||
|
||
There are a couple problems which rename has to check. If it is moving
|
||
directories around, then the source directory must not be a parent of
|
||
the destination directory. (If it were, there would be no way of
|
||
referencing that part of the filesystem after the rename.) It could
|
||
check to make sure this was the case, but unless you actually lock the
|
||
directories against another move, there could be a race condition which
|
||
could cause the source directory to be a parent of the destination
|
||
directory after the check but before the actual reaneme operation, and
|
||
bad thing would happen. There are also other race conditions (not as
|
||
sexy) that happen when two processes try to rename a directory at the
|
||
same time, and when an rmdir attempts to remove an otherwise empty
|
||
destination directory.
|
||
|
||
We talked about trying to fix this problem by adding a minimal set of
|
||
locks which would be required. One included just using a top-level lock
|
||
on the rename system call, so that only once process could call the
|
||
rename() call at any one time. This solved the problem, but at the
|
||
cost of losing parallelism for the rename call. We also discussed some
|
||
other designs, such as locking up to a common ancestor in the tree,
|
||
which might also work.
|
||
|
||
-------------------------------------------------
|
||
|
||
Speaking of hard disk corruptions, I've found an easy way to get Linux
|
||
to corrupt the hard disk. Simply follow the following instructions:
|
||
|
||
1) Copy a large compressed tar file (I used snapshot 312 of
|
||
gcc20.tar.Z, found on dg-rtp.dg.com) to your linux disk. I used kermit
|
||
to get it over to my PC and mcopy to get it over to my Linux partition.
|
||
|
||
2) Run "compress -d < /tmp/gcc20.tar.Z |tar xvf -"
|
||
|
||
3) Afther this completes (it will take a long time), run fsck and
|
||
notice that there are alot of unused inodes and zones which are marked
|
||
as used, and one or two inodes which marked as being free, but which are
|
||
actually being used to point data on them.
|
||
|
||
4) Do a "ls -lir" on the new directory created by tar. This will
|
||
almost always cause the kernel to panic: freeing inode: already free.
|
||
|
||
I suspect it has something to do with the extreme amount of cache
|
||
thrashing that has going on because gcc.tar.Z was a huge file. I
|
||
haven't had a time to look at it, but people should be aware that a
|
||
problem exists.
|
||
|
||
- Ted
|
||
|
||
--[0035]--
|
||
|
||
[0036] daemon@ATHENA.MIT.EDU (Kurt Wachmann) Linux_Activists 11/11/91 08:06 (22 lines)
|
||
Subject: About mvdir and linking directories
|
||
Date: Mon, 11 Nov 91 11:35:36 +0100
|
||
From: kw@dde.dk (Kurt Wachmann)
|
||
To: Linux-activists@joker.cs.hut.fi
|
||
|
||
In reply to tytso@ATHENA.MIT.EDU:
|
||
|
||
You can let the system call rename() do the trick for you, and
|
||
forbid linking of directories - correct. If you forbid linking
|
||
of directories, you see if one directoy is an ancestor of the
|
||
other *by looking at the names*. That will take away your
|
||
race condition for free.
|
||
|
||
We do however still have to avoid concurrent directory moves
|
||
from the same source directory - and into the old tree.
|
||
open()'s etc. are ok (I think), they must be atomic, and will
|
||
fail or succeed depending on how far the rename() operation
|
||
has come.
|
||
|
||
|
||
Kind regards
|
||
|
||
Kurt \/\/achmann, M.Sc. EE/SE
|
||
--[0036]--
|
||
|
||
[0037] daemon@ATHENA.MIT.EDU (Nicholas Yue) Linux_Activists 11/11/91 08:36 (16 lines)
|
||
Subject: Standard Conformance?
|
||
Date: Mon, 11 Nov 91 21:33:33 WST
|
||
From: nicholas@cs.uwa.oz.au (Nicholas Yue)
|
||
To: Linux-activists@joker.cs.hut.fi
|
||
|
||
G'day,
|
||
In Makefiles, there is usually a choice where we can specify what system
|
||
we are compiling the given sources, e.g.
|
||
|
||
SUN, USG, SGI , SYSV3, SYSV4, etc,...
|
||
|
||
My question is, what system is Linux conforming to? I read about POSIX
|
||
somewhere, but what does that means? USG? SYSVR4?
|
||
|
||
Thanks In Advance
|
||
|
||
nicholas@cs.uwa.oz.au
|
||
--[0037]--
|
||
|
||
[0038] daemon@ATHENA.MIT.EDU (Patrick L. McGillan) Linux_Activists 11/11/91 08:41 (15 lines)
|
||
Subject: floppies
|
||
From: Patrick L. McGillan <pmcgilla@hp.uwsuper.edu>
|
||
To: linux-activists@joker.cs.hut.fi (Linux User Group)
|
||
Date: Mon, 11 Nov 91 7:37:55 CST
|
||
|
||
Hi all,
|
||
Yes, Linus, I did format the disks under dos. In fact I made a bootable
|
||
and could not corrupt it with any kind of write action. Also tried
|
||
360k and 1.44 meg disks.
|
||
|
||
--
|
||
Patrick L. McGillan
|
||
Computer Systems Specialist
|
||
University Of Wisconsin Ph: (715) 394-8191
|
||
Superior, Wisconsin pmcgilla@uwsuper.edu
|
||
|
||
--[0038]--
|
||
|
||
[0039] daemon@ATHENA.MIT.EDU (Patrick L. McGillan) Linux_Activists 11/11/91 08:55 (14 lines)
|
||
Subject: more on floppies
|
||
From: Patrick L. McGillan <pmcgilla@hp.uwsuper.edu>
|
||
To: linux-activists@joker.cs.hut.fi (Linux User Group)
|
||
Date: Mon, 11 Nov 91 7:52:51 CST
|
||
|
||
Hi all,
|
||
I also note that a known dos disk with files on it gives back an error
|
||
with the usual stuff and a last line of mdir: Cannot initialize 'A:'
|
||
|
||
--
|
||
Patrick L. McGillan
|
||
Computer Systems Specialist
|
||
University Of Wisconsin Ph: (715) 394-8191
|
||
Superior, Wisconsin pmcgilla@uwsuper.edu
|
||
|
||
--[0039]--
|
||
|
||
[0040] daemon@ATHENA.MIT.EDU (Linus Benedict Torvalds) Linux_Activists 11/11/91 08:57 (55 lines)
|
||
Subject: rename, file system errors
|
||
Date: Mon, 11 Nov 1991 15:53:55 +0200
|
||
From: Linus Benedict Torvalds <torvalds@cc.helsinki.fi>
|
||
To: Linux-activists@joker.cs.hut.fi
|
||
|
||
kw@dde.dk (Kurt Wachmann), tytso@ATHENA.MIT.EDU (Theodore Ts'o) et al:
|
||
> Rename needed [rephrasing]
|
||
|
||
Yeah, it'll be implemented. Hopefully not even by me :-), as
|
||
darken-christian showed some interest. I'll do it if nobody else does,
|
||
but it will take some time. Currently you can always use "tar" and
|
||
"rm -rf" to move a directory (but look out for a full filesystem).
|
||
|
||
There are quite a few problems with rename, most of which have been
|
||
mentioned here (and that's why I left rename unimplemented :-). I
|
||
wouldn't say checking the filename is a good idea: it breaks when linux
|
||
gets symbolic links. I think the easiest way is to move downwards from
|
||
the "to"-directory via ".." until one hits root (or a mount-point) or
|
||
the "from"-directory. It shouldn't be hard, it's just SMOP.
|
||
|
||
tytso@ATHENA.MIT.EDU (Theodore Ts'o):
|
||
> Speaking of hard disk corruptions, I've found an easy way to get Linux
|
||
> to corrupt the hard disk. Simply follow the following instructions:
|
||
|
||
[ "Nice" little script deleted. ]
|
||
|
||
Happily, things aren't that bad (I think). I don't think it's a
|
||
buffer-cache problem (which is hell to find - lots of race conditions
|
||
etc. I kno - I had those kinds too), but a problem with handling "out
|
||
of disk space". That's still bad, but easier to spot. Could you
|
||
(tytso) check if the partition filled up? It's probably a bug in one of
|
||
tha namei.c-routines which want a new block, and crap out if they cannot
|
||
get it. I'll look.
|
||
|
||
I just tried copying my gcc-1.40 directory using tar, and it moved 9MB
|
||
of diskspace quite happily from one drive to another (ok, it took a
|
||
while, but no fsck errors).
|
||
|
||
somebody (my mind is going..):
|
||
> Do I use USG, SYSV or what when porting?
|
||
|
||
I've used USG/SYSV when porting everything, and have had no real trouble.
|
||
The biggest trouble in minix when porting was with the bad "termios" (ie
|
||
minix has no such thing). Linux has a relatively complete termios, so
|
||
that's no problem (and termio also works).
|
||
|
||
Thinks that need very SYSV specific things like shared memory or
|
||
whatever, are of course not currently possible to port easily.
|
||
|
||
Linus
|
||
|
||
PS. I'm still wondering about the floppy drivers. Has nobody else had
|
||
any problems with them? I haven't had an IO error in ages, and it seems
|
||
a bit weird as the floppy interface should be relatively similar across
|
||
all PC-clones. Oh, well, I'll look into it. I hope it isn't some timing
|
||
problem (which are "somewhat" difficult to spot).
|
||
--[0040]--
|
||
|
||
[0041] daemon@ATHENA.MIT.EDU (Robert Blum) Linux_Activists 11/11/91 12:58 (17 lines)
|
||
Subject: C-Compilers on a 2Meg-Machine
|
||
Date: Mon, 11 Nov 91 18:54:57 +0100
|
||
From: blum@cip-s01.informatik.rwth-aachen.de (Robert Blum)
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
|
||
Hi Linuxers!
|
||
|
||
I recently ported CvW's C386 to Linux. I can do development on a 2Meg-System
|
||
too. (BTW Linus, that caused the gcc-errors..)
|
||
But C386 is non-ANSI. Now are we
|
||
a) Giving it an ANSI front end ? (any gurus out there?)
|
||
b) put an #ifdef _STDC_ in all includes
|
||
c) Forget about the 2Meg-machines (NO, PLEASE NOT:-()
|
||
|
||
What do you thinnk about it ?
|
||
|
||
Robert Blum
|
||
--[0041]--
|
||
|
||
[0042] daemon@ATHENA.MIT.EDU (Linus Benedict Torvalds) Linux_Activists 11/11/91 13:55 (47 lines)
|
||
Subject: Re: C-Compilers on a 2Meg-Machine
|
||
Date: Mon, 11 Nov 1991 20:49:07 +0200
|
||
From: Linus Benedict Torvalds <torvalds@cc.helsinki.fi>
|
||
In-Reply-To: Robert Blum's message as of Nov 11, 18:54
|
||
To: blum@cip-s01.informatik.rwth-aachen.de (Robert Blum),
|
||
|
||
Robert Blum: "C-Compilers on a 2Meg-Machine" (Nov 11, 18:54):
|
||
>
|
||
> I recently ported CvW's C386 to Linux. I can do development on a 2Meg-System
|
||
> too. (BTW Linus, that caused the gcc-errors..)
|
||
|
||
Wow. Things are moving along...
|
||
|
||
> But C386 is non-ANSI. Now are we
|
||
> a) Giving it an ANSI front end ? (any gurus out there?)
|
||
> b) put an #ifdef _STDC_ in all includes
|
||
> c) Forget about the 2Meg-machines (NO, PLEASE NOT:-()
|
||
|
||
a) Not very easy (mild understatement).
|
||
b) I *HATE* unclear include-files
|
||
c) No way.
|
||
|
||
I'd like to propose a following change to /usr/include/*:
|
||
|
||
Add a directory "/usr/include/non-ansi", and to each file (example
|
||
ctype.h, cdiff type adding):
|
||
|
||
#ifndef _CTYPE_H
|
||
#define _CTYPE_H
|
||
+ #if !defined(__STDC__) && !defined(__GCC__)
|
||
+ #include <non-ansi/ctype.h>
|
||
+ #else
|
||
|
||
... old ctype.h unchanged (except for the bug-fix, see below)
|
||
|
||
+ #endif /* __STDC__ */
|
||
#endif /* _CTYPE_H */
|
||
|
||
That way we can keep the non-ansi headers distinct. Anybody got
|
||
something against this? I'd suggest Blum do all the hard work :-) and
|
||
set cdiffs somewhere? No? The non-ansi files could be a part of the C386
|
||
package, and not everyone would need them.
|
||
|
||
At the same time you can correct a bug in ctype.h (I don't remember who
|
||
noticed this one, but it sure wasn't me): tolower has a '+' where there
|
||
should be a '-'. I never used it, so I never noticed. Urgh.
|
||
|
||
Linus
|
||
--[0042]--
|
||
|
||
[0043] daemon@ATHENA.MIT.EDU (Peter MacDonald) Linux_Activists 11/11/91 14:06 (35 lines)
|
||
Subject: shoelace patch#3: put environment ptr where linux can find it.
|
||
Date: Mon, 11 Nov 91 10:58:22 PST
|
||
From: pmacdona@sol.UVic.CA (Peter MacDonald)
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
I know, I know. Three patches in 24 hours... I plead end of term
|
||
instability. The following one line patch puts the environment
|
||
offset relative to the shoelace corpse which is located at segment 0x80000.
|
||
Thus, an offset of 0x1234 would put the address of the env at 0x81234.
|
||
This offset is stored at location 0x90506: ie. in the word before the
|
||
root device word (508) in the bootsect.s corpse.
|
||
|
||
By including the shoelace header file shoeconf.h, the linux kernel
|
||
could now read in any of the environment variables it wanted (including
|
||
scr_cols and scr_rows ;-)
|
||
|
||
BTW: Given Bruce Evans comments about shoelace:fsck ties to minix,
|
||
we may wish to remove it from the code. Who wants a facility that
|
||
only works with ~20Meg or less partitions anyways :-)
|
||
|
||
|
||
pmacdona@sol.uvic.ca
|
||
|
||
--PULL_TAB_HERE -------------------------------
|
||
*** shoe.c.bad2 Thu Nov 7 09:33:34 1991
|
||
--- shoe.c Thu Nov 7 09:45:28 1991
|
||
***************
|
||
*** 650,655 ****
|
||
--- 650,656 ----
|
||
else
|
||
*myptr = 0x21c;
|
||
}
|
||
+ *--myptr=(unsigned int)SaveConfigPtr;
|
||
Linux = 1;
|
||
LoadPoint = 0x90000;
|
||
bpinx = 0;
|
||
--[0043]--
|
||
|
||
[0044] daemon@ATHENA.MIT.EDU (Theodore Ts'o) Linux_Activists 11/11/91 14:18 (82 lines)
|
||
Subject: Re: rename, file system errors
|
||
Date: Mon, 11 Nov 91 14:12:19 -0500
|
||
From: tytso@ATHENA.MIT.EDU (Theodore Ts'o)
|
||
To: Linus Benedict Torvalds <torvalds@cc.helsinki.fi>
|
||
Cc: Linux-activists@joker.cs.hut.fi
|
||
In-Reply-To: Linus Benedict Torvalds's message of Mon, 11 Nov 1991 15:53:55 +0200,
|
||
Reply-To: tytso@athena.mit.edu
|
||
|
||
Date: Mon, 11 Nov 1991 15:53:55 +0200
|
||
From: Linus Benedict Torvalds <torvalds@cc.helsinki.fi>
|
||
|
||
gets symbolic links. I think the easiest way is to move downwards from
|
||
the "to"-directory via ".." until one hits root (or a mount-point) or
|
||
the "from"-directory. It shouldn't be hard, it's just SMOP.
|
||
|
||
Well, the problem is that another rename() could be happening while you are
|
||
traversing up the tree (towards the root) checking to see if you hit the
|
||
"from" directory. The simplest case where you will have a problem is if
|
||
rename(/a/b, /a/c/d) and rename(a/c, a/b/e) are running in parallel.
|
||
Another problem is that two rename()'s could try to move the same
|
||
directory to two different places. Now, locking takes care of this
|
||
quite nicely, but the interesting CS question is how little locking can
|
||
you do and still be make things be "correct." Or, is there some way
|
||
that we can finesse the issue without using locks?
|
||
|
||
|
||
tytso@ATHENA.MIT.EDU (Theodore Ts'o):
|
||
> Speaking of hard disk corruptions, I've found an easy way to get Linux
|
||
> to corrupt the hard disk. Simply follow the following instructions:
|
||
|
||
Happily, things aren't that bad (I think). I don't think it's a
|
||
buffer-cache problem (which is hell to find - lots of race conditions
|
||
etc. I kno - I had those kinds too), but a problem with handling "out
|
||
of disk space". That's still bad, but easier to spot. Could you
|
||
(tytso) check if the partition filled up? It's probably a bug in one of
|
||
tha namei.c-routines which want a new block, and crap out if they cannot
|
||
get it. I'll look.
|
||
|
||
No, my partition didn't fill. Originally I tried it with a partition
|
||
size of 65535, so I had lots of free space. I then tried it with "mkfs
|
||
/dev/hd3 32768"; the problem still happened. The second time, I noticed
|
||
the following things:
|
||
|
||
* /etc/fsck reported that the disk was completely happy before I ran
|
||
"compress -d < /tmp/gcc.tar.Z | tar xvf -"
|
||
|
||
* During the untaring process, there was at least one time when tar
|
||
printed somthing like this:
|
||
|
||
./stbout.h
|
||
tar: Cannot change owner of stdbout.h: ENOENT
|
||
tar: Cannot change modification times of stdbout.h: ENOENT
|
||
tar: (One more error message which I don't remember): ENOENT
|
||
|
||
This tends to indicate that the file just disappeared after tar closed
|
||
it, so it couldn't adjust the ownership and mod times. Perhaps a
|
||
directory update is getting lost?
|
||
|
||
* After tar finished, I sync'ed the disks and tried running /etc/fsck
|
||
again. This time, it reported 10 "Inode not in use, nlinks=0,
|
||
counted=1" errors for 10 consecutive inodes starting at #82, and 9
|
||
"Inode in use, nlinks=1, counted=0" errors for 9 consecutive inodes
|
||
starting at #143. This persisted after I logged out and reboot the
|
||
system.
|
||
|
||
* Upon reboot the disk statistics which were printed were:
|
||
|
||
12876/32768 free blocks
|
||
10461/10930 free inodes
|
||
1500 buffers = 1536000 bytes buffer space
|
||
free mem: 14680064 bytes
|
||
|
||
* If you run a "ls -l" on the directory into which tar placed files
|
||
(where stbout.h disappeared), you will get a kernel panic: "free_inode:
|
||
bit already cleared".
|
||
|
||
|
||
I wonder if the problem is due to the fact that I was using the same
|
||
drive for both source and destination for the "compress -d | tar xvf -"
|
||
pipeline. I did notice that it was very slow, presumably because there
|
||
was a lot of buffer thrashing going on.
|
||
|
||
- Ted
|
||
--[0044]--
|
||
|
||
[0045] daemon@ATHENA.MIT.EDU (Lars Wirzenius) Linux_Activists 11/11/91 14:49 (41 lines)
|
||
Subject: Header structure for mixed Classic/ANSI
|
||
Date: Mon, 11 Nov 91 21:45:18 +0200
|
||
From: wirzeniu@cs.Helsinki.FI (Lars Wirzenius)
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
Linus:
|
||
> Add a directory "/usr/include/non-ansi", and to each file (example
|
||
> ctype.h, cdiff type adding):
|
||
>
|
||
> #ifndef _CTYPE_H
|
||
> #define _CTYPE_H
|
||
> + #if !defined(__STDC__) && !defined(__GCC__)
|
||
> + #include <non-ansi/ctype.h>
|
||
> + #else
|
||
>
|
||
> ... old ctype.h unchanged (except for the bug-fix, see below)
|
||
>
|
||
> + #endif /* __STDC__ */
|
||
> #endif /* _CTYPE_H */
|
||
>
|
||
> That way we can keep the non-ansi headers distinct. Anybody got
|
||
> something against this? I'd suggest Blum do all the hard work :-) and
|
||
> set cdiffs somewhere? No? The non-ansi files could be a part of the C386
|
||
> package, and not everyone would need them.
|
||
|
||
Wouldn't it be easier to make two header trees:
|
||
|
||
/usr/include/ansi
|
||
/usr/include/classic
|
||
|
||
and either use the -I option to select which tree is used, or put
|
||
files like this:
|
||
|
||
#if __STDC__ == 1 /* not: not just ifdef; see comp.lang.c FAQ */
|
||
# include <ansi/foo.h>
|
||
#else
|
||
# include <classic/foo.h>
|
||
#endif
|
||
|
||
into /usr/include.
|
||
|
||
This would IMHO be more neat than your proposed solution.
|
||
--[0045]--
|
||
|
||
[0046] daemon@ATHENA.MIT.EDU (Theodore Ts'o) Linux_Activists 11/11/91 16:12 (153 lines)
|
||
Subject: Weekend hacking and other randomness...
|
||
Date: Mon, 11 Nov 91 16:08:15 -0500
|
||
From: tytso@ATHENA.MIT.EDU (Theodore Ts'o)
|
||
To: Linux-activists@joker.cs.hut.fi
|
||
Reply-To: tytso@athena.mit.edu
|
||
|
||
Over the weekend, I've managed to put together some stuff which other
|
||
people might find useful. First of all, I've managed to build GNU diff,
|
||
GNU sed, Larry Wall's patch and tr. They pretty much built without
|
||
needing to make any changes --- the only real problem which I
|
||
encountered while trying to build them is that the configuration progam
|
||
which you need to run to build sed itself wants to uses sed to build the
|
||
Makefile. Oops. :-)
|
||
|
||
In any cases, if anyone wants to just snarf the binaries, they can be
|
||
found via anonymous FTP on TSX-11 in /pub/linux/binaries. If you want
|
||
to submit some something Linux-related for the FTP site, you can put the
|
||
file(s) in /pub/incoming and send me a quick note describing what you
|
||
left there.
|
||
|
||
--------------------------------
|
||
|
||
I've made a quickie change to the tools/build.c program so that it can
|
||
optionally take a fourth argument which specifies what the root device
|
||
should be. Add to that a definition in the makefile for $(ROOTDEV), and
|
||
customizing kernels for a particular system becomes a snap! Since the
|
||
patch isn't that big, I'll include the diffs at the end of this message.
|
||
|
||
|
||
------------------------
|
||
|
||
Other comments; maybe I'm doing something stupid, but I can't seem to
|
||
get mtools to want to write a file from Linux land to MS-DOS land. The
|
||
other way works fine, but when I try something like "mcopy foo.tar
|
||
c:foo.tar", the program just returns to the prompt without actually
|
||
performing the copy. Another bug: if you do "mcopy c:foo.tar .", the
|
||
file which will be created in your directory will be "???.???".
|
||
So you can't just specify a unix directory as the target; you actually
|
||
need to give the name that you want in the directory or the name will be
|
||
unrecognizable. This also happens if you try "mcopy a:*.* .". Final
|
||
problem: the program will hang if the destination file already exists;
|
||
you need to control-C out of it when this happens.
|
||
|
||
----------------------------
|
||
|
||
Also, trying to compile RCS for Linux apparently tickles a compiler bug
|
||
in gcc. When you try to compile ci.c, gcc gets an "unrecognizable insn"
|
||
error. When I mentioned to a friend of mine who is a gcc expert, he was
|
||
a bit surprised because he thought all of these bugs had been fixed in
|
||
version 1.40. His suggestion was that I should try compiling GCC 2.0,
|
||
which led me to discovering the filesystem corruption problems. (Which
|
||
are very repeatable, by the way; I can start with a newly mkfs'ed
|
||
partition and corrupt it just by untaring GCC 2.0.)
|
||
|
||
Another problem which was uncovered by trying to compile RCS: In
|
||
sys/wait.h, the definition for WIFEXITED(s) is missing a close
|
||
parenthesis at the end of the line.
|
||
|
||
------------------------
|
||
|
||
That's all for now.... the patch tools/build.c are below.
|
||
|
||
- Ted
|
||
|
||
*** build.c.orig Sat Nov 9 21:50:51 1991
|
||
--- build.c Sat Nov 9 22:23:13 1991
|
||
***************
|
||
*** 17,24 ****
|
||
--- 17,27 ----
|
||
*/
|
||
|
||
#include <stdio.h> /* fprintf */
|
||
+ #include <string.h>
|
||
#include <stdlib.h> /* contains exit */
|
||
#include <sys/types.h> /* unistd.h needs this */
|
||
+ #include <sys/stat.h>
|
||
+ #include <linux/fs.h>
|
||
#include <unistd.h> /* contains read/write */
|
||
#include <fcntl.h>
|
||
|
||
***************
|
||
*** 25,30 ****
|
||
--- 28,36 ----
|
||
#define MINIX_HEADER 32
|
||
#define GCC_HEADER 1024
|
||
|
||
+ #define DEFAULT_MAJOR_ROOT 3
|
||
+ #define DEFAULT_MINOR_ROOT 6
|
||
+
|
||
/* max nr of sectors of setup: don't change unless you also change
|
||
* bootsect etc */
|
||
#define SETUP_SECTS 4
|
||
***************
|
||
*** 46,54 ****
|
||
{
|
||
int i,c,id;
|
||
char buf[1024];
|
||
|
||
! if (argc != 4)
|
||
usage();
|
||
for (i=0;i<sizeof buf; i++) buf[i]=0;
|
||
if ((id=open(argv[1],O_RDONLY,0))<0)
|
||
die("Unable to open 'boot'");
|
||
--- 52,85 ----
|
||
{
|
||
int i,c,id;
|
||
char buf[1024];
|
||
+ char major_root, minor_root;
|
||
+ struct stat sb;
|
||
|
||
! if ((argc != 4) && (argc != 5))
|
||
usage();
|
||
+ if (argc == 5) {
|
||
+ if (strcmp(argv[4], "FLOPPY")) {
|
||
+ if (stat(argv[4], &sb)) {
|
||
+ perror(argv[4]);
|
||
+ die("Couldn't stat root device.");
|
||
+ }
|
||
+ major_root = MAJOR(sb.st_rdev);
|
||
+ minor_root = MINOR(sb.st_rdev);
|
||
+ } else {
|
||
+ major_root = 0;
|
||
+ minor_root = 0;
|
||
+ }
|
||
+ } else {
|
||
+ major_root = DEFAULT_MAJOR_ROOT;
|
||
+ minor_root = DEFAULT_MINOR_ROOT;
|
||
+ }
|
||
+ fprintf(stderr, "Root device is (%d, %d)\n", major_root, minor_root);
|
||
+ if ((major_root != 2) && (major_root != 3) &&
|
||
+ (major_root != 0)) {
|
||
+ fprintf(stderr, "Illegal root device (major = %d)\n",
|
||
+ major_root);
|
||
+ die("Bad root device --- major #");
|
||
+ }
|
||
for (i=0;i<sizeof buf; i++) buf[i]=0;
|
||
if ((id=open(argv[1],O_RDONLY,0))<0)
|
||
die("Unable to open 'boot'");
|
||
***************
|
||
*** 72,77 ****
|
||
--- 103,110 ----
|
||
die("Boot block must be exactly 512 bytes");
|
||
if ((*(unsigned short *)(buf+510)) != 0xAA55)
|
||
die("Boot block hasn't got boot flag (0xAA55)");
|
||
+ buf[508] = (char) minor_root;
|
||
+ buf[509] = (char) major_root;
|
||
i=write(1,buf,512);
|
||
if (i!=512)
|
||
die("Write call failed");
|
||
|
||
|
||
|
||
|
||
|
||
--[0046]--
|
||
|
||
[0047] daemon@ATHENA.MIT.EDU (Robert Blum) Linux_Activists 11/11/91 17:58 (72 lines)
|
||
Subject: Diversification of development
|
||
Date: Mon, 11 Nov 91 23:56:40 +0100
|
||
From: blum@cip-s01.informatik.rwth-aachen.de (Robert Blum)
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
|
||
Hello Linuxers!
|
||
|
||
Sorry for my last mail being very short, but writing mail at 300 baud *IS*
|
||
a pain. Now, there are a couple of things to be adressed.
|
||
|
||
1) Linux is undergoing a process of being spread across several countrys/
|
||
FTP-servers. I recently read in a posting: If you want the blah binaries,
|
||
just connect to the foo-server, etc.
|
||
To keep a common environment for Linux, especially now where it is still
|
||
say a bit more than beta, I'd suggest using a common set of tools. It
|
||
is a pain to search a bug in the kernel which is only caused by a
|
||
different cpp or else. To create this set of common tools, I am offering
|
||
the following to the Linux-community:
|
||
Everyone who creates a new binary and makes it/the sources to it available
|
||
to the net (via FTP) sends mail to me.
|
||
I then take these things (sources and/or binaries) and make them available
|
||
on tupac-amaru in a directory called beta. If the Linux community
|
||
likes these tools (discussion on this list ?), I will move them to
|
||
other subdirectories based on the subject. If the tools are replaced by
|
||
better ones/ prove as not useful for the whole community, they will
|
||
vanish from the server.
|
||
If you would like such a service or want it organized in another way or
|
||
anything else, just send mail to me or linux-activists for public
|
||
discussion. If the keepers(?) of the other two or three servers are
|
||
willing to provide this service too, we could exchange. (Less work
|
||
for me, more for you:-).
|
||
BTW,arl: The things I said about nic (NO MORE NIC PLEASE,etc.) weren't
|
||
meant as a flame. You *ARE* doing a very good job there. But I just
|
||
didn't know you were undergoing some reorganization, and I never have
|
||
more than 1K/s to nic funet.fi.
|
||
|
||
OK, feel free to mail me about the whole thing
|
||
|
||
2) I want to remind you about the Questions for a FAQ: What would you like
|
||
to see?
|
||
|
||
3) Header-Files: I like the idea with /usr/include/classic and /usr/include/ansi
|
||
with small files in /usr/include. If you like this too, I would start to
|
||
work on it. (In fact, half of the work has already been done for making
|
||
it possible that c386 compiles itself). Please mail, if you like this.
|
||
Hey Linus, what do you think ?
|
||
Another thing to suggest is defining a macro ARGS(x)
|
||
#if __STDC__
|
||
#define ARGS(x) (x)
|
||
#else
|
||
#define ARGS(x)
|
||
#endif
|
||
and declaring functions with
|
||
void function(ARGS(int x,int y,...));
|
||
This would keep the amount of work smaller for changes in the includes.
|
||
I personally prefer this even to /classic and /ansi because it's just
|
||
one readable file.
|
||
OK, Comments are welcome. As soon as the header files are ready, I will
|
||
make them and the c386-sources and binaries available on tupac-amaru
|
||
|
||
4) Who is working on what? Could we please start to compile a list?
|
||
I am currently working on
|
||
include-files classic style
|
||
c386
|
||
making Linux compileable with c386
|
||
Please mail, I'll compile the answers
|
||
|
||
OK, this was a long mail and I think it's enough for this time.
|
||
Hopefully wawaiting your comments and answers,
|
||
Robert Blum
|
||
|
||
|
||
--[0047]--
|
||
|
||
[0048] daemon@ATHENA.MIT.EDU (Ari Lemmke) Linux_Activists 11/11/91 19:56 (36 lines)
|
||
Subject: nic.funet.fi Linux directory structure [Diversification of development]
|
||
Date: Tue, 12 Nov 1991 02:46:16 +0200
|
||
From: Ari Lemmke <arl@zen.cs.hut.fi>
|
||
To: linux-activists@joker.cs.hut.fi
|
||
In-Reply-To: Robert Blum's message of Mon, 11 Nov 91 23:56:40 +0100 <9111112256.AA17302@messua.informatik.rwth-aachen.de>
|
||
|
||
|
||
I try to keep track on Linux at nic.funet.fi, but help
|
||
is welcome ...
|
||
|
||
After some thinking, I changed Linux FTP directory
|
||
structure to be more understandable (just check nic's
|
||
Minix directory /pub/minix !-)
|
||
|
||
nic.funet.fi:/pub/OS/Linux
|
||
|
||
kernel has kernel kits and device driver
|
||
add-ons.
|
||
images for all image files.
|
||
bin binaries to /bin and /usr/bin
|
||
tools binaries not usable for 'common' user.
|
||
doc documents and man-pages.
|
||
lib /lib and /usr/lib libraries.
|
||
xtra stuff not in previous categories.
|
||
|
||
Comments are still welcome!
|
||
|
||
I try to keep "ls -laR" listing in file 'ls-laR'. Informative
|
||
README file is at main level. Fixes/suggestions to that are welcome.
|
||
|
||
It is possible to "put" with FTP your fixes and add-ons to the main
|
||
Linux directory - they will not be available/readable after
|
||
putting ... not until I enable them (I try to find right
|
||
place for them - still mostly to 'xtra' directory).
|
||
|
||
arl
|
||
|
||
--[0048]--
|
||
|
||
[0049] daemon@ATHENA.MIT.EDU (Linus Benedict Torvalds) Linux_Activists 11/12/91 01:48 (45 lines)
|
||
Subject: Re: Weekend hacking and other randomness...
|
||
Date: Tue, 12 Nov 1991 08:39:35 +0200
|
||
From: Linus Benedict Torvalds <torvalds@cc.helsinki.fi>
|
||
In-Reply-To: Theodore Ts'o's message as of Nov 11, 16:08
|
||
To: tytso@athena.mit.edu, Linux-activists@joker.cs.hut.fi
|
||
|
||
Theodore Ts'o: "Weekend hacking and other randomness..." (Nov 11, 16:08):
|
||
> Other comments; maybe I'm doing something stupid, but I can't seem to
|
||
> get mtools to want to write a file from Linux land to MS-DOS land.
|
||
|
||
Urgh. I should never have included the mtools package :-). The problem
|
||
is that the root-diskette filled up, and mcopy is just the front-end for
|
||
other programs. mwrite, which actually writes to msdos, didn't fit.
|
||
|
||
The only reason I had even those small mtools programs was so that linux
|
||
wouldn't be a closed system in the way the minix demo-disk is. I don't
|
||
like the suite very much, but as I didn't think of tar ...
|
||
|
||
> Also, trying to compile RCS for Linux apparently tickles a compiler bug
|
||
> in gcc.
|
||
|
||
All bugs are probably of my doing :-( I've hacked the machine
|
||
description to add the string instructions, and that's probably the
|
||
thing that wen't wrong.
|
||
|
||
Another problem with gcc-1.40 for linux is that it sometimes can give up
|
||
while optimizing. I don't know if it me again, but this time I think
|
||
it's the soft-float: gcc runs out of registers when optimizing. It
|
||
hasn't happened wery often, but it's very confusing when it does happen.
|
||
I hope 2.0 has a corrected soft-float, so that there is no need for
|
||
hacking on that too.
|
||
|
||
Re: file-system corruption: You were right. I think I've found the bug,
|
||
and will send out corrected "buffer.c" sometime today. Hopefully that
|
||
cures the problem. First kernel patch for this version: not too bad. I
|
||
haven't found the floppy driver problem yet, though.
|
||
|
||
And lastly: Everybody out there making changes to the kernel, please
|
||
stand by for the next kernel update... It will probably be in early
|
||
december, and I'd suggest you mail me any cdiffs for the kernel before
|
||
the end of november, so that I can try to incorporate them into the new
|
||
version. 0.11 will not be a major upgrade, just some minor fixes + the
|
||
ability to handle other screens than VGA. If things work out with
|
||
rename, that might be incorporated :-)
|
||
|
||
Linus
|
||
--[0049]--
|
||
|
||
[0050] daemon@ATHENA.MIT.EDU (Bruce Evans) Linux_Activists 11/12/91 10:15 (36 lines)
|
||
Subject: Re: Header structure for mixed Classic/ANSI
|
||
Date: Wed, 13 Nov 91 00:28:25 +1100
|
||
From: Bruce Evans <bde@runx.oz.au>
|
||
To: linux-activists@joker.cs.hut.fi,
|
||
|
||
>Lars Wirzenius writes:
|
||
>
|
||
>Wouldn't it be easier to make two header trees:
|
||
>
|
||
> /usr/include/ansi
|
||
> /usr/include/classic
|
||
>
|
||
>and either use the -I option to select which tree is used, or put
|
||
|
||
No. Who adds -I to 1001 makefiles?
|
||
|
||
Who keeps all the versions up to date? There probably have to be minor
|
||
variations for classic-compiler1, classic-compiler2...
|
||
|
||
I use _P((arglist)) to hyde prototype args and don't think it is particularly
|
||
obscure.
|
||
|
||
>files like this:
|
||
>
|
||
>#if __STDC__ == 1 /* not: not just ifdef; see comp.lang.c FAQ */
|
||
># include <ansi/foo.h>
|
||
>#else
|
||
># include <classic/foo.h>
|
||
>#endif
|
||
|
||
It's not clear what happens to the header names if the user has maliciously
|
||
#defined ansi, classic, foo and h :-).
|
||
|
||
I think something like #include <__implementation.h> is required in many
|
||
header files. Just deciding what is quasi-STDC takes a lot of ifdefs.
|
||
|
||
Bruce
|
||
--[0050]--
|
||
|
||
[0051] daemon@ATHENA.MIT.EDU (Nicholas Yue) Linux_Activists 11/12/91 10:17 (11 lines)
|
||
Subject: Maths library?
|
||
Date: Tue, 12 Nov 91 23:09:03 WST
|
||
From: nicholas@cs.uwa.oz.au (Nicholas Yue)
|
||
To: Linux-activists@joker.cs.hut.fi
|
||
|
||
G'day,
|
||
It was mentioned that maths (software emulation I think) was available?
|
||
I don't seems to be able to get maths working.
|
||
|
||
Thanks In Advance
|
||
|
||
nicholas@cs.uwa.oz.au
|
||
--[0051]--
|
||
|
||
[0052] daemon@ATHENA.MIT.EDU (Ari Lemmke) Linux_Activists 11/12/91 12:05 (22 lines)
|
||
Subject: Header structure for mixed Classic/ANSI
|
||
Date: Tue, 12 Nov 1991 19:00:30 +0200
|
||
From: Ari Lemmke <arl@sauna.cs.hut.fi>
|
||
To: bde@runx.oz.au
|
||
Cc: linux-activists@joker.cs.hut.fi, wirzeniu@cs.Helsinki.fi
|
||
In-Reply-To: Bruce Evans's message of Wed, 13 Nov 91 00:28:25 +1100 <9111121328.AA08248@runxtsa.runx.oz.au>
|
||
|
||
|
||
>Bruce Evans writes:
|
||
>>Lars Wirzenius writes:
|
||
>>
|
||
>>Wouldn't it be easier to make two header trees:
|
||
>>
|
||
>> /usr/include/ansi
|
||
>> /usr/include/classic
|
||
>>
|
||
>>and either use the -I option to select which tree is used, or put
|
||
>
|
||
>No. Who adds -I to 1001 makefiles?
|
||
|
||
No problem if we just used imake ;-)
|
||
|
||
arl
|
||
--[0052]--
|
||
|
||
[0053] daemon@ATHENA.MIT.EDU (Linus Benedict Torvalds) Linux_Activists 11/12/91 14:57 (135 lines)
|
||
Subject: corrected buffer.c
|
||
Date: Tue, 12 Nov 1991 21:47:49 +0200
|
||
From: Linus Benedict Torvalds <torvalds@cc.helsinki.fi>
|
||
To: Linux-activists@joker.cs.hut.fi
|
||
|
||
Ok, here's the new buffer.c-file, hopefully correcting the bug which
|
||
caused file system inconsistencies.
|
||
|
||
NOTE! This file is NOT official, and won't be used as a starting point
|
||
for future kernel cdiffs. Thus save the old buffer.c before using this.
|
||
It's just a temporary bug fix before a real release (which should come
|
||
out in December). Hopefully these kind of rather urgent bug-fixes won't
|
||
be too usual.
|
||
|
||
The changes are mostly to "getblk()", and are not final: it's a bug-fix,
|
||
and I'll have to tweak it a bit more for the real version. The current
|
||
version works fine, but it's a bit overzealous in trying to avoid
|
||
reclaiming dirty blocks: with this kernel patch the buffer-cache VERY
|
||
easily fills up with dirty blocks, at the expense of ordinary ones.
|
||
Thus "sync"ing is even more important with this fix: the dirty blocks
|
||
are kept around longer (too long in my opinion) with this routine.
|
||
|
||
Linus (torvalds@kruuna.helsinki.fi)
|
||
|
||
PS: Re: Math libraries. There aren't any. When I talk about gcc
|
||
soft-float, I'm just talking about the general idea - I haven't
|
||
implemented (or ported) any real math functions. The only floating
|
||
point math that gcc currently knows about is add/sub/neg/mul/div (and
|
||
only for doubles, not floats). Gcc in the original 1.40-version cannot
|
||
handle soft-floats correctly: linux gcc has this corrected (thanks
|
||
mainly to bruce evans), but not used very much.
|
||
|
||
There might be stubs for sin/ln etc in the library: they should just
|
||
return 0.0, and are there (if they are) to get gawk to compile (and yes,
|
||
it works - kind of). If you do find routines for floats you can use
|
||
(and they are available out there), you can add them to the library with
|
||
"gar d libc.a stubs.o" (remove old routines)
|
||
"gar rs libc.a sin.o ln.o ..."
|
||
------ snip snip ------------------------
|
||
begin 644 buffer.c.Z
|
||
M'YV0+U0H *$"! @V:=S4P?/"S)P78NJ8,5-&CHLQ P42-(AB2 H0,7+DB&&0
|
||
M2<(Z<T!0>2/'3A@V9.9D?*% 0<",!D]$G%CQX@D0:=K 85.F31DW=%+205,&
|
||
MQ$Z*<EJ,"3.&*0@S==R,H9/FC9LY+D!(H5I&JE<R:;AZ38DFC)TR.,64.0K"
|
||
M[9LT9,J0<9H'A),B5HI(.5B&#E<W9^H"15I13ATX=$!4#8.X:1BG$J&"0%$&
|
||
MSY@RD*^R!+$4[D8R8>B$80'BC1G);^K(F5,F!>N(D1/.H5,FS%ZBAA,F+BWY
|
||
M)5$Y(,B\ 4HGK),G5(J$ !$D94+><AQ#EKEQJAL0=\*L:?I8\50VQUG/>6-4
|
||
M,L(6N]. H!VGSM'/*</(:>IF;MZ]="Q751ECK"&:'#C-011H+7@EE7%@J<04
|
||
M;?.A$1M,3C75&1W[&<5&7_6E42!K2\5V!AJ;)0&"A7#4YL),-=VTT7/134<%
|
||
M4_L!E9)73:$UQQ@LH884"&Z\P=N*%96A@V1,%2C<56R\ 0<<:921DADLX>2C
|
||
M@9-5%M:-:5B7TATX-I7656FE)-=NK*FX5$)KL!:&=9'-86$=,.&4D$L(H79D
|
||
MEV?H!:64<.31PI8/#@@6C J,D- 8;-21%P@\[(::'&>X@(8/ S7Z:*23\H"0
|
||
M0@P!Z889:62ZJ:=:@=J4J"<Q]"-39&C*J:.M2OKJJ N],)X<_;%A*ZN0ZDKI
|
||
MG&V\,$<>NQ4U+*[%AHKL"UT-J\"&%7UW'0A'D;&# KLYMA5F/,GQ!5.^;;2;
|
||
M?G1\\51%(/2P6;AUC/NNN>CNI<)')G3[+;WV9E;1N;WIN^*<:'RAFAA$;>&$
|
||
M%%\@$<042'3QKVI<C3$?A_5&=B_!Z19DQGYE?('0;A>G)N+&XD:FVAQK? %P
|
||
M9 5]'-Z9\CI1!1-,?+OMPU\(48411@@V1;P@P/ MN!BOG-"H3=EQUUXWM^N5
|
||
MNP++@<+,Y$(%LL%BH)&" GLHD "D::"0PK<)D)D&49N%W8(/8IC\1H%C)Y"
|
||
M@G/!\857*)@@-]U?5+VVV?&I_6T?-6V[[!PRYZ$5"E+C-7;9"6R;!MM<?YSO
|
||
M1F$OO;?D8WR1T!MYS:&XW@&!)T=:3<666Y&I+Q9@UQ6EI )-"82-]+IRM'LO
|
||
MVU@BAT(:/< P@Y \0"TT$0;O3Q0*ZS 0MC5?X1YVV&D];<;6)>+0MB'ZYW&
|
||
M:^.C,7?=: 6?M][H?2'''>Y&62 *5TB11'37B\TVXPG8#QUD\QVE*8!Q"G <
|
||
MZ;Z0%SL<;T@-O)S9-,<YC@6L7%\#'1I$YSMY 4]X62/>:(Z7O.FEP7D0@U[1
|
||
MI' TYJ6A>OW+'@BV=[ZXJ8]P#01!".050;/IS52'L0_;N.>]J]TK?>7+'/H&
|
||
MQ[XRV"%>/'0B"$Q@ J?<D'UI<)\/$Q"_^=7O;FO G_[X1[[_(6Z!ITN=XLS6
|
||
MP8VQ*WQ0$:'QD*<\%Z(P:$-;80NI9SWLK4FUQ,=)(0<"4$CG(+B%-&5"!QL24TB#G,F:(TI3ZTA8US>4[@-*+G-Q !CVY
|
||
M@4]X28V5ZH(>W$5E*@-JP5$X5"7K?&<IJ2D.;;Z$AC#I*3\@V \;5/:6#\TG
|
||
M2G=(YRW[HY[EW*$I;7D+:9;#H;[<K@T)"4H:]$">.0A'3\V1$$J8HZ/BH$=0
|
||
M7G'G8[RBF!.T(39(^<EH3B"EHYR G.;<2)A(8Y4U128\?7$-;-H@AH B9CXM
|
||
M$A1E]E('KB"$#GEH$TGA]**-0*$,4H(;H)ZTI<+PQILD;0I R4 &N*F4,JUI
|
||
MD1Q41M'45>0M.+E=E-Y (1VT8&P$P0F-I$,=-I2H#B>2C&SV@Q1WODE,K7&#
|
||
M.XLWJ"EUDT16P4MO=)35MD2&,GWQ#5K4XH:7I+,H;W )PYI2R@(=RHDB:LH=
|
||
MWL8&$*"D*6^59TUQR0*<S)2DX;QH5NCP@HY^IS]Z<<,)(K.&(L43G)$))J&Z
|
||
M^0(R2?,MO]Q/@EHTAC2\I*>[4T#E]J++F&WI"\E\8&1ZB#D*(LZ"'LM:!FNV
|
||
MP9HH<3--"((2GB %%$10A_*2P?M:"2RV-; '34C"<[K[W2K" \PF,$.$M Z
|
||
MMU6EKH5J:%I^0!#>"3($LATF<MM2&>\F<KR%(:!YI<@'>;U7!C P8 +H2L(Z
|
||
M-@]H4Z@"% 1CPNP%$GU;>\S &KN&+:2A"RZ 7 [=BX>)Q#<%FNRAWA( AYK*
|
||
M3,1:FP..OU@@$Z-8Q8ED6QL_*$DYR'$S=#3A'54H/1?"T(^ -!^(+[GBI+78
|
||
M#"\&+R+MH$@@GL21/H2D$;-&R0]O9I XE"*+73R#CVARRXJ\Y&,"Y*>FR(O*
|
||
M68R,@\V(P!'D!57] <&Y$&8&-QC8#M>SWQH^@H)&9\6@9^@/&5)P:"^0. 4I
|
||
M* '0)$:QL?FY#(#&)\(.G6@P?J28"5M8PP9MIT*3^M)=J,FZ,K88J(%@N(>]
|
||
MZ%N^,#+V?*$^9;"/ZCHGW<]15X*MZU!BF]+K-AS,3BT MGWZ.\$E7O$+_<%#
|
||
M*'UXR6S3@9!PV$\F/4FX<#N1;9:\MKFYS&UUBYN0WD9:MS>$;O2A&LU-1/0E
|
||
M2>P&.;CYSF+SX;VI[,3^$9+?_I;WM;W]K60C5I_-O@K)#A(FFOD7?2' ]Q?6
|
||
MS6N2?80/?-"AQKW=\;E@VH=PH(R(4" "(TR<Q!3?#6RR,V>]B*!\E^3XR.8"
|
||
M[PV5W,[DKAO)=P[FWBW<YT0'M[A_KG"E._'G]=X,T4U6<2A:\7U3/YF>@XYM
|
||
MI),,EDQ3F<:>ALM;3VTQM F>Z9#RAE_;1]A;@ZXUIWMULMFD(#7^:V2ZU9K7
|
||
M$#WF%F?CT;7-='EEO>)"=O?3_VYXDE%]-TZW ]3-=GC(EWOI22?<T"<.<.(Y
|
||
M7NN1+[P5&X[WFB;5FHLA4AGBB>IHO]U,KSE3,173P,A2V^B11YK.>);XGFM;
|
||
M]SOK6;4W$P*"LUMOY'5#[S6_(:0-_-H--#CA$%Z^YW^RX/M6=+_=/'K!^_[;
|
||
MEY=BYP\HZZ9IC-@8-#::F%EDY6Z9-=NZ--GT]MR6S5W]=!"*Z"B<?S@X?]31
|
||
M=VG3TW]:MGM,,(!"@33]]WWO(T@+F&9V$&-J5D4/6#<(ITGR-V/)1QKZ9S8;
|
||
M:(!@)R,%<05HT!<(,1X[-0<ZA2[(D0>Q,1]AD <N,(,2TA3[,2<4-5)3]1EF
|
||
MP4QIT15? 5S4,28]XA6K=1!@9$TI@0)9011S0(1UD2,WB!9#4AIM@%?A%":V
|
||
MD2#L41CE]%( =2*1T1930A>W<R9N S?W]$Y]@V26<5B^H4W9D24;,5G55#R?
|
||
MP5!BX!LI %(I82<70@:J%1DWB![$% 9EB$QKM4T?<ALUU5>YA#IF4DL%(X,P
|
||
M@GY>HWZ!TBZHIC!AL%CN%WVVXQ2*)D%[(W>>4S :M'\CM ,[$&77A0(9%S8]
|
||
M &ADT'X!6(HGIX$)!BQ^$7Q#=$E ,EK5\TC=8S7@<T1E9&8:ET-OMF)5E'U@
|
||
MU&]6EX'(UXO?$3KM1DC#B!0MT )\%DLX\01QDH(-M8D,4XZ?=29A,HBW5A%]
|
||
M 2F](0=R<@;=\TW+\85Y@2 ;L8-E82J#!801T@1<%1DJ11Q ,BDC11LPP1Z6
|
||
M11MDP!K'8X.@T1N'<09;J"[+<2: B"=[(1<@T ;U@B(7E2.@ABJ]M4V@I2V1
|
||
ML55KL"AAM1$W8AEL< 8LD1;.-E+)1 9+(A>&41'+M!=050:18E#Z%!&)H6QO
|
||
M42L9H3=,( 14 !(QX (Q,)4C 2.?%FH@( 1!0 1_,053@$1GAD2?E&<\P ,Q
|
||
MD (K0):$4XI,8W^I&#(@@(YL$$;;$GWQYY:8@XD#@W]"P1K4M33[T2*IH0/#
|
||
MESY(LXFLEFJ?2!2OIHL^M(':F $V'AS\7AT8%[+04/H4X'(A5';-F->IA!%
|
||
M%XO%AR(@MY5=^95AV7\IP -<Z95% )9(!(M&IX =.&/_%9NLB0*NJ4B]<X-K
|
||
M,$0 U ?@44YPTVB5R8%P\'T_]Q&'5'FA%'6R2#XSY$-\ QK?$S@V<XQ)9).W
|
||
M,Y@6:49$A(SMMXRQ*(R@^3[@N1SBF1ILDX9-T8QY!HO+HA68U(Q!%F;'&$G*
|
||
MZ#_,J)ZCI4CM>5B$F9EFPSBM,U8A,!TD^#:2U11\$QI5\R1TE5DD5D]&(0:H
|
||
MTQ=$22%AB :!USHO,86'J$^")2@B\%8B0(I)>#L(215,$1;%Q5#!%8NVB(O8
|
||
M!YEZ4Z#OB:"M\P1+P!I&H%Y!P#-9 !Y-T5IO\%I^98[WTE#$$5$I%6@JE18G
|
||
MD!)KD! 126TDRDR@E1MTD*66I1 0&3>?.5K)8QMEJFB",CYV4R!K&I3NT1O?
|
||
M<:,"BA0]$ /+AT7!DSQ]^@5SACK2!*@>^' ETVQN%VQ64F:X!X$]T$"!>H$D
|
||
MAFY?41'M<AUM)VV-BIZ265T(A&MBH$ZT$7=P66RJ6#,288K_M1,(-D#E939B
|
||
MEHQDYJK4.8L2P8V@^8V[2&,J-P8L1P5RD =/<CM_]W?W<G/Q*1XE\QC<*5V&
|
||
M$X*RY!13J#9P&!.*,0>\=3Y5\I&*5A=@FGQ*45)9$Z:P@13WR!T%D19AD02$
|
||
MB(TI88! \1K$ 7/AD1)9,86-60; 11-\B2^I2JT%$XH%EY>F9G>G>*KI%[#:
|
||
M>)BSB 8]0)=AE(NFUJLIYP8K)P*C6C!+(K&'!:N2]HL\PP5NH*R'*6>00:B\
|
||
M\:JN-)FCQ&-A) 5%T)6JM*Q%1*OB@Y[I1DB#6F<LZXN3N;%L4*J>BHTB*WP(
|
||
M)((@0(ZWH:_%D8T%)5-J,H6.^%=,]8->81S^M!QMH!\&8B0X$A>*=B6C,85/
|
||
M,B=*BAYA401@2ASZ<09U8!1#HG7@D18H<AG]88]<@54;H1 LU1.7B(JH*I<;
|
||
MZQMA0+"(MBVH,AMTP!HSZ *FZ!*8&85G, <5I+"9R+!H )C])SJ2^T$H\+8J
|
||
MN+B[43[_E3X16QCI2&JD&TH6^ZLL5[@\.9>J6Y<?2T""8H D:[*FB;)T)DWO
|
||
M\[(DA@(R2[/H*9]GUKH](+EO&[J8HH+7@6D^L*;7J3?]E[ITL+K1U[I)Y(!"
|
||
M89O_Y9D]"[Q;Q$5L(#^DI&C$.[-$$ 0UNT6>V8W?!HX^5)QF([G=XKR56SZS
|
||
M>IX FI[7-KXK&YE&&[2D6@:.NH$H8("'$ZIG]S$!10<H$"4O]3'=8HK_2G<H
|
||
MXD&JH7;#<[]G5S.6FANB8TG2Q7=O%@-G"6'O(P9(0SDAS&@V0 ,PH (Q ,R
|
||
M0 /E\Z%PH3<N+"\PC!<$\1$6S$SQB9SS&3<@T +R(@1,\ 1#L 1?, 5)H 5%
|
||
M\!'3>V:XMB^;@08KD)8? 8O0)WZO)'!E&3Q((V$)<&WRF\9#=&W?NF=F3#@"
|
||
M#'1J?&U5 WR\-\="UWPY XQ\O''BIL?"IS?0EQJ7 <23@1Q<+ 9O''J,MR(M
|
||
MP*>!O'ESX7Q?_,;%Z$//DT=&L\E2IL1O%L3Z\A'O=<,1%F%Q]L);;,IX$ 2I
|
||
M+&$ I#[T.V&?5W4<_$8?;,N7"7KA)WF17%UK[)R1+)U'5F$[<$*;-C%(D,P>
|
||
09L@(XXF+Y6,] (('E * ,N7
|
||
|
||
end
|
||
--[0053]--
|
||
|
||
[0054] daemon@ATHENA.MIT.EDU (John T Kohl) Linux_Activists 11/12/91 15:34 (8 lines)
|
||
Subject: UseNIX BoF?
|
||
Date: Tue, 12 Nov 91 15:26:11 -0500
|
||
To: Linux-activists@joker.cs.hut.fi
|
||
From: John T Kohl <jtkohl@cs.berkeley.edu>
|
||
|
||
If any of you are going to be at UseNIX in SF in January, perhaps we
|
||
can arrange a BoF session to chat about Linux?
|
||
|
||
John
|
||
--[0054]--
|
||
|
||
[0055] daemon@ATHENA.MIT.EDU (Patrick L. McGillan) Linux_Activists 11/12/91 21:00 (18 lines)
|
||
Subject: startup file
|
||
From: Patrick L. McGillan <pmcgilla@hp.uwsuper.edu>
|
||
To: linux-activists@joker.cs.hut.fi (Linux User Group)
|
||
Date: Tue, 12 Nov 91 16:59:07 CST
|
||
|
||
Hi all,
|
||
Can there be a startup file for bash ( I never heard of it before Linux )
|
||
and if so what is its name.
|
||
|
||
I wrote a date function that prints current date instead of Ok. after
|
||
the kernel starts running. Could post a diff tommorrow if some one is
|
||
interested.
|
||
|
||
--
|
||
Patrick L. McGillan
|
||
Computer Systems Specialist
|
||
University Of Wisconsin Ph: (715) 394-8191
|
||
Superior, Wisconsin pmcgilla@uwsuper.edu
|
||
|
||
--[0055]--
|
||
|
||
[0056] daemon@ATHENA.MIT.EDU (Mika Matti Jalava) Linux_Activists 11/13/91 03:49 (14 lines)
|
||
Subject: Re: startup file
|
||
From: Mika Matti Jalava <r36110m@kaira.hut.fi>
|
||
To: linux-activists@joker.cs.hut.fi
|
||
Date: Wed, 13 Nov 91 10:45:22 EET
|
||
In-Reply-To: <9111122304.AA14190@joker.cs.hut.fi>; from "Patrick L. McGillan" at Nov 12, 91 4:59 pm
|
||
|
||
Hi,
|
||
|
||
> Can there be a startup file for bash ( I never heard of it before Linux )
|
||
> and if so what is its name.
|
||
|
||
It's .profile in your home directory, or in this case (you can only be
|
||
root) it is /usr/root/.profile
|
||
|
||
Mika
|
||
--[0056]--
|
||
|
||
[0057] daemon@ATHENA.MIT.EDU (nicholas@cs.uwa.oz.au) Linux_Activists 11/13/91 04:33 (28 lines)
|
||
Subject: Re: Diversification of development
|
||
To: blum@cip-s01.informatik.rwth-aachen.de (Robert Blum)
|
||
Cc: linux-activists@joker.cs.hut.fi, nicholas@munnari.oz.au
|
||
In-Reply-To: Your message of Mon, 11 Nov 91 23:56:40 +0100.
|
||
Date: Wed, 13 Nov 91 17:26:33 +0800
|
||
From: nicholas@cs.uwa.oz.au
|
||
|
||
G'day,
|
||
On the previous mail you mention
|
||
|
||
-----------stuff deleted----------------
|
||
I then take these things (sources and/or binaries) and make them available
|
||
on tupac-amaru in a directory called beta. If the Linux community
|
||
-----------stuff deleted----------------
|
||
|
||
I don't see any directory?
|
||
|
||
Another thing, I proposed to torvalds@cc.helsinki.fi to have a TODO
|
||
list so that efforts are not duplicated in porting software. I have
|
||
not heard from since. Is it possible to maintain such a list, for
|
||
example, I have ported bison, anyone interested? I am trying gawk
|
||
but the maths library? Is anyone working on it?
|
||
If there is a list, I would know whether to develop the maths
|
||
library or wait for someone to finish OR help that person.
|
||
|
||
Regards
|
||
|
||
nicholas@cs.uwa.oz.au
|
||
|
||
--[0057]--
|
||
|
||
[0058] daemon@ATHENA.MIT.EDU (Robert Blum) Linux_Activists 11/13/91 06:30 (57 lines)
|
||
Subject: FTP server changes and a TODO file
|
||
Date: Wed, 13 Nov 91 12:28:16 +0100
|
||
From: blum@cip-s01.informatik.rwth-aachen.de (Robert Blum)
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
|
||
Hi Linuxers!
|
||
|
||
I currently did some changes to the directory architecture of the FTP server
|
||
at tupac-amaru.informatik.rwth-aachen.de
|
||
|
||
It contains now the following directories
|
||
doc Documents concerning Linux, installation etc.
|
||
images The image-Files
|
||
binaries Binaries running under Linux
|
||
ofiles .o files (Currently, the 16-bit things)
|
||
installation Tools for installing Linux (Currently: rawrite)
|
||
src/kernel Sources for the kernel
|
||
src/utils Small utilities, currently fsck
|
||
|
||
The kernel sources *DO NOT* contain Linus' new buffer.c (accidentally destroyed), so be *WARNED*. Using the current images or the current kernel sources for
|
||
building a new kernel *MAY LEAD TO A CORRUPTED FILESYSTEM*
|
||
|
||
I hope Linus mails me the new sources and images as soon as V0.11 is available,
|
||
since I currently have no possibility to build a kernel. There are occuring
|
||
to much problems with the non-ANSI c386, but this bist is currently migrating toANSI, so things will change, I hope. (Other way to change would be to upgrade
|
||
to a 4Meg-Machine, but this would leave all those 2Meg freaks alone...).
|
||
Last way for c386 is the ansi2k&r converter, but to use this thing, Linus must
|
||
remove all inline-assembler from the includes, so I am waiting for his answer.
|
||
In the meantime: has someone some real mean ANSI-Prototypes to test the
|
||
prototypes implemented in c386?
|
||
|
||
Now, following is a first version of a TODO-File which is also available
|
||
at tupac-amaru (pub/msdos/replace is the linux-dir, BTW). I am awaiting your
|
||
comments.
|
||
|
||
OK, see you
|
||
Robert Blum
|
||
|
||
|
||
This files contains the status of several tools for Linux
|
||
|
||
Currently ported projects:
|
||
|
||
Name: ported by: available at
|
||
bison nicholas@ec.uwa.oz.au ????
|
||
|
||
===============================================================================
|
||
Projects currently under development:
|
||
|
||
Name: ported by: Remarks
|
||
c386 blum@messua.informatik.rwth-aachen.de Is working under Linux
|
||
Is currently teached
|
||
ANSI. Any help on this
|
||
would be appreciated.
|
||
|
||
gawk nicholas@ec.uwa.oz.au Still needs a working
|
||
mathlib.
|
||
--[0058]--
|
||
|
||
[0059] daemon@ATHENA.MIT.EDU (Peter Busser) Linux_Activists 11/13/91 07:52 (20 lines)
|
||
Subject: comp.os.linux?
|
||
To: Linux-activists@joker.cs.hut.fi
|
||
Date: Wed, 13 Nov 91 13:31:58 MET
|
||
From: Peter Busser <peter@idca.tds.philips.nl>
|
||
|
||
Hi!
|
||
|
||
I got a silly idea. Just ignore it if it's beyond the capacity of your
|
||
silly-mo-meter. ;-)
|
||
|
||
Don't you think it is time to get a real newsgroup for Linux or is that too
|
||
early? The traffic on the mailing list is more than we see in comp.os.misc or
|
||
comp.os.mach or comp.os.xinu... We could reach more people this way, as there
|
||
are net.people who still don't know what Linux is although they are interested
|
||
in the subject. It seems that not many people read the comp.os.minix newsgroup,
|
||
so the least we could do is posting some advertisements.
|
||
|
||
Greetings,
|
||
Peter Busser
|
||
|
||
|
||
--[0059]--
|
||
|
||
[0060] daemon@ATHENA.MIT.EDU (Lars Wirzenius) Linux_Activists 11/13/91 08:45 (22 lines)
|
||
Subject: Newsgroup
|
||
Date: Wed, 13 Nov 91 15:43:22 +0200
|
||
From: wirzeniu@cs.Helsinki.FI (Lars Wirzenius)
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
Peter Busser <peter@idca.tds.philips.nl>:
|
||
|
||
>Don't you think it is time to get a real newsgroup for Linux or is that
|
||
>too early? The traffic on the mailing list is more than we see in
|
||
>comp.os.misc or comp.os.mach or comp.os.xinu... We could reach more
|
||
>people this way, as there are net.people who still don't know what Linux
|
||
>is although they are interested in the subject. It seems that not many
|
||
>people read the comp.os.minix newsgroup, so the least we could do is
|
||
>posting some advertisements.
|
||
|
||
I doubt a regular newsgroup would make it (yet), but how about a group
|
||
in the alt hierarchy? Or at least I think they should be relatively easy
|
||
to create (no voting etc). Of course, they aren't quite as widely
|
||
spread, but perhaps they are spread widely enough?
|
||
|
||
But I like the idea.
|
||
--
|
||
Lars Wirzenius wirzeniu@cs.helsinki.fi
|
||
--[0060]--
|
||
|
||
[0061] daemon@ATHENA.MIT.EDU (Michael Callahan) Linux_Activists 11/13/91 11:27 (21 lines)
|
||
Subject: Re: Newsgroup
|
||
Date: Wed, 13 Nov 91 11:23:22 EST
|
||
From: michael@smectos.gang.umass.edu (Michael Callahan)
|
||
To: linux-activists@joker.cs.hut.fi, wirzeniu@cs.Helsinki.FI
|
||
|
||
I think it would be good to adjourn the discussion to comp.os.misc--if
|
||
the volume keeps up, it will be apparent to the net.community that a
|
||
separate newsgroup would be appropriate.
|
||
|
||
(Note that it is generally considered bad form to try to create a comp
|
||
group when there is not already sufficient *news* volume to justify
|
||
it. This is not true of the alt heirarchy, but then many sites don't
|
||
receive that.)
|
||
|
||
On the other hand, how many people are on the mailing list? If it's a
|
||
small group of people, a mailing list is appropriate.
|
||
|
||
A periodic posting to comp.os.minix as well as comp.unix.sysv386 (yes,
|
||
it's not system V--pity the name was changed from comp.unix.i386) might
|
||
help more people become aware of Linux.
|
||
|
||
Michael
|
||
--[0061]--
|
||
|
||
[0062] daemon@ATHENA.MIT.EDU (Patrick L. McGillan) Linux_Activists 11/13/91 12:22 (16 lines)
|
||
Subject: news vs mail
|
||
From: Patrick L. McGillan <pmcgilla@hp.uwsuper.edu>
|
||
To: linux-activists@joker.cs.hut.fi (Linux User Group)
|
||
Date: Wed, 13 Nov 91 11:17:36 CST
|
||
|
||
Hi all,
|
||
We for one, at this site, do not have a news feed. In order to stay
|
||
with the program I need the mail group postings. On the other hand,
|
||
down the road in the next six months, I will probably put a news
|
||
feed up.
|
||
|
||
--
|
||
Patrick L. McGillan
|
||
Computer Systems Specialist
|
||
University Of Wisconsin Ph: (715) 394-8191
|
||
Superior, Wisconsin pmcgilla@uwsuper.edu
|
||
|
||
--[0062]--
|
||
|
||
[0063] daemon@ATHENA.MIT.EDU (Mika Matti Jalava) Linux_Activists 11/13/91 14:10 (37 lines)
|
||
Subject: some problems
|
||
From: Mika Matti Jalava <r36110m@kaira.hut.fi>
|
||
To: linux-activists@joker.cs.hut.fi
|
||
Date: Wed, 13 Nov 91 21:05:48 EET
|
||
|
||
Hello there...
|
||
|
||
I have a problem with a probably corrupted file system. The setup is
|
||
like this:
|
||
|
||
/dev/hd1 is the root device
|
||
/dev/hd6 is mounted at /tmp
|
||
|
||
both are 20M MFM disks. Now I recompiled the system today with the new
|
||
buffer.c and also got the fsck program to work.
|
||
|
||
The problems began when I fsck'd /dev/hd6 (no errors) and went on
|
||
doing some compilations. A makefile happened to contain 'cc' instead
|
||
of 'gcc' at one point. Of course I got the error message telling that
|
||
cc can't be found, but immediately after that a kernel panic. Some
|
||
message telling about some inode problem (sorry, don't remember
|
||
exactly).
|
||
|
||
Reboot. Everything OK, but now fsck /dev/hd6 gives dozens of errors of
|
||
form
|
||
|
||
Zone XXXX: in use, counted=2
|
||
|
||
Now I think something blew up. Should I try to duplicate the situation
|
||
to get the exact error message when the kernel panics? Can the fs be
|
||
repaired (it seems to be alive)?
|
||
|
||
Then to another problem (it may be that I'm the problem, as I just
|
||
don't know how to do it). Can bad blocks be marked somehow? I have a
|
||
few on my root disk. Luckily they are currently all occupied by a
|
||
file. Can't run fsck on root, though, as it tries to read them.
|
||
|
||
Mika
|
||
--[0063]--
|
||
|
||
[0064] daemon@ATHENA.MIT.EDU (Theodore Ts'o) Linux_Activists 11/13/91 15:53 (90 lines)
|
||
Subject: The patch to buffer.c seems to work!
|
||
Date: Wed, 13 Nov 91 15:49:09 -0500
|
||
From: tytso@ATHENA.MIT.EDU (Theodore Ts'o)
|
||
To: linux-activists@joker.cs.hut.fi
|
||
Reply-To: tytso@athena.mit.edu
|
||
|
||
Well, I tried compiling a kernel with the updated version of buffer.c,
|
||
and it does seem to fix the problem of "compress | tar" corrupting the
|
||
filesystem. It seems to work just fine! I was able to uncompress and
|
||
untar 10 megs of GCC source without causing the filesystem corruption.
|
||
|
||
Note that if you don't have the updated version of buffer.c, you can
|
||
avoid the filesystem corruption problem by not running two or more
|
||
processes at the same time which (1) doing disk I/O and (2) causing the
|
||
buffer cache to thrash. So in other words, I could have avoided the
|
||
problem by doing a "uncompress gcc.tar.Z" and then a "tar xvf gcc.tar",
|
||
instead of connecting the two with a pipeline.
|
||
|
||
I will make a patched kernel image available on TSX-11.MIT.EDU tomorrow
|
||
morning; I will also try downloading it to nic.funet.fi and
|
||
tupac-amaru.informatik.rwth-aachen.de. I will provide two versions. One
|
||
will be a standard version which has the patched buffer.c, and one that
|
||
also has a quick patch to the keyboard driver so that the caps_lock key
|
||
acts like a control key.
|
||
|
||
------------------------------------
|
||
|
||
|
||
Peter Busser writes:
|
||
|
||
>Don't you think it is time to get a real newsgroup for Linux or is that
|
||
>too early? The traffic on the mailing list is more than we see in
|
||
>comp.os.misc or comp.os.mach or comp.os.xinu... We could reach more
|
||
>people this way, as there are net.people who still don't know what Linux
|
||
|
||
There are lots of pluses and minuses of going to Usenet. Some of the
|
||
pluses are increased exposure and getting allowing more people to find
|
||
out about Linux. One of the disadvantages is that with more people
|
||
comes more noise --- if we turned this mailing list into a newsgroup, I
|
||
suspect that the signal to noise ratio would go way down, and the volume
|
||
would go way up. Another disadvantage is that not everyone who has a
|
||
mail feed can necessarily get a news feed.
|
||
|
||
One possible way of solving the last problem is to use a
|
||
newsgroup<->mailing list gateway such as the one which the Perl Users
|
||
mailing list use to connect themselves to the comp.lang.perl newsgroup.
|
||
It allows people who wish to get the mailing list to get digests which
|
||
contain several messages bundled as a single mail message, and replies
|
||
via either news or mail get getwayed correctly.
|
||
|
||
I suspect, though, that the volume and the number of people on this list
|
||
don't quite (yet) constitute enough justification to move to Usenet. It
|
||
would probably be a good idea for people to mention Linux and the
|
||
mailing list on Usenet, though, so that more do find out about it.
|
||
Also, once Linus moves out of Beta test, another possibility is to
|
||
distribute it via one of the Usenet comp.sources or comp.binaries
|
||
newsgroups.
|
||
|
||
--------------------------------------
|
||
|
||
Linus writes:
|
||
|
||
>Urgh. I should never have included the mtools package :-). The problem
|
||
>is that the root-diskette filled up, and mcopy is just the front-end for
|
||
>other programs. mwrite, which actually writes to msdos, didn't fit.
|
||
|
||
Well, I actually *like* the mtools package; it's awfully convenient for
|
||
me to be able to read/write files from MS-DOS filesystems. Since I
|
||
don't have a tar for MS-DOS, the only other way right now for me to
|
||
transfer files from Linux to my MS-DOS partition is to tar them onto a
|
||
floppy, take the floppy to work, read the floppy on my workstation in my
|
||
office, and then go back home and kermit it over dialup. Not very
|
||
satisfactory. :-)
|
||
|
||
I suppose the right way to do it would be to introduce a VFS layer into
|
||
the Linux kernel, and then have someone implement a DOS filesystem which
|
||
you could mount under Linux, but right now I don't have the time to
|
||
commit to a project like that.
|
||
|
||
In the meantime, would it be possible for me to get the sources to the
|
||
mtools package? You could either mail it to me, or drop it off via
|
||
anonymous FTP in /pub/incoming on tsx-11.mit.edu. I'll make it
|
||
available so that anyone else who wants to use it will be free to do so.
|
||
In the same vein, it would nice if I could get a copy of the GCC machine
|
||
discription file and other config files which you used to build GCC
|
||
1.40. That will make it easier for me to try to get GCC 2.0 up and
|
||
running.
|
||
|
||
- Ted
|
||
|
||
|
||
--[0064]--
|
||
|
||
[0065] daemon@ATHENA.MIT.EDU (Peter MacDonald) Linux_Activists 11/13/91 22:52 (35 lines)
|
||
Subject: virtual consoles, shared text and paging
|
||
Date: Wed, 13 Nov 91 19:47:57 PST
|
||
From: pmacdona@sol.UVic.CA (Peter MacDonald)
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
Following are the three things required before I would
|
||
consider leaving minix:
|
||
|
||
shared-text
|
||
virtual-consoles
|
||
9600 serial
|
||
|
||
Is anyone out there interested or working on these?
|
||
I would be willing to take a stab at say virtual
|
||
consoles ala Gordon Irlam, if I could get init/login/ttys
|
||
from Ari Lemmke first. Comments?
|
||
|
||
|
||
Next I want to babble about something I know nothing about: paging
|
||
|
||
For those of us with small disks, devoting some of our precious space
|
||
for a paging partition is undesirable. Which bring me to ask if we
|
||
truly need paging at all. Is it possible/practical/desirable to
|
||
try to page executables from the file system? A working set size
|
||
could be established and when ram got tight, little used pages
|
||
freed for data requirements. Maybe code blocks should only
|
||
be loaded on demand?
|
||
|
||
Perhaps on invocation, a map could be formed indicating where each
|
||
block of an executable was on disk. Of course, if the image file
|
||
were subsequently deleted, then you have a problem.
|
||
|
||
Since I am as near illiterate on OS paging system designs as
|
||
you can get, feel free to enlighten me.
|
||
|
||
|
||
--[0065]--
|
||
|
||
[0066] tytso@ATHENA.MIT.EDU Linux_Activists 11/14/91 13:34 (9 lines)
|
||
Subject: Re: startup files
|
||
Date: Thu, 14 Nov 91 10:39:00 CET
|
||
From: Wolfgang Thiel <UPSYF173%DBIUNI11.BITNET@FINHUTC.hut.fi>
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
Hi,
|
||
there are as well different startup files, bash is looking for depending
|
||
on whether it is called as a login shell or not. I could send you more
|
||
information if needed (my bash docs are at home, not here!).
|
||
Wolfgang
|
||
--[0066]--
|
||
|
||
[0067] tytso@ATHENA.MIT.EDU Linux_Activists 11/14/91 13:34 (40 lines)
|
||
Subject: About paging
|
||
Date: Thu, 14 Nov 91 10:02:06 +0100
|
||
From: kw@dde.dk (Kurt Wachmann)
|
||
To: Linux-activists@joker.cs.hut.fi
|
||
|
||
One tiny question first:
|
||
|
||
**************************************************************
|
||
* Any pointers to a working ftp mailserver?? I can't ftp!! *
|
||
**************************************************************
|
||
|
||
About swapping/paging:
|
||
|
||
I think demand paged virtual memory is a requirement for a
|
||
real OS. No more crammed "just a bit better than DOS" OS'es,
|
||
please! After all, disk memory is still cheaper than RAM.
|
||
|
||
Peter MacDonald asks if it's possible to demand pages from the
|
||
load-module: yes in deed. This is done in lots of commercial
|
||
systems; one reason being the startup time for large applica--
|
||
tions; e.g. emacs :-). You only need a few pages of 4kb to
|
||
start the monster. The system will seem much faster.
|
||
|
||
For this to work properly, a few things are needed. For in--
|
||
stance, the code segment of the load module must start at a
|
||
block boundary in the file system, eg. offset 2kb from the
|
||
start.
|
||
The file system must also be fast - pointers to physical disk
|
||
locations should be kept in RAM - in this way, it will not be
|
||
(much) slower than reading from a swap-disk.
|
||
Of course the load module must be locked while it's being
|
||
executed.
|
||
|
||
I still think we need to be able to swap out data - think
|
||
about running X-applications, with tons of data almost never
|
||
being used.
|
||
|
||
|
||
Kind regards
|
||
|
||
Kurt \/\/achmann, M.Sc. EE/SE
|
||
--[0067]--
|
||
|
||
[0068] tytso@ATHENA.MIT.EDU Linux_Activists 11/14/91 13:34 (17 lines)
|
||
Subject: mtools
|
||
Date: Thu, 14 Nov 91 11:02:52 CET
|
||
From: Wolfgang Thiel <UPSYF173%DBIUNI11.BITNET@FINHUTC.hut.fi>
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
Hi,
|
||
Has somebody been looking into the mtools sources? I had problems
|
||
with it and BIGDOS partitions: mtools did not look for the NumberOfSec-
|
||
tors at the right offset in the root sector. I now get the proper in-
|
||
formation concerning NofTracks/NofSectors for my big DOS partition, but
|
||
nevertheless, it is not working right for big sector numbers. After a
|
||
lot of printf's in the sources I now suspect there is an error in the
|
||
LINUX hd driver. Did somebody else had problems with big sector num-
|
||
bers? By the way: 16 bit INT'ers will have problems with instructions
|
||
like block = num >>BLOCKSIZE_BITS. This can lead to unwanted values
|
||
if the high bit is set, if I understand the C definitions of right shift
|
||
right.
|
||
Wolfgang
|
||
--[0068]--
|
||
|
||
[0069] tytso@ATHENA.MIT.EDU Linux_Activists 11/14/91 13:35 (49 lines)
|
||
Subject: mtools, demand-loading, paging
|
||
Date: Thu, 14 Nov 1991 13:22:37 +0200
|
||
From: Linus Benedict Torvalds <torvalds@cc.helsinki.fi>
|
||
To: Linux-activists@joker.cs.hut.fi
|
||
|
||
Hi again. Several people have inquired about mtools. The sources I
|
||
used are available on nic.funet.fi: pub/unix/386ix/isc/source/mtools*.
|
||
I don't know if this is the most recent version. And no - linux
|
||
probably cannot read partitions >64MB. The reason is (partly) the minix
|
||
file system. See later.
|
||
|
||
Paging to disk has also come up: It will certainly be implemented (in
|
||
fact one of the bigger changes in the 0.10 fs was due to making ready
|
||
for this). There are no obvious problems with this, but unless somebody
|
||
else wants to try to implement it, it will take some time (I'm talking
|
||
March-92 at the earliest, probably not until summer). One of my problems
|
||
is (will be) lack of disk-space to try it out on.
|
||
|
||
As for demand-loaded executables... hmm. There are a couple of problems
|
||
with this: the minix filesystem wasn't meant for it, and it would be
|
||
MUCH easier to implement if BLOCK_SIZE was 4096 (= one page) instead of
|
||
the current 1024. This of course means waste of disk-space. The problem
|
||
with the minix filesystem isn't that serious: I'll have to move on to
|
||
something else anyway - 64M partitions can be limiting for those who have
|
||
disks big enough to hold them (and the afore-mentioned 64Mb limit even
|
||
for direct read/writes.. This I can try to do something about).
|
||
|
||
The more serious problem about demand-loading is that the fs isn't
|
||
really designed for it - I doubt the locking mechanism used currently
|
||
will suffice. If people would accept a non-locking demand-loading (ie
|
||
you could write to the file while it's in use etc...) I could possibly
|
||
try to implement it. Again - not until well into -92.
|
||
|
||
And a little small sad note: I know I said symlinks would probably be in
|
||
the next version, but unless I can get the higher priorities completed,
|
||
this will be left for later. The things now relatively certain (barring
|
||
acts of God etc) are: fsck, mkfs, badblocks, fdisk, non-VGA video and
|
||
finally the correction to the serial drivers to change speed by the
|
||
ioctl call. I'll look into extended partitions (fdisk will probably
|
||
report them), but I doubt they will be accepted by the kernel proper
|
||
until later.
|
||
|
||
Linus
|
||
|
||
PS. I try to answer all mail as soon as I get it, but I get MUCH mail.
|
||
If you think the mailing-list has been active: think again :-). If you
|
||
don't hear from me, I've probably forgotten to answer at once, and once
|
||
your mail is in my mailbox, it's likely to be lost among the multitude.
|
||
Re-mail your question, and make me feel guilty about not replying the
|
||
first time: that's the ticket.
|
||
--[0069]--
|
||
|
||
[0070] tytso@ATHENA.MIT.EDU Linux_Activists 11/14/91 13:35 (12 lines)
|
||
Subject: FTP mailserver
|
||
Date: Thu, 14 Nov 1991 14:31:39 +0200
|
||
From: Ari Lemmke <arl@sauna.cs.hut.fi>
|
||
To: Linux-activists@joker.cs.hut.fi
|
||
|
||
kw@dde.dk (Kurt Wachmann):
|
||
> Any pointers to a working ftp mailserver?? I can't ftp!!
|
||
|
||
Not to be announced publicly ;-)
|
||
|
||
try "mailserver@nic.funet.fi" and mail _body_ having "help".
|
||
|
||
arl
|
||
--[0070]--
|
||
|
||
[0071] daemon@ATHENA.MIT.EDU (Marc CORSINI) Linux_Activists 11/15/91 08:28 (103 lines)
|
||
Subject: True life story | FAQ how to install linux on hd
|
||
Date: Thu, 14 Nov 91 21:47:28 +0100
|
||
From: corsini@numero6.greco-prog.fr (Marc CORSINI)
|
||
To: Linux-activists@joker.cs.hut.fi
|
||
In-Reply-To: Ari Lemmke's message of Thu, 14 Nov 1991 14:31:39 +0200 <199111141231.AA12016@sauna.cs.hut.fi>
|
||
|
||
|
||
Hello happy lunixers,
|
||
don't know if the subject is still under interest, but since the
|
||
title is clear u can easily trash it.
|
||
I'm not a Unix guru, nor a C guru, nor even a Msdos guru (but who
|
||
cares), and I do not have minix. Ok, now about my hardware:
|
||
a 386 sx, 2Mo Ram, 2hd one single bootable partionned Dos (120Mo)
|
||
and a 2 partitionned 40Mo (8 for dos, 32 for linux). Drive A is 1.44Mo
|
||
and B a 1.2Mo. To install once linux it took me 3days (36hours), to
|
||
reinstall it a second time no more than 1/4 an hour :-))
|
||
So i think that the following menu might be interesting (for future
|
||
linuxers), for others just have a look on (II.a.2 and III.):
|
||
|
||
I. image to diskette
|
||
--------------------
|
||
a) First of all get the minix demo-disk on plains.nodak.edu in
|
||
pub/Minix/????/demo
|
||
b) *don't forget* the rawrite.c program
|
||
c) rawrite the demo_disk on a formatted diskette (if u have trouble
|
||
like I had comment the error detection !!)
|
||
d) get the linux image on nic.funet.fi or any other place
|
||
e) rawrite them on /identical size/ diskette (either 1.2 or 1.44)
|
||
f) choose a partition on (one of) ur hd(s)
|
||
|
||
that's all for dos time
|
||
|
||
II. unix for i386 ....
|
||
----------------------
|
||
|
||
a) boot on the minix demo disk
|
||
PAY ATTENTION this demo disk can ONLY access to the 1st disk so
|
||
a.1: if ur choosen partition is on hd0 (the first one) do
|
||
mkfs /dev/hdX where X is in [1..4] the partition *UNDER MINIX* are
|
||
ordered
|
||
a.2: u silly choosed a partition on the 2nd hd (hd1) in that case u
|
||
have to [thanks linus it was simple and efficient]
|
||
|
||
1) Mount the linux root Image
|
||
-- if u use a 1.2 Mo drive do /etc/mount /dev/fdX /yyy
|
||
where X is 0 for drive A and 1 for drive B
|
||
-- if u use a 1.44 drive do /etc/mount /dev/PSX /yyy
|
||
where X is same as above
|
||
/yyy is the directory where u mount
|
||
2) then Perform a mkfs
|
||
mkfs /yyy/dev/hdY
|
||
where Y is in [6..9]
|
||
|
||
THAT's all for minix
|
||
|
||
b) boot on the linux bootimage, if all is fine (it should be), put the
|
||
rootimage disk ok.
|
||
c) now mount the partition:
|
||
PAY ATTENTION under *LINUX* the partition numbering is NOT the minix
|
||
one try a "backward" numbering i.e. either from 4 to 1, either from 9
|
||
to 5.
|
||
d) copy the files/directories (easy, there is a bash script in
|
||
INSTALL-0.10 on nic.funet.fi).
|
||
|
||
III. How to change ur bootimage to access directly on hd
|
||
--------------------------------------------------------
|
||
|
||
Simple if u take the C program in INSTALL-0.10 *AND* if u know that:
|
||
|
||
the device number to use
|
||
#define NEW_DEV is_partition_number_under_linux
|
||
|
||
|
||
*AND*
|
||
|
||
|
||
if u DO NOT COMPILE THIS FILE ON SUN or OTHER UniX Station
|
||
|
||
OTHERWISE (* i was in that case *)
|
||
|
||
U HAVE TO CHANGE SOMETHINGS *only the diffs are pointed out* in what
|
||
follows (in french i would have said "inversion des bits de poids
|
||
forts et de poids faibles")
|
||
|
||
|
||
#define NEW_DEV 0x301 ---\ for DOS
|
||
|
|
||
/
|
||
#define NEW_DEV 0x103 --- for SUN/ALLIANT/...
|
||
|
||
|
||
[identical part deleted]
|
||
|
||
|
||
if (0xAA55 != *((unsigned short *)(tmp+510)))
|
||
||||
|
||
if (0x55AA != *((unsigned short *)(tmp+510)))
|
||
|
||
|
||
|
||
[rest is identical]
|
||
|
||
IV Enjoy this UniX kernel
|
||
-------------------------
|
||
--[0071]--
|
||
|
||
[0072] daemon@ATHENA.MIT.EDU (Robert Blum) Linux_Activists 11/15/91 10:56 (28 lines)
|
||
Subject: FTP-Server tupac-amaru
|
||
Date: Fri, 15 Nov 91 16:53:44 +0100
|
||
From: blum@cip-s01.informatik.rwth-aachen.de (Robert Blum)
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
|
||
Hi Linuxers!
|
||
|
||
As arl pointed out in an earlier posting, there was no directory to put images
|
||
or files in on tupac-amaru. This has now changed, so if anybody wants to upload
|
||
something, just change to /pub/msdos/replace/incoming.
|
||
This should be writeable to the world. So arl, would you please be so kind
|
||
and upload the new images?
|
||
Thank you!
|
||
|
||
Oh, before I forget it: Is nobody out there working on concrete projects?
|
||
I've still got no mail with any extensions to the TODO list....
|
||
|
||
And again the question: Are any compiler gurus out there? need help in ANSI-
|
||
fication of C386. (Or somebody has to implement pagin *QUICK* :-). I want
|
||
to be able to do some kernel development, thats what I started using Linux
|
||
for....
|
||
End where do I end up: A C-Compiler.
|
||
OK, but another way I will certainly try is dj's port of gcc to MSDOS. This
|
||
one has already implemented swapping and I think it's one possibility to use
|
||
it to build a kernel instead of Linux gcc. If anybody is interested in an
|
||
experience report, just mail
|
||
|
||
CU l8er
|
||
--[0072]--
|
||
|
||
[0073] daemon@ATHENA.MIT.EDU (proven@Athena.MIT.EDU) Linux_Activists 11/15/91 11:44 (9 lines)
|
||
Subject: No subject found in mail header
|
||
From: proven@Athena.MIT.EDU
|
||
Date: Fri, 15 Nov 91 11:40:35 -0500
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
|
||
Ok, if no one else is working on a VFS layer, I will. I'll also try to
|
||
get a first cut done for the 0.11 release but I'll make no promisses.
|
||
|
||
CAP
|
||
--[0073]--
|
||
|
||
[0074] daemon@ATHENA.MIT.EDU (Peter MacDonald) Linux_Activists 11/15/91 16:18 (18 lines)
|
||
Subject: linux, compilers and paging
|
||
Date: Fri, 15 Nov 91 13:11:35 PST
|
||
From: pmacdona@sol.UVic.CA (Peter MacDonald)
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
One of the things I find anoying about minix is having multiple compilers
|
||
(just bcc and gcc). Just using one compiler (gcc in linux) really helps
|
||
adhere to the KISS principle. But as Robert Blum points out, gcc is
|
||
a hog. I guess this is why we see the 1.7 Meg buffer caches.
|
||
|
||
While paging might be nice, you still have to reload gcc N times to compile
|
||
an N module program, for the typical makefile. The only other way I see
|
||
around the huge buffer cache is to implement the sticky bit to keep a
|
||
programs pages in memory.
|
||
|
||
The other alternative, #ifdef GCC, #ifdef C386 etc throughout the code, and
|
||
having multiple object file types about, is even less savory. I would
|
||
rather live with setting and clearing sticky bits before and after heavy
|
||
compile sessions. I wonder what others think though?
|
||
--[0074]--
|
||
|
||
[0075] daemon@ATHENA.MIT.EDU (Theodore Ts'o) Linux_Activists 11/15/91 18:45 (64 lines)
|
||
Subject: Important! Bug in /usr/include/ctypes.h
|
||
Date: Fri, 15 Nov 91 18:42:58 -0500
|
||
From: tytso@ATHENA.MIT.EDU (Theodore Ts'o)
|
||
To: linux-activists@joker.cs.hut.fi
|
||
Reply-To: tytso@athena.mit.edu
|
||
|
||
I found the problem which caused "mcopy a:*.c ." to files with
|
||
unreadable filenames. The problem was that it was trying to convert the
|
||
uppercase MS-DOS filenames to lowercase, and this was failing because
|
||
tolower() is incorrectly defined in ctype.h: the plus sign should be a
|
||
minus sign.
|
||
|
||
diff -r1.1 ctype.h
|
||
31c31
|
||
< #define tolower(c) (_ctmp=c,isupper(_ctmp)?_ctmp+('a'+'A'):_ctmp)
|
||
---
|
||
> #define tolower(c) (_ctmp=c,isupper(_ctmp)?_ctmp+('a'-'A'):_ctmp)
|
||
|
||
If you are trying to port programs to Linux, you should apply this patch
|
||
to your ctype.h --- it could save you a lot of aggravation. (I know
|
||
that it will cause problems with flex at the very least, and probably
|
||
many other programs.)
|
||
|
||
------------------------------------------
|
||
|
||
I agree with Peter McDonald's observation that it is extremely nice to
|
||
have only compiler for Linux, and it would be a shame if one needed to
|
||
have both compilers around, depending on which compiler was used by a
|
||
developer. At the very least, it would make the code uglier as people
|
||
put in porting #ifdef's. gcc has a lot to recommend it, especially
|
||
since version 2.0 gives you g++ and Objective C basically for free.
|
||
|
||
I note that once Linux has paging, gcc will be able to work with 2 meg
|
||
machines, although granted, it will be slower than normal. I don't know
|
||
what kind of speed hit gcc on a 2 meg machine with paging would take,
|
||
but perhaps this would be sufficient that we can just have one main
|
||
compiler for Linux.
|
||
|
||
Also, memory is getting relatively cheap these days --- we're talking
|
||
maybe US$30 to US$40 per megabyte if your machine can take SIMMS.
|
||
Upgrading a machine from 2 meg to 4 meg doesn't cost *that* much money.
|
||
As long as the system will run gcc (albeit slowly), would this alleviate
|
||
concerns about insufficient support of 2 meg machines?
|
||
|
||
----------------------------------------
|
||
|
||
Along the lines of having only one compiler for Linux, I am currently
|
||
looking into how it might be possible to assmeble the 16-bit binary
|
||
portions of Linux, so that we could just use gas to compile the boot
|
||
sector and setup code. There are a bunch of issues to deal with,
|
||
including modifying gas to emit 16-bit object files, which doesn't look
|
||
that hard.
|
||
|
||
Another problem is that the gas format is using a "source, destination"
|
||
convention, while the as86 assembler seems to be using a "destination,
|
||
source" convention. If absolutely necessary, I can figure some of the
|
||
unclear translations by looking at the object code in the boot sector
|
||
and the matching it up against the opcodes in the gas sources, but this
|
||
seems rather crude and unpleasant. Does someone have a quick conversion
|
||
chart between the two assemblers which they could send to me? This
|
||
would save me a lot of dirty work. Thanks!
|
||
|
||
- Ted
|
||
|
||
|
||
--[0075]--
|
||
|
||
[0076] daemon@ATHENA.MIT.EDU (John T Kohl) Linux_Activists 11/16/91 05:06 (11 lines)
|
||
Subject: Linux vs. 486/33
|
||
Date: Sat, 16 Nov 91 01:03:49 -0700
|
||
From: John T Kohl <jtkohl@Athena.MIT.EDU>
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
I just got a new 486/33 today, and linux only seems to want to boot if
|
||
the "turbo" switch is turned off. If I turn it once I'm running ,it
|
||
seems to cause no problems.
|
||
|
||
I'm booting off a 1.44MB 3.5" floppy.
|
||
|
||
John
|
||
--[0076]--
|
||
|
||
[0077] daemon@ATHENA.MIT.EDU (Johan Myreen) Linux_Activists 11/16/91 13:11 (20 lines)
|
||
Subject: Re: demand-loading, paging
|
||
From: Johan Myreen <jem@sauna.cs.hut.fi>
|
||
To: linux-activists@joker.cs.hut.fi
|
||
Date: Sat, 16 Nov 91 20:09:51 EET
|
||
In-Reply-To: <199111141122.AA04091@kruuna.helsinki.fi>; from "Linus Benedict Torvalds" at Nov 14, 91 1:22 pm
|
||
|
||
> As for demand-loaded executables... hmm. There are a couple of problems
|
||
> with this: the minix filesystem wasn't meant for it, and it would be
|
||
> MUCH easier to implement if BLOCK_SIZE was 4096 (= one page) instead of
|
||
> the current 1024.
|
||
|
||
One thing could be a problem with demand-loaded executables: finding
|
||
the page on disk means going through the file system, whereas paging
|
||
from a dedicated swapping partition could be a simpler and faster
|
||
operation. Admittedly, the first read must be done from the
|
||
executable, and demand loading from the file probably makes the load
|
||
process seem faster.
|
||
|
||
--
|
||
Johan Myreen
|
||
jem@cs.hut.fi
|
||
--[0077]--
|
||
|
||
[0078] daemon@ATHENA.MIT.EDU (Peter MacDonald) Linux_Activists 11/16/91 19:33 (52 lines)
|
||
Subject: demand paging: proposal
|
||
Date: Sat, 16 Nov 91 16:28:57 PST
|
||
From: pmacdona@sol.UVic.CA (Peter MacDonald)
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
I finally bit the bullet. Yup, I blew away my dos partition and
|
||
put Linux on it. Now I would like to start a project. I consider
|
||
virtual consoles to be high priority, but until init/login etc is
|
||
done, there is probably no use starting that.
|
||
|
||
Thus I am proposing to look at demand paging from the file system.
|
||
If Linus agrees to consider adding it to linux when it is done,
|
||
and nobody successfully shoots this proposal down, I will start
|
||
tuit suite.
|
||
|
||
If someone else wants to help (or do all of it) let me know.
|
||
I have broken it down into phases to clarify understanding,
|
||
not necessarily to imply they might be released in this order (if ever).
|
||
If you think this is a house of cards, let me know ASAP.
|
||
|
||
|
||
Proposed Design:
|
||
|
||
Phase 1:
|
||
- Upon loading an executable, create a map that is stored in the
|
||
process that locates all blocks on disk. Do not look at fs again.
|
||
- Load only the first 4K page and execute.
|
||
- Upon a code page fault load the required 4 blocks into ram.
|
||
- Make no attempt to lock file image (count on seg violation?)
|
||
|
||
Phase 2:
|
||
- Attempt to share executable images in ram (shared-text).
|
||
|
||
Phase 3:
|
||
- Attempt to implement the stickey bit, to pin an executable
|
||
in memory once loaded.
|
||
- Find a way to flush it (all) from memory when done.
|
||
|
||
Phase 3:
|
||
- Attempt to manage working sets in memory if data requirements
|
||
exceed available ram (down to ~15%).
|
||
|
||
Phase 4:
|
||
- Paging (writing) data to a partition or fixed size file.
|
||
- Locking paged image file.
|
||
|
||
Issues:
|
||
|
||
- Allocating/deallocating memory for the program maps.
|
||
- Enable/disable paging when booting from shoelace?
|
||
- Do not use working set with pinned pages?
|
||
- File locks held in ram only?
|
||
|
||
--[0078]--
|
||
|
||
[0079] daemon@ATHENA.MIT.EDU (Peter MacDonald) Linux_Activists 11/16/91 20:10 (22 lines)
|
||
Subject: alternative to paging
|
||
Date: Sat, 16 Nov 91 17:07:24 PST
|
||
From: pmacdona@sol.UVic.CA (Peter MacDonald)
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
I just downloaded sed, tr etc from TSX-11 and are they ever big!
|
||
|
||
An alternative to the demand paging scenario I just posted
|
||
would solve another, probably more pressing, problem.
|
||
|
||
|
||
9k : size of minix executable of diff
|
||
36k : size of gcc compiled executable of diff
|
||
4k : size of gcc compiled diff.o
|
||
|
||
It won't be to long before my disk flow'th over. Not to mention
|
||
ram requirments. Can anyone give me any advice on implementing
|
||
dynamic link shared libraries? I need to figure out:
|
||
|
||
- should the entire shared library be kept in ram? (simplest?)
|
||
- how best to map this into each processes code space?
|
||
- how to modify the linker and runtime loader?
|
||
|
||
--[0079]--
|
||
|
||
[0080] daemon@ATHENA.MIT.EDU (Theodore Ts'o) Linux_Activists 11/16/91 21:07 (18 lines)
|
||
Subject: Re: Linux vs. 486/33
|
||
Date: Sat, 16 Nov 91 20:58:55 -0500
|
||
From: tytso@ATHENA.MIT.EDU (Theodore Ts'o)
|
||
To: John T Kohl <jtkohl@Athena.MIT.EDU>
|
||
Cc: linux-activists@joker.cs.hut.fi
|
||
In-Reply-To: John T Kohl's message of Sat, 16 Nov 91 01:03:49 -0700,
|
||
Reply-To: tytso@athena.mit.edu
|
||
|
||
Date: Sat, 16 Nov 91 01:03:49 -0700
|
||
From: John T Kohl <jtkohl@Athena.MIT.EDU>
|
||
|
||
I just got a new 486/33 today, and linux only seems to want to boot if
|
||
the "turbo" switch is turned off. If I turn it once I'm running ,it
|
||
seems to cause no problems.
|
||
|
||
Interesting.... I have no problems running at 40Mhz on my 386. How does
|
||
it die?
|
||
|
||
- Ted
|
||
--[0080]--
|
||
|
||
[0081] daemon@ATHENA.MIT.EDU (Theodore Ts'o) Linux_Activists 11/16/91 22:54 (102 lines)
|
||
Subject: Re: demand paging: proposal
|
||
Date: Sat, 16 Nov 91 22:47:00 -0500
|
||
From: tytso@ATHENA.MIT.EDU (Theodore Ts'o)
|
||
To: pmacdona@sol.UVic.CA
|
||
Cc: linux-activists@joker.cs.hut.fi
|
||
In-Reply-To: Peter MacDonald's message of Sat, 16 Nov 91 16:28:57 PST,
|
||
Reply-To: tytso@athena.mit.edu
|
||
|
||
From: pmacdona@sol.UVic.CA (Peter MacDonald)
|
||
|
||
> - Attempt to implement the stickey bit, to pin an executable
|
||
> in memory once loaded.
|
||
|
||
Everyone should note that this is not the original meaning of the sticky
|
||
bit, in the BSD 4.3 sense. In the BSD sense, what the sticky bit means
|
||
is that after the program exits, its entry in the text table is not
|
||
purged and its swap space is not reclaimed. The program was _not_
|
||
locked into memory, and would get swapped out if demands were placed on
|
||
the VM system. The rationale behind this is that in a time-sharing
|
||
environment, programs like GNU emacs are almost in use by *someone*, and
|
||
in the case where the last person finishes running emacs, the program
|
||
should not be flushed from the text cache, swap space, and ram, in the
|
||
hope that another user would be starting an emacs before the unused
|
||
program got swapped out to disk. In that case, the user would win since
|
||
no disk I/O would be needed. However, in a single-user environment,
|
||
the value of the sticky bit is rather dubious, and Project Athena
|
||
workstations don't even bother using it for this reason.
|
||
|
||
That being said, I'm not too sure that pinning an executable into memory
|
||
is a good idea. Unless you have gobs and gobs of memory, you wouldn't
|
||
be able to "sticky bit" more than one or two programs before you run out
|
||
of physical memory, and in the meantime, locking down large amounts of
|
||
memory would increase the amount of VM thrashing when other programs
|
||
are running.
|
||
|
||
A better idea might be to not flush the text table entry once its ref
|
||
count goes to zero, but to rather wait until the last of its text pages
|
||
are paged out (which will happen sooner rather or later because there is
|
||
no program using the text). However, if the text is used by a process
|
||
before the last pages are reclaimed then you will win because some
|
||
number of pages won't need to be brought back in from disk. Thus, this
|
||
system will do the right thing for someone who has enough memory to keep
|
||
gcc, make, etc. in core at the same time during a build. The advantage
|
||
that this scheme has is that it will automatically adapt to whatever
|
||
text image is being repeatedly used --- you don't need to sticky bit a
|
||
limited number of processes. For this reason, it is also a much fairer
|
||
system.
|
||
|
||
------------------------------------
|
||
|
||
>9k : size of minix executable of diff
|
||
>36k : size of gcc compiled executable of diff
|
||
>4k : size of gcc compiled diff.o
|
||
|
||
>It won't be to long before my disk flow'th over. Not to mention
|
||
>ram requirments.
|
||
|
||
The culprit here is the floating point library (i.e., the soft floats);
|
||
even if your program isn't using floats, printf() drags large portions
|
||
of it in. The bottom line is that every integer-only executable will be
|
||
roughly 10-20k bigger than it has to be. That's most of the problem,
|
||
anyway; the most of the rest of it is due to things like gmalloc.o,
|
||
which is 4979 bytes. (malloc.o on the vax is 1176 bytes).
|
||
|
||
There are a couple of hack solutions, which I perhaps shouldn't mention
|
||
because they might actually get implemented :-) One way to do it would
|
||
be to include the soft-float library in the kernel, and map those pages
|
||
read-only at the top of the address space for every process. This has
|
||
the advantage that you don't need to run a linker at run-time, since the
|
||
addresses for the soft-float library would be well-known constants.
|
||
(you'd probably put a jump table at the tippy-top, and make all the
|
||
rum-time routines reference the jump table).
|
||
|
||
This is very ugly, and it is only (barely) justifiable because (1) every
|
||
single program is going to need the floating point library and (2) it is
|
||
unlikely that the FP library will be changing often, so requiring that
|
||
you recompile the kernel to replace the FP library isn't quite as nasty
|
||
as it first seems. It is definitely not something that you would want
|
||
to use for sharing copies of the dbm library or the X toolkit. The only
|
||
reason why I mention it is that doing shared libraries for real would
|
||
probably entail a lot more work. :-)
|
||
|
||
-----------------------------------
|
||
|
||
I've noticed that there is a bug in the system call waitpid() --- the
|
||
parent process gets told that exit code for the child process is always
|
||
zero. I've already sent a patch to Linus privately, but if anyone else
|
||
is interested in the batch, it is available on TSX-11.MIT.EDU, in
|
||
/pub/linux/patches/exit.c.patch .
|
||
|
||
I've also uploaded tar files containg the binaries and libraries of
|
||
Bison and Flex to TSX-11, nic.funet.fi, and tupac-amaru. Bison and
|
||
Flex are yacc and lex replacements from the GNU project. Flex passes
|
||
all but the COMPRESSION=-Cf and COMPRESSION=-CF regressions tests ---
|
||
however, it looks like it's not a fault of flex, but rather of GCC. It
|
||
looks like gcc is not compiling the resulting (very large) scan.c files
|
||
correctly. For normal usage, however, flex (and gcc) should work just
|
||
fine.
|
||
|
||
Enjoy!
|
||
|
||
- Ted
|
||
|
||
--[0081]--
|
||
|
||
[0082] daemon@ATHENA.MIT.EDU (John T Kohl) Linux_Activists 11/17/91 02:17 (50 lines)
|
||
Subject: more on 486/33 weirdness
|
||
Date: Sat, 16 Nov 91 23:11:47 PST
|
||
To: linux-activists@joker.cs.hut.fi
|
||
From: John T Kohl <jtkohl@cs.berkeley.edu>
|
||
Reply-To: jtkohl@cs.berkeley.edu
|
||
|
||
Here are more details on my problems with booting in turbo mode:
|
||
|
||
system config:
|
||
486DX/33, 256K cache, 8MB main memory
|
||
American Megatrends, Inc. BIOS
|
||
real-time clock
|
||
1 3.5" floppy (A:), 1 5.25" floppy (B:)
|
||
1 200MB IDE drive (connor)
|
||
C:, /dev/hd2, /dev/hd3, D: partitions (in that order)
|
||
SVGA: (Orchid ProDesigner IIs/1MB)
|
||
|
||
I boot off the 3.5" floppy, with root partition on /dev/hd2 and/or /dev/hd3.
|
||
|
||
sample errors when in "turbo" (33MHz) mode:
|
||
|
||
<startup stuff>
|
||
Partition table Ok.
|
||
general protection: 0000
|
||
EIP 0008:0000CBB3
|
||
EFLAGS 0010206
|
||
ESP 0300:0001D210
|
||
fs: 0010
|
||
base 04000000, limit 000A0000
|
||
Pid: 1, process number 1
|
||
f3 a5 50 e8 7d fb ff ff 83 c4
|
||
|
||
... or
|
||
|
||
general protection: 67b4
|
||
EIP 10008:00000004
|
||
EFLAGS 00010206
|
||
ESP 0020:000067B6
|
||
fs: 0010
|
||
base 04000000, limit 000A0000
|
||
Pid: 1, process number 1
|
||
07 20 00 00 27 30 00 00 07 40
|
||
|
||
|
||
sometimes I get two "general protection" errors (same process, usually).
|
||
|
||
When I toggle the turbo on & off while running, I don't observe any
|
||
change in running times of programs (but I can discern differences under
|
||
MS-DOS 5.0), even when I run programs which try to time themselves.
|
||
|
||
Any suggestions?
|
||
--[0082]--
|
||
|
||
[0083] daemon@ATHENA.MIT.EDU (Nicholas Yue) Linux_Activists 11/17/91 03:26 (31 lines)
|
||
Subject: Re: more on 486/33 weirdness
|
||
Date: Sun, 17 Nov 91 17:20:38 WST
|
||
From: nicholas@cs.uwa.oz.au (Nicholas Yue)
|
||
To: jtkohl@cs.berkeley.edu, linux-activists@joker.cs.hut.fi
|
||
|
||
G'day,
|
||
I had a similar observation when using the 386/387 assembly. I had wanted
|
||
a mathlib badly so I made try to compile the code from DJ's GPP (for MS-DOS).
|
||
The maths routine are written mostly in assembly language. I compiled the
|
||
C and assembly code and made libm.a, ranlib the things. All without problem.
|
||
I then proceeded to write a small C program with a sin() and tan() call.
|
||
That is when I had
|
||
|
||
device not available: 0000
|
||
EIP: 000f:00000060
|
||
EFLAGS: 00010246
|
||
ESP: 0017:03FFFED0
|
||
fs: 0010
|
||
base: 10000000. limit: 04000000
|
||
Stack: 00000044 66666666 40026666 03fffe48
|
||
Pid: 2123, process nr: 4
|
||
dd 44 24 04 d9 fe df e0 9e 7b
|
||
|
||
A wild guess, does it have anything to do with the fact that on the 486, the
|
||
maths coprocessor is already incorporated onto the chip it-self?
|
||
|
||
BTW, I am trying to compile the bsd-reno's maths library temporary. Anybody
|
||
with warning, advice, question please e-mail to me.
|
||
|
||
nicholas@cs.uwa.oz.au
|
||
|
||
|
||
--[0083]--
|
||
|
||
[0084] daemon@ATHENA.MIT.EDU (Linus Benedict Torvalds) Linux_Activists 11/17/91 05:44 (136 lines)
|
||
Subject: demand-loding etc
|
||
Date: Sun, 17 Nov 1991 12:36:42 +0200
|
||
From: Linus Benedict Torvalds <torvalds@cc.helsinki.fi>
|
||
To: Linux-activists@joker.cs.hut.fi
|
||
|
||
pmacdona@sol.UVic.CA (Peter MacDonald)
|
||
> Thus I am proposing to look at demand paging from the file system.
|
||
> If Linus agrees to consider adding it to linux when it is done,
|
||
> and nobody successfully shoots this proposal down, I will start
|
||
> tuit suite.
|
||
> Proposed Design:
|
||
>
|
||
> Phase 1:
|
||
> [deleted]
|
||
|
||
You don't start small, do you :-). If I /agree/ to add it to linux? If
|
||
anybody implementes paging, he's going to get 2 extra copies of linux
|
||
for free. How's that for an offer?
|
||
|
||
Seriously, adding demand-loading should be relatively easy. I wouldn't
|
||
suggest going past the filesystem, even for saving the block-numbers
|
||
somewhere (and a bit-map won't do it, block nr must be ordered). Having
|
||
the inode-pointer in the process table entry (and not releasing it
|
||
before an exit), and using that to find the blocks wouldn't be too hard.
|
||
A bit slower, but conceptually much easier. Then you can use the
|
||
routines already on hand (map() etc).
|
||
|
||
Note that the "relatively easy" must be taken with a bit of salt: you
|
||
have to add the routines to the paging unit etc etc. No major problems
|
||
at least. Also I'd like to keep linux simple even at the cost of some
|
||
speed hit, as otherwise it grows until nobody really understands it. I'm
|
||
kinda proud of my mm: it's not many lines of code (although it's not
|
||
very clear code.)
|
||
|
||
Re: sticky bits, shared text...
|
||
|
||
I don't like sticky bits (in the meaning that they lock something into
|
||
memory). I doubt it's really that useful on a small machine, that is
|
||
essentially single-user. It's easy to grow the cache to 6M or more if
|
||
you have the memory, and currently I don't see much unnecessary disk I/O
|
||
in a heavy 'make'. Besides - sticky bits are hard to keep track of.
|
||
|
||
Shared text and sticky bits have another shared problem: right now
|
||
linux allows writes to the code segment. This isn't a very big problem,
|
||
as the changes to 'mm' are minimal, but you'd have to check that the
|
||
code segment is a multiple of 4096 (I /think/ I made ld do this, but I'm
|
||
not sure).
|
||
|
||
The biggest problem however is the amount of data you have to keep track
|
||
of. You'll have to add a lot of structures to know which pages are in
|
||
which executable etc. I don't think it's worth it, especially if real
|
||
paging (with a partition of it's own) is implemented.
|
||
|
||
tytso@ATHENA.MIT.EDU (Theodore Ts'o):
|
||
>
|
||
> >9k : size of minix executable of diff
|
||
> >36k : size of gcc compiled executable of diff
|
||
> >4k : size of gcc compiled diff.o
|
||
>
|
||
> >It won't be to long before my disk flow'th over. Not to mention
|
||
> >ram requirments.
|
||
>
|
||
> The culprit here is the floating point library (i.e., the soft floats);
|
||
> even if your program isn't using floats, printf() drags large portions
|
||
> of it in. The bottom line is that every integer-only executable will be
|
||
> roughly 10-20k bigger than it has to be. That's most of the problem,
|
||
> anyway; the most of the rest of it is due to things like gmalloc.o,
|
||
> which is 4979 bytes. (malloc.o on the vax is 1176 bytes).
|
||
|
||
Yes. The right way to do this is to add an floating-point emulator in
|
||
the kernel, even if shared libraries are added. This is a real b**ch.
|
||
I'll probably take a look at the djgpp package, but I'd really rather do
|
||
it myself (it's an interesting project). I don't really have the time
|
||
though, so ...
|
||
|
||
> [bug in waitpid]
|
||
|
||
Yes, I got the fix, but for once I had the bug corrected already. Very
|
||
silly thing that came into the system with the "great reordering", when
|
||
I changed the process tables. Luckily it isn't very bad. Another related
|
||
bug was in crts.o, which always exits with a code of zero if main exits
|
||
with a return xx.
|
||
|
||
John T Kohl <jtkohl@cs.berkeley.edu>
|
||
> [486/33 bootup problem]
|
||
>
|
||
> When I toggle the turbo on & off while running, I don't observe any
|
||
> change in running times of programs (but I can discern differences under
|
||
> MS-DOS 5.0), even when I run programs which try to time themselves.
|
||
|
||
This would suggest to me that you have one of those braindead "slowdown"
|
||
devices which aren't really completely hardware, but due to some
|
||
software solution. At least some Gateway-2000's had this, which meant
|
||
that they couldn't run well in protected mode under windows either
|
||
(while accessing floppies or something like that). I don't really know
|
||
what to do about it, as I don't know the hardware enough (I've leart a
|
||
lot about PC's in the 11 months I've had one, but still...)
|
||
|
||
I assume linux is running at full speed all the time?
|
||
|
||
nicholas@cs.uwa.oz.au (Nicholas Yue)
|
||
> G'day,
|
||
> I had a similar observation when using the 386/387 assembly. I had wanted
|
||
> a mathlib badly so I made try to compile the code from DJ's GPP (for MS-DOS).
|
||
> The maths routine are written mostly in assembly language. I compiled the
|
||
> C and assembly code and made libm.a, ranlib the things. All without problem.
|
||
> I then proceeded to write a small C program with a sin() and tan() call.
|
||
> That is when I had
|
||
>
|
||
> device not available: 0000
|
||
> EIP: 000f:00000060
|
||
> EFLAGS: 00010246
|
||
> ESP: 0017:03FFFED0
|
||
> fs: 0010
|
||
> base: 10000000. limit: 04000000
|
||
> Stack: 00000044 66666666 40026666 03fffe48
|
||
> Pid: 2123, process nr: 4
|
||
> dd 44 24 04 d9 fe df e0 9e 7b
|
||
|
||
This should happen only on a 386-system with no 387. "dd 44..." is some
|
||
math instruction (fld? whatever). However, linux depends on the BIOS to
|
||
set the %cr0 bits for a coprocessor, and doesn't test for one itself, so
|
||
even with 387 you might get this error if you BIOS doesn't set it up
|
||
correctly.
|
||
|
||
If you have a 387 but this error still happens, contact me, I guess I'll
|
||
have to add the test-routine to linux.
|
||
|
||
Linus
|
||
|
||
PS. I now have a kernel that senses the video card (thanks to Galen
|
||
Hunt), and the current version of fsck tries to correct things. I'm
|
||
working on a "mkfs" that also senses bad blocks, as bad blocks have
|
||
wreaked havoc on at least one drive (instant mess). I have a simple
|
||
"fdisk" which doesn't try to change the partition tables, but at least
|
||
it tells which devices you can use. Anything else that would ease the
|
||
installation?
|
||
--[0084]-- (nref = [0085])
|
||
|
||
[0085] daemon@ATHENA.MIT.EDU (Theodore Ts'o) Linux_Activists 11/17/91 22:57 (29 lines)
|
||
Subject: Re: demand-loding etc
|
||
Date: Sun, 17 Nov 91 22:47:43 -0500
|
||
From: tytso@ATHENA.MIT.EDU (Theodore Ts'o)
|
||
To: Linux-activists@joker.cs.hut.fi
|
||
In-Reply-To: [84]
|
||
Reply-To: tytso@athena.mit.edu
|
||
|
||
> The right way to do this is to add an floating-point emulator in
|
||
>the kernel, even if shared libraries are added. This is a real b**ch.
|
||
>I'll probably take a look at the djgpp package, but I'd really rather do
|
||
>it myself (it's an interesting project). I don't really have the time
|
||
>though, so ...
|
||
|
||
Did you mean implementing a 387/487 emulator, or something specific for
|
||
the gcc soft-float routines? I was wondering what sort of speed hit you
|
||
would take (in either case) if each floating point operation required a
|
||
trap to the kernel. That's why my previous suggestion had suggested
|
||
mapping certain pages into the processes address space, so that the
|
||
calling the FP routines wouldn't require a context switch.
|
||
|
||
I was thinking, however, that another, possibly more elegant solution
|
||
would be to assign shared libraries (including the FP routines) to a
|
||
segment which would be visible to all processes. Then all the stub
|
||
routines would need to do is to do a far call to a predefined segment.
|
||
What do people think?
|
||
|
||
- Ted
|
||
|
||
P.S. Having the kernel emulating 387 instructions would still be neat;
|
||
I was just wondering if it would be too slow for normal operations.
|
||
--[0085]-- (pref = [0084])
|
||
|
||
[0086] daemon@ATHENA.MIT.EDU (Ari Lemmke) Linux_Activists 11/17/91 23:38 (21 lines)
|
||
Subject: updated nic.funet.fi
|
||
Date: Mon, 18 Nov 1991 06:30:07 +0200
|
||
From: Ari Lemmke <arl@sauna.cs.hut.fi>
|
||
To: Linux-activists@joker.cs.hut.fi
|
||
|
||
|
||
nic.funet.fi:/pub/OS/Linux
|
||
|
||
Check README and ls-laR files! These constantly change ..
|
||
|
||
lib contain new *.s (sig_restore.s and crt0.s) files,
|
||
without those would be hard to create sw to Linux.
|
||
|
||
bin has some new useful utilities, like kermit.
|
||
|
||
I hope I can get init/getty/login system out within week or
|
||
two. Earlier if there is a need for a really poor one ;-)
|
||
|
||
arl
|
||
|
||
|
||
|
||
--[0086]--
|
||
|
||
[0087] daemon@ATHENA.MIT.EDU (Peter MacDonald) Linux_Activists 11/18/91 00:18 (19 lines)
|
||
Subject: protection violations
|
||
Date: Sun, 17 Nov 91 21:06:33 PST
|
||
From: pmacdona@sol.UVic.CA (Peter MacDonald)
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
|
||
Now that I have my hard drive set up, I keep getting protection
|
||
violations. It mostly happens when using gcc. It is along the
|
||
lines of:
|
||
|
||
protection violation: 0000
|
||
|
||
The hex dump at the bottom is often different. Like ls began with "c3 ".
|
||
|
||
But this also happens when I boot up sometimes. Or use ls. But
|
||
then other commands like em work. I have no 80387.
|
||
Could this just be a problem with the bios not setting up the
|
||
%cr0 flag correctly? Basically, I haven't even been able to compile
|
||
the hello world program yet! Any ideas?
|
||
Is it time to get an 80387 (or is a 80287 sufficient).
|
||
--[0087]--
|
||
|
||
[0088] daemon@ATHENA.MIT.EDU (Wolfgang Thiel) Linux_Activists 11/18/91 04:11 (9 lines)
|
||
Subject: Include files
|
||
Date: Mon, 18 Nov 91 10:58:05 CET
|
||
From: Wolfgang Thiel <UPSYF173%DBIUNI11.BITNET@FINHUTC.hut.fi>
|
||
Reply-To: UPSYF173%comparex.hrz.uni-bielefeld.de@FINHUTC.hut.fi
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
Hi,
|
||
which include files should be used? The ones in include.tar.Z or
|
||
those in the kernel/mm/fs .tar file?
|
||
Wolfgang
|
||
--[0088]--
|
||
|
||
[0089] daemon@ATHENA.MIT.EDU (Bruce Evans) Linux_Activists 11/18/91 05:47 (91 lines)
|
||
Subject: Re: demand-loding etc
|
||
Date: Mon, 18 Nov 91 17:09:17 +1100
|
||
From: Bruce Evans <bde@runx.oz.au>
|
||
To: Linux-activists@joker.cs.hut.fi
|
||
|
||
Linus:
|
||
>Re: sticky bits, shared text...
|
||
|
||
>I don't like sticky bits (in the meaning that they lock something into
|
||
>memory). I doubt it's really that useful on a small machine, that is
|
||
>essentially single-user. It's easy to grow the cache to 6M or more if
|
||
|
||
Shared text helps a lot with recursive commands. I'm surprised linux
|
||
doesn't already have it. Fork is most naturally done by sharing text and
|
||
making it copy-on-write or no-write.
|
||
|
||
>you have the memory, and currently I don't see much unnecessary disk I/O
|
||
>in a heavy 'make'. Besides - sticky bits are hard to keep track of.
|
||
|
||
The cache i/o that you don't see hurts (there should be a LED for it :).
|
||
Building the library under Minix-386-cached-text takes 25% longer when
|
||
the shell is bash. The overhead is actually for something else - copying
|
||
40K data from the cache and zeroing 200K bss. Under another version of
|
||
Minix with copy-on-access forks, building the library takes another 10%
|
||
longer. There is only slightly less copying because a lot of text gets
|
||
copied, and more overhead from page faults.
|
||
|
||
The other thing that hurts without cached text is that heavily-used programs
|
||
will be duplicated in the disk cache and as text. Perhaps mapping the disk
|
||
cache to text instead of copying it would be almost as good as managing
|
||
text separately.
|
||
|
||
[big program sizes]
|
||
>> The culprit here is the floating point library (i.e., the soft floats);
|
||
>> even if your program isn't using floats, printf() drags large portions
|
||
|
||
>Yes. The right way to do this is to add an floating-point emulator in
|
||
>the kernel, even if shared libraries are added. This is a real b**ch.
|
||
|
||
You would need a printf-emulator in the kernel :-(. The floating point
|
||
emulation itself shouldn't be that big.
|
||
|
||
>I'll probably take a look at the djgpp package, but I'd really rather do
|
||
>it myself (it's an interesting project). I don't really have the time
|
||
|
||
The djgpp emulator (in 32-bit C) is 14+ times slower than my library
|
||
routines (in 32-bit asm) (the emulator in Turbo C++ is only 7 times
|
||
slower :-). It takes a large amount of code to the emulation compared
|
||
with doing the guts of the library.
|
||
|
||
>John T Kohl <jtkohl@cs.berkeley.edu>
|
||
>> [486/33 bootup problem]
|
||
|
||
>This would suggest to me that you have one of those braindead "slowdown"
|
||
>devices which aren't really completely hardware, but due to some
|
||
>software solution. At least some Gateway-2000's had this, which meant
|
||
|
||
This doesn't explain why the slow mode worked to boot. Perhaps the fast
|
||
mode is done in software ;-). I guess the bug is really in the BIOS+linux
|
||
with a hot interrupt.
|
||
|
||
>nicholas@cs.uwa.oz.au (Nicholas Yue)
|
||
>> I then proceeded to write a small C program with a sin() and tan() call.
|
||
>>
|
||
>> device not available: 0000
|
||
|
||
>This should happen only on a 386-system with no 387. "dd 44..." is some
|
||
>math instruction (fld? whatever). However, linux depends on the BIOS to
|
||
>set the %cr0 bits for a coprocessor, and doesn't test for one itself, so
|
||
>even with 387 you might get this error if you BIOS doesn't set it up
|
||
>correctly.
|
||
|
||
The error seems normal. You are lucky to get it instead of a crash. My
|
||
1987 Award BIOS and 1990 AMI BIOS can be relied on to set up the %CR0 bits
|
||
_incorrectly_ (Award always clears them, on a machine without an x87).
|
||
After booting, AMI on my 486 has set %CR0 to 0x10. The relevant bits are
|
||
|
||
0x01: MP (Math Present): should be set (WRONG)
|
||
0x02: EM (Emulation): should be clear to use x87/486
|
||
this is what gives the device not available trap -
|
||
linux must be setting it
|
||
0x04: ET (Extension Type): should be set (always set by 486 h/w so BIOS
|
||
gets this one right :)
|
||
0x08: NE (Numeric Error): 486 s/w should use this to get error reporting
|
||
via exception 16 instead of the crufty IRQ 13
|
||
necessary for 286-386/287-387 systems
|
||
|
||
Perhaps Linus meant the coprocessor bits in the parameter RAM. These had
|
||
a reuputation for being unreliable for distinguishing between 287's and
|
||
no-coprocessor but I think they are OK for 387's.
|
||
|
||
Bruce
|
||
--[0089]--
|
||
|
||
[0090] daemon@ATHENA.MIT.EDU (Linus Benedict Torvalds) Linux_Activists 11/18/91 07:07 (123 lines)
|
||
Subject: anwering as best I can
|
||
Date: Mon, 18 Nov 1991 13:57:12 +0200
|
||
From: Linus Benedict Torvalds <torvalds@cc.helsinki.fi>
|
||
To: Linux-activists@joker.cs.hut.fi
|
||
|
||
tytso@ATHENA.MIT.EDU (Theodore Ts'o):
|
||
>
|
||
> Did you mean implementing a 387/487 emulator, or something specific for
|
||
> the gcc soft-float routines? ...
|
||
|
||
Real emulation.
|
||
|
||
> ... I was wondering what sort of speed hit you
|
||
> would take (in either case) if each floating point operation required a
|
||
> trap to the kernel. That's why my previous suggestion had suggested
|
||
> mapping certain pages into the processes address space, so that the
|
||
> calling the FP routines wouldn't require a context switch.
|
||
|
||
System calls under linux never require a context switch. In fact context
|
||
switches are extremely rare: they happen ONLY when one process stops
|
||
running and another one starts. The floating point exceptions would be
|
||
slow, but that's mainly because they would have to decode the effective
|
||
addresses etc.. Not very much fun, but somewhat interesting.
|
||
|
||
Still, there are a lot of reasons to have a FP-emulator in the kernel.
|
||
If somebody wants fast floating point, he'd better get a 387, but I'd
|
||
like to be able to support all programs on all machines independent of
|
||
the 387. Currently the library is soft-float, which means that you
|
||
cannot reliably use it with a program that has been compiled with
|
||
"-m80387". Big drawback, as is the possibility that someone has a
|
||
program that uses the 387, and half the beta-testers cannot use it..
|
||
|
||
> I was thinking, however, that another, possibly more elegant solution
|
||
> would be to assign shared libraries (including the FP routines) to a
|
||
> segment which would be visible to all processes. Then all the stub
|
||
> routines would need to do is to do a far call to a predefined segment.
|
||
> What do people think?
|
||
|
||
This is the preferred solution: it's simple and easy to add to the
|
||
kernel. The routines in libc.a would just be stubs calling the "library
|
||
segment". No problem, except for the math's.
|
||
|
||
Also, I don't find the math-instructions that time-critical: they are
|
||
relatively few in most programs. If you do number-crunching, you have a
|
||
387 anyway (as they are quite inexpensive nowadays - I got one just to
|
||
be able to test the kernel routines).
|
||
|
||
Ari Lemmke <arl@sauna.cs.hut.fi>:
|
||
> lib contain new *.s (sig_restore.s and crt0.s) files,
|
||
> without those would be hard to create sw to Linux.
|
||
>
|
||
> bin has some new useful utilities, like kermit.
|
||
|
||
Kermit has a problem with ^C. I didn't even try to fix this, as I didn't
|
||
know if it should be fixed. Anybody know? It traps it nicely, and
|
||
exists, but somehow I expected kermit to ignore ^C when in terminal
|
||
mode. Oh well, I ported it so that I could download files, and it works
|
||
for that.
|
||
|
||
pmacdona@sol.UVic.CA (Peter MacDonald):
|
||
> Now that I have my hard drive set up, I keep getting protection
|
||
> violations. It mostly happens when using gcc. It is along the
|
||
> lines of:
|
||
>
|
||
> protection violation: 0000
|
||
>
|
||
> The hex dump at the bottom is often different. Like ls began with "c3 ".
|
||
>
|
||
> But this also happens when I boot up sometimes. Or use ls. But
|
||
> then other commands like em work. I have no 80387.
|
||
|
||
It's not the lack of a 80387 (and don't get a 287, I'm not sure I can
|
||
support it... working on it). It seems more like a corrupted filesystem,
|
||
but I have been known to be wrong (sometimes ;-). I'll post the (new)
|
||
fsck with binaries to nic some time today, and they might show up
|
||
sometime. Still even more beta than the system :-).
|
||
|
||
The "general protection violation" is a general error: it happens at
|
||
most programming errors (or if you try to use minix binaries, or if the
|
||
executable file is corrupted). You can see where it happens by looking
|
||
at the EIP:-line EIP: segm:address. segm =0008 means kernel problem,
|
||
segm=0017 means it happened in the user program. Note that kernel
|
||
problems don't necessarily mean that the bug was in the kernel: it might
|
||
be a user program that gave a bad pointer to a system-call.
|
||
|
||
Indeed pgv is so general that it might be anything: a unexpected
|
||
interrupt (but they should be trapped, so this isn't that probable) or
|
||
something like that...
|
||
|
||
Wolfgang Thiel <UPSYF173@DBIUNI11.BITNET>:
|
||
> Hi,
|
||
> which include files should be used? The ones in include.tar.Z or
|
||
> those in the kernel/mm/fs .tar file?
|
||
> Wolfgang
|
||
|
||
I use the ones in include.tar.Z, but they should really be identical.
|
||
This isn't absolutely true, but if there are differences, they should be
|
||
minimal. I'll have to consolidate them (no big problem now when I have
|
||
no minix include-files I can mess up with).
|
||
|
||
Bruce Evans <bde@runx.oz.au>:
|
||
> Shared text helps a lot with recursive commands. I'm surprised linux
|
||
> doesn't already have it. Fork is most naturally done by sharing text and
|
||
> making it copy-on-write or no-write.
|
||
|
||
Oh, shared test works fine after a fork (try running 10-20 bashes inside
|
||
each other), but not when executing a new program that already is in
|
||
memory. It should be easy to check for (especially once demand-loading
|
||
is in place), so this too will eventually be implemented (so that bash
|
||
doesn't have to be loaded completely if it is executed from within some
|
||
other program).
|
||
|
||
Linus (torvalds@kruuna.helsinki.fi)
|
||
|
||
PS. Small bug-report: signals weren't correctly reported as the cause
|
||
for exiting, but they are now (in my version). 287-coprocessors weren't
|
||
noticed at all (this was the problem with nicholas), and I'm not sure
|
||
the code uses them correctly now either, but at least it tries...
|
||
Coprocessor errors now correctly cause a SIGFPE, no longer the debugging
|
||
info. Likewise "not-present" errors.
|
||
|
||
Also, variable speed serial connections are now implemented, and seem to
|
||
work (testing from kermit). Direct reads/writes to a >64M partition
|
||
should also work now (thanks to who-ever. My mind is going... )
|
||
--[0090]--
|
||
|
||
[0091] daemon@ATHENA.MIT.EDU (John T Kohl) Linux_Activists 11/18/91 18:34 (22 lines)
|
||
Subject: BSD networking release 2 code
|
||
Date: Mon, 18 Nov 91 15:25:08 PST
|
||
To: linux-activists@joker.cs.hut.fi
|
||
From: John T Kohl <jtkohl@cs.berkeley.edu>
|
||
Reply-To: jtkohl@cs.berkeley.edu
|
||
|
||
I plan to (slowly) work on porting various bits of the BSD networking
|
||
release code to linux.
|
||
|
||
I have a running version of their make, but need to apply a patch I just
|
||
saw on the net today, and I'll upload it somewhere soon (watch for
|
||
details).
|
||
|
||
Perhaps the device drivers there for the i386 will be useful?
|
||
They include:
|
||
com port(s), floppy,
|
||
NE2000 Ethernet, WD8003E, WD8003EBT, WD8003S, WD8003SBT, WD8013EBT
|
||
console & keyboard
|
||
various disk & tapes
|
||
|
||
also might pick up VFS, bsd ffs (may be incomplete?)
|
||
|
||
John
|
||
--[0091]--
|
||
|
||
[0092] daemon@ATHENA.MIT.EDU (John T Kohl) Linux_Activists 11/18/91 18:57 (15 lines)
|
||
Subject: GNU emacs?; more 486/33 info
|
||
Date: Mon, 18 Nov 91 15:53:42 PST
|
||
To: linux-activists@joker.cs.hut.fi
|
||
From: John T Kohl <jtkohl@cs.berkeley.edu>
|
||
Reply-To: jtkohl@cs.berkeley.edu
|
||
|
||
Anybody working on GNU emacs? "em" is passable, but I'd like the real
|
||
thing...
|
||
|
||
In other news, I have now been able to observe program execution speed
|
||
differences when I toggle the Turbo switch (easiest to observe by
|
||
scrolling lots of text on the console). So it's probably some sort of
|
||
timing glitch that prevents booting at full-speed?
|
||
|
||
John
|
||
|
||
--[0092]--
|
||
|
||
[0093] daemon@ATHENA.MIT.EDU (Michael K. Johnson) Linux_Activists 11/19/91 00:25 (35 lines)
|
||
Subject: mtools
|
||
Date: Mon, 18 Nov 91 23:15:38 CST
|
||
From: johnsonm@stolaf.edu (Michael K. Johnson)
|
||
To: Linux-activists@joker.cs.hut.fi
|
||
|
||
|
||
Hello!
|
||
|
||
I am a new user of linux, and am trying to get up to speed. I began installing
|
||
linux on my system this afternoon after my new hard drive came, and have
|
||
now got things going so that my root device is my hard drive. I would
|
||
like to transfer some of the programs like gcc et. al. to my unix partition,
|
||
but I can't figure out how to use mtools. I have to read off floppies, due
|
||
to some craziness with my hard drives.
|
||
|
||
(Because my scsi device driver
|
||
for dos doesn't work with DOS4/5 large partitions, I cannot use both
|
||
Hard drives at once. I switch by going in and out of CMOS setup, telling
|
||
the computer that I do not have a hard drive if I wish to boot DOS and
|
||
use my scsi drive, and telling it about my IDE drive if I wish to boot
|
||
linux.)
|
||
|
||
This is working rather well, but I have no way to get the basic
|
||
binaries from the distribution onto my linux partition. I can't read a
|
||
floppy and so I can't get kermit to transfer by serial link. Catch-22,
|
||
or something like.
|
||
|
||
So, (the point of this long letter) I would appreciate any help with
|
||
mtools and any suggestions generally.
|
||
|
||
Thanks a lot!
|
||
|
||
michaelkjohnson
|
||
johnsonm@stolaf.edu
|
||
I don't do .sig's
|
||
|
||
--[0093]--
|
||
|
||
[0094] daemon@ATHENA.MIT.EDU (Nicholas Yue) Linux_Activists 11/19/91 01:29 (21 lines)
|
||
Subject: Maths library
|
||
Date: Tue, 19 Nov 91 15:12:42 WST
|
||
From: nicholas@cs.uwa.oz.au (Nicholas Yue)
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
G'day,
|
||
Is there anyone working on a maths library or are interested in the maths
|
||
library. I am attacking from a few directions concurrently :
|
||
|
||
(i) 80386 with 80287
|
||
(ii) 80386 with 80387
|
||
(iii) emulating the 80387
|
||
(iv) porting the BSD-reno math library distribution
|
||
|
||
everyone of them have their associated problems. I have been in touch
|
||
with linus over the last few days but I am afraid I will be slow down
|
||
his work on the kernel. So if anyone have any advise or suggestion, please
|
||
e-mail to me.
|
||
|
||
Thanks In Advance
|
||
|
||
nicholas@cs.uwa.oz.au
|
||
--[0094]--
|
||
|
||
[0095] daemon@ATHENA.MIT.EDU (John T. Kohl) Linux_Activists 11/19/91 02:37 (9 lines)
|
||
Subject: control-U kills console bash?
|
||
Date: Mon, 18 Nov 91 23:32:18 PST
|
||
From: jtkohl@antipodes.Berkeley.EDU (John T. Kohl)
|
||
To: linux-activists@joker.cs.hut.fi
|
||
Cc: jtkohl@cs.berkeley.edu
|
||
|
||
It seems whenever I type control-U while in a program, the console bash
|
||
dies and the system grinds to a halt. bug? feature?
|
||
|
||
John
|
||
--[0095]--
|
||
|
||
[0096] daemon@ATHENA.MIT.EDU (John T. Kohl) Linux_Activists 11/19/91 02:52 (9 lines)
|
||
Subject: control-U kills console bash?
|
||
Date: Mon, 18 Nov 91 23:32:18 PST
|
||
From: jtkohl@antipodes.Berkeley.EDU (John T. Kohl)
|
||
To: linux-activists@joker.cs.hut.fi
|
||
Cc: jtkohl@cs.berkeley.edu
|
||
|
||
It seems whenever I type control-U while in a program, the console bash
|
||
dies and the system grinds to a halt. bug? feature?
|
||
|
||
John
|
||
--[0096]--
|
||
|
||
[0097] daemon@ATHENA.MIT.EDU (Wolfgang Thiel) Linux_Activists 11/19/91 04:47 (144 lines)
|
||
Subject: mtools patch
|
||
Date: Tue, 19 Nov 91 11:14:31 CET
|
||
From: Wolfgang Thiel <UPSYF173%DBIUNI11.BITNET@FINHUTC.hut.fi>
|
||
Reply-To: UPSYF173%comparex.hrz.uni-bielefeld.de@FINHUTC.hut.fi
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
Following are patches for mtools2.0.4 to correct some minor bugs and to
|
||
read big partitions. Also included is a small patch for fs.h to make
|
||
this work and a patch to floppy.c to support these strange disk formats
|
||
Atari-St users love.
|
||
I hope this gets out ok from this EBCDIC mainframe.
|
||
Wolfgang
|
||
|
||
table
|
||
!"#$%&'()*+,-./0123456789:;<=>?
|
||
@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_
|
||
begin 644 mtools.tar.Z
|
||
M'YV04HH$(=*D"("#"!,J7,BPH<.'$"-*1 BBH@T:-$ J,@1AD:.%3UN!%DQz
|
||
M!HP;&4'4B!%#1HP9,&;4N,'QQHT9,S;"F,BSI\^?0 '4F4,GC)R* .2\>4,Gy
|
||
M:$.E3)U*G4JUJM6K6'E205,&A)DW;-B\N9/&S1D0<,+0&<-U#@BC7>648:,Vx
|
||
MC9VN=-Z :),7[)P6,EQX3+L6#9LR=]F H.%"P=8R>4",>2-'[A@Z(.:\:=.Uw
|
||
M35G*(,34.>,6A1DV0]&4/4N4S)LZ=%*\=4/F;=BQ(/*\!I$7Q!W*:WRGH8-&v
|
||
M@9 D1X@\F8+6*)WA:=ZXF=,X">8T;L.PT0S"39DQ9>;,,9I'00O>>B=7_HZ9u
|
||
M>-<[2LU*II,'3AD7:$"@R"OV3ADY+^15!QSVR9&">>A)AD889G55%@AEC8$:t
|
||
M&66\P$99=>#Q@AG4Y?<@47+4<5EH=9AAQG]?<!5&;6)\(8988ZSAQE%F*-6&s
|
||
M A75,5T:9WA7VQQH4-:>7CK.P:./$+J!&8.U6;89'&D<QAM7(*SQGW=L-*9 r
|
||
M$F;DMML=#+9'Y0D@,GA&&2=X)1:!D7TE1QMJE39'&5U1:$<:X%$WAFRZU;'7q
|
||
M4$MN]X8"81#(1F3N-5=8> E:*0>6+[RXQA=DR&''AFO"D8<+8[@ PA-LU!8$p
|
||
M%4%(D40+4U !PE#_N>79&6C0H0 ;5DZIEI8)Y'H%6&:<828(6Z4QEP(*Y)K o
|
||
M@'/D848,-P$Q61MIR84'?G+HX8*.:;0@AK"'G1BJ"Q02F]6XY)9K[KGHIJONn
|
||
MNNRVN^YI;[#)*1EIF.'NO0MQ=%%&(W7T$4@BD5333!6MU%)+-]@@@T<@L+1Pm
|
||
M##KA*[%$@!J%%%1-787QQ!QW['%5*H2L9KR:<NJ"20E,H18(3KQA1T4R-"R#l
|
||
M#C/I0$,.#>>00PSFM7 >O/*.D8 1<J3!LLL-UP "###83(/-..2\LP(A5VWUk
|
||
MU2I0+7+"+. 0 PA6]WP>USADY+//.(*0P!X5W; P"R#DP((,+- PLQL #j
|
||
M'C+,H#<>,.2]-Q%&@- '"PF\H ((,]@ PQI")-FP"S(T$7FE=G6EP@MIK]TPi
|
||
M1G?'/7?7=Y?.M]][!_XWX88CKC@(;C\>^8,Q4&XY")C?!3;G%7DN PXXW!T#h
|
||
M#J,'K_??,0CQ-]-_#U'XX8DO7CM&M],[AY5TT*$YYRNHS78,-CB.]]UTXX#Zg
|
||
MWWTO+S@>K!^N0/>>@R^^2<6?O[<,02Q/]^#/L_"^]PW#@0QL@+>\E<]^?,M?f
|
||
MZO;'ON>EK0\[2)OBT@8V$$A!+0YRBT?<I!*FK4$,+Y@#W&+&09@\3@QP$&'#e
|
||
MO (:&=3@A"E4@$\XA)]YU>MC]](71O[EKWZ%A(<@><E*"N:PES -!C8H"0QJd
|
||
MX,*(X?!C%3N*1C:FL:5D[(E8S&(6J^:5#IT,!D,KVM%>%@.E,4T',YC9#*(6c
|
||
M YWQ[&Q=Q$\8C=8R,IJQ:3C10>"DQC.L^3%D6EN<#6[ @IN K6II Y&(,",:b
|
||
M$Z%(1;790^?88K'%M8@,:@G##HSU.CB\H2S:.TIO,%F4T, H."@PB0PR(H8\a
|
||
M:&\.LME<YXITI#+\*$AR8"2E$+/)Z.$.,7CJ"@H\T@.OR*4,L>1<"-1&RQ[9z
|
||
M,C.XU.6+WA"C&6WR==.,47?JT 8Q_&=WL]R1,VM#R:.T:$!Y(649(MB[9B*Iy
|
||
MG*&A5!IRV<O7P: %$BH#@_#6 GKE,C*R;*<XW[D@<WYA,CJB0ST7QRHYN&4Hx
|
||
MJYD2=DQ)S>#($HZ#+.0,0'"V%B22#B$:42-/)(<4Z3.2DRQH!2^9R5[ZTI.@w
|
||
M_.8H,TE1;:82!JL,C2O#D\QP&FF<T!12/.VTT%_>"3SZ(:8QZ=3391YKH,\$v
|
||
M93RS*2,Y7-.2I]QF-[\94&9"E9PJ/2<<THE!=GKUIP2UV"7GJ=!<V1.?A]EGu
|
||
M#/K)5H#R[JRU!*M:#_H:)16UH0\UDGR(,U&J@E.+B$VL8A7+EZ5LQX;V6NRXt
|
||
M=,@OD@0,8$ L"4I,0L2##? F26Q82VA@ R=*EEU1O)@5L4+%T[KVM5;A8A/"s
|
||
M8"4S1.D^"YOC&)/6,!O0+ 8Z< D?Q0:"V=;VMKJM(V^9%=RFQ2 C;9S:'_T8r
|
||
M2,;A+69AJ\@(TC8"!7TG.(D:@G1L>X8ZR,4KMV7A433#&1"4 0]A@-9AW/*&q
|
||
M+MDIF"V8@WW&4"\\9:8,=$ 6=T$@A/]8Z3!MHHL=*$/?+E7!#6G 0U#K$*HDp
|
||
M2:@.%.(H$80P!2)(+KQ&8$(0CC %!2PS;<X3,8D34,P6/"%M3""<BJ? 8H[.o
|
||
MP<0@B'&-QS &&"?!"52H\864E+8I(($)21 "BXN,A%+5&$@6:T$8B.NWEG#Tn
|
||
M;-P=,%N^.Z6NB-<-Y#5O5VPK)0ZRMROOC2\<Y@N"^AH5O_K]3G_'\-\ QU"[m
|
||
M!#;P7""CIC LV*%M=C"$)0RDUU0X0A/J2@LVW.$/4RG%(R[Q,H<P!! 4\PP\l
|
||
M1G&((UUC%\-8QIQN\8V7J>-+9[HB2 :RD$')9"0KN0=,=G(QH7P4*5>W+,,Qk
|
||
M66Z)1D>DE;&WO]4!9Z/[1I\E*=="X_5N?\U<&>0 C3$C=B"GBT@NTN_788/Cj
|
||
MM9/8T;1QET*V]0X(C% %)C#A"T/( A.^789P=^4*3Y "$5" !]F@ 5BL&(+i
|
||
M?%#O+<"@"R#HWKWSS91]]SL& .<!#T" @Q0<J'LC '=9NL*$)SCA"/3N#POPh
|
||
MH!I8I2 !]X:WO.G=<32D0.'@2P$?1#YO//3'X=[.T5>3A!DW</.@J)F#2U^7g
|
||
MEZ(HQN9;/8J;+TP4KMY5JD#_@AG4XE)?)@KHWA1ZEXPP*MZ$X46,DB6UKU;=f
|
||
M%[*@!DK+MK%7\G6:=+MW?>A<O?03 COM.W?(!($D>Y< ,\"A:$HR PI:\Q\Ye
|
||
MP$T$1"B:[DY0@C'H($UN8$IF!N3)7-J2"VX0 =S@GH((PB\!=OI"6;Z"@LIWd
|
||
M+@%R"?"C4NEYM'^>DXN+5QG<T.4W(U7K6Z^VR&H@-QN$'9$8S9L-<'9V$'S>c
|
||
M#?'M2C'?FQ;:H,#M/@ ^9TJOM@2L_=YFJ$TQ5>\&%"B_#'!KPQLRS >C[EO[b
|
||
M%'(X"!8. ]E(\O)UOSLH]<[WROR]!'. O.2[$WSF&ZM 2I$#"D2 :SKHH,WVa
|
||
M$7F>AWZ9MWEOT'EF92SO-1RDEX )D'9TAWIU]DM+1V&8$2W!%THJM';>84O/z
|
||
M!'NQES5<= ,UT#5?(W9C(S<YX!&]ERN0Y!;%Q'+6]X+VEP!S<AD,9FD@((/3y
|
||
MP1XU^'PO" (F8 +_A8,.]7#-=W[-5Q'/)X,IY(,'$H$@%08Q H,[&&_S]H27x
|
||
M(1LOH!_N9$OV%H2+<X-Y<826MX3NM1UE\#_&,H55J(,5=W$9-Q8;5W)<Z(5?w
|
||
M%88GY19CR!X,-H#-!X&^%X%N-88,,AR1L64Q$E%=E2M@00:4\@96" ,1%(* v
|
||
M9&TU0$#@<X*X9VS@4X+,\C4M^'S19VDM%@/F]WG/1W"8$0+%Y 3EQ@1"2(3(u
|
||
MYX9K $NG9W=X1P?L1P<4XGX@( (MLW@$(E0<5 *U88LJA(P@\()PPXQD"!K6t
|
||
M@SVO)']PHXQPXXQ%6(:P=(:Y4H!@=H U&'KF57VHF("":"R%.('><0?-(0<9s
|
||
MV"IPPX%T0B&U 8*Q5UW,0DC#LU'9U7Q+1P=?<!BL%X-8:!IJ09 UZ$]?0!3.r
|
||
MH8,!V9!%D4L!IQ^LN&]@MC*+$Y$*Z8 ,29 Z*(/^M'IT $L5U 1$D 12\ 53q
|
||
MD 1:4 0@T(4H\(5D(!M-, 5%, 14$&\LZ9)%$$%.E0!)1W0Z.),S!TKVYH1Dp
|
||
M*!OGP9 .29%-.4\#N7IW2'0-F09ZL$Z_=W,!J8,7F7P!B8YIHXOKMW>^V'=_o
|
||
MIXP]@(S9N(=K209P$XT.]99P8Y5&DI5TZ15J(9'.D9<<N7IYZ90320>!*94$n
|
||
MF9=#F7.(R95J\9;6R!OP6(5MN2(J))<J9)=8B7UZ*9!/20=P\Y=N,'E2V9FBm
|
||
M65($"3>).12HR9BQ$4':A@/\F /<AF5T!YHA>9 !V9&?)Y@/64P1V9D5B6_Zl
|
||
M!I8:N9E3Z08+:9BK=YLC-Y)*8I*+@Y(JV9,O&9-XB%9@6%PXJ9,\V9(O"93-k
|
||
MUX0'J86Q<2!!*90W1Y3%9)3861M(J1]*Z8,<A3NC.9CS^9%4:9V8F97@F2MSj
|
||
M,2<X9BRI:87LF5<T9V]QB'$N1X<<QR,F=Y_U^9!1:9KYV87[J95TEW1=64Q?i
|
||
MF9$*U3F"2)9Y9Y:_Z'?!J)9LV8QNF:*6F9<7ZI=[V9DP*I"'F:*\F4N%2:%Nh
|
||
ML)AM@'-#P:-*UYC(^)C8J**4&9=^Z%!UF7-7F96?&:.#^:0TNGJER9>Y5*6Gg
|
||
MJ54^JD(:JA:>9XDB*#+#$YO8U8GGL3#D@T17AC:UJ7XCVGXF*@)#D'.AE!F9f
|
||
M&6@@P(P311=R<":BM""L!R<2YF9#&GE+.A1-JCG:F9,[N9+>601PTP1!@ 7He
|
||
MQ@15D"I%( 4U*"&26 :F49,.6(JGZ(V8AQB:%XX(^'GD.'KG"*)JUR4H$ */d
|
||
M&(EN,817.'(W>)>RX8J+RIV.ZI.I"*;ZF -5E@-1@X(@L#"$Y!(;U8+IMXN]c
|
||
M6*)_-P5):J=9B:=ZZA:)AQESP'A"\GB&>JOSEJM8Z7 .R*ES\JDU**H<%0.Db
|
||
M"HZ<-XX 5HX-Z*J$Z$MF0&&*,09Y,&2_2"*.A'=G 8)[02%9TBF[)D;*Q6R^a
|
||
M]4+!A3/2!D=M8+"<DER^IC3@$VPUP$9N-&U;5UTYP(\X=4B !$<A.S[-2IO-z
|
||
MERO/YT_[IA8@)81+ SBH*'>GERMWH!I2$JN)=P9OD(KWF@!NRHO[!W__QP4By
|
||
M ']("R%N(1<KTF9N<"AP\Q]A,">SD0=@$ADHD <O@)P@\ /!"#=&<09VX&]=x
|
||
M@)IE< =DADRDJHXFDG-H0**OT9HWFRMG4I(HP"#=6+?.!ZMZ:[:F" (GD =Iw
|
||
MP@?=][?_%K@GD 4G$(4KJXYBX+1K4(DBTP9TX4T'2SE@I&P+B[$-BT<<.S42v
|
||
M>[ES4;&<>[' QD0TLU'2)JQ<9*PH2[)98[+$8Q)FH[)U^SI5&QP<U(X@0+J*u
|
||
MT8A#JW<B4 1*(E-4XKL+AAKM!;SZP1(*8A14J($I\'\B (AU=QJI(;>P87]Wt
|
||
M.P>F<5O79W^D*+[!![B\>@)< .-:[-TIU_0>F_PI *R85MX8$OOUP(L<3(Qs
|
||
M, ?SM[;C2[DAJ(\P(#<LD1'(RA+" SYKZE$1N(!T,$S,]WG#NW]$L&?: P++r
|
||
MRTU=X;Q;V[75&XS8F[UPR[UT2W??F[?3\8-^.QV VP/%-+B%>[@NG+@P++B,q
|
||
M"[0K"R)CH"GRJU+TBU[W"Y?Z,;^RL;Q?6KE.2P:ZMKD*B[H9Z["D-5P2N\2Fp
|
||
M^\1VE+I/0P.LV[&N*S(+0T NP8DE:VQA/#=6YJR^- 06ERIL[ 0>UH@XJ[/"o
|
||
M5+-S][@5+ )&D%Y(J[0BX%YX@!TE"3<N\Q_P,1S"Q+5>"[;S-Y%W.\*Y\K;;n
|
||
MVQIS6X-V"V#@J[>6W+?Z@;@ =\,GX 8S/!MS\,(Q[ 2-6[>K6GVP:&Y)O#AMm
|
||
M(!=NT,06F\51W#1,1,7&%LNK=\6]9LL-.P/"%KI]9(G5%3Z%1,:S:VS([#8-l
|
||
M_*KZP</0LA]E "UH>P>R8:MW(0?Y-B<Z/,?IQ;-OX+/?G"MY3 1ZT2=OP6-Ek
|
||
M,%8@T,?Q]\=5VWJ^"\#!IQ^*+!N,?,V0+,E 8L*6G,*:[("<K,*E;,,Q3+@@j
|
||
M8+BD;,HXG,J$&+GZ-+G5U09SX!I>E+"_O%PW(&S"O$:Z?!X6C=%R=+JVW-'.i
|
||
M1C/0Y<7&S$4T0#P;*[L^9:#PU(.7L04RT 5%1:U&. <!$ID6=5=/U9[1>Q1Nh
|
||
M\((XK=.^A 1["$X"1=0UC0:EG--%!77?Y&:J0084PGJ6^;7@Y%0T6=0@H 8Zg
|
||
ML@9;\-)4[4LYFQYP,0=@VU40Y&W+Q'/UX8%=LF!I4!LM>01?0 59 4_^=6\f
|
||
M4=?@1G,@L-=]_=<_&7,@, +U4M@<1@3LYFZ9 5)L<11E02%X0%POS0(V((HJe
|
||
M.]0TK5(V30=)O=-)ZM.VZ-1X!511O8>GO=1-W8AA'=53K=2^9-52UXQYO=7;d
|
||
MF(-OK4RMG59'0=9NL 8P<-H!6MLJM:!WH-Q@/7/PU*"P MW#_4SP9-QF30,)c
|
||
MH]2OL]:2T=;!_4!FA6/T81^%C==ZC1R)#=C@2=?HW6Z&C=A^[=ZLS5V/+=^1b
|
||
M/=D35]ER<-E)HMD5?<C:0\LFO5P-"UQ[%+&[3.#WD6Q8C."K:S-=+%TM+:8Da
|
||
MB#?!(]/:EN'# ]IL^KAKW,94\,9Q+-3JF+/A;,=\F\=[+"7PO+0+2!0J5,ARz
|
||
MX.#X#,)>W<AC"V"0;"S^'+>4W+T$;2P"O<)%SK(M?-"?',.BO- TS.2*B\KEy
|
||
MK(Y".<YZ44SN6EWWE2<&'N',UC2!8S,>P>!-"4Q>#N$;S6PX$%Q;3,P>2VW5x
|
||
M-0,TP (S@#/(2N=E]\P5$=?:M7KTTB6O,P504"J5UE7_X]C1)]]?,) 8@@>-w
|
||
M_C^*-")=7B=H'AY;\,DV"S][< )!< )_]P)V(NJ2& 0BD"MP P-, #<MD>IPv
|
||
M@P)2A0)!W'FR$3K&DZQP$S?NP^F>#NK!*.J(\0)J 0.GG@"IONHRX^KZ$>NSu
|
||
M+GZV'CITDS30PX:=_NFA/NH8'03F8Q*G?NRL'NVA ^M*HA_-7NMP8SXCQ.HPt
|
||
ML.O>T^O7'NS9ONTQT.U+@^RMOC2OSNSVYNSG[C>X+EKLOC8G( 2^+@+ ?BD8s
|
||
M+03%[NW)CN_+/NZRON_FSG#0GNLY$/"=3O#O?BE0, 7SCNKU_NW*+NZ8$?'Zr
|
||
MP>\4G^X-<P/3SNL:_^O8+HE"L.W$;NPAW_#AKN\G/_'H_N\F@?$#7_ '3^ISq
|
||
M,/,SP!+TKNHB[_ D3^X2[_ ]'^TL ?1#(/0Q/P=#L/ W#SXCK_.T[O .'SI+p
|
||
M _1$8/7P+HE$H/5*WUM=#_'E#O:A(_;K[C^\C@5FC_"2B 5J;^_@GN]N__1Ro
|
||
MK_)C3_?MSK@;3_19L/=+G_-_O_-P+_AS3^WJR[ZO;L0L$XL,'_=^7_)OK_EAn
|
||
MGW;=$]<0!^AK]SJ-GFI50*E? $[=@]^+[F!.D 18 5#@-]N<&$9Q@/)XM-Gm
|
||
M0"_41 =9@@8^8/NXWQ4\8 9CH"3!/_Q?O#@W44BW5\;GL3/C,YLA#GKS.GKEl
|
||
M9U:". *D+^B+4P6Q/_N'SCV^USU2!:_B^#]*:(,@M4BNISED <Z6.DZ]S]Lk
|
||
MJ.*'<7QP@)'U1^ULZ%F5)3A%^'(%X%D.>8K.%),'$V'RE/ZR 6ZA!,B VD %j
|
||
M@%H$G( @@*E1ICR% 7D:-^* +&(XN 6J0P7D3P!D ?/O[0@>[),"DT_PF3S]i
|
||
MSP<4J1:HC5J@98*!^R8B;8N2-,)6P J8?]X(]!D.&0);BJ 1/()(, DJP27(h
|
||
M!)N@$WR"4# *2L$I2 6KH!6\@E@P"VK!+<@%NZ 7_()@, R*P3%(!LN@&3R#g
|
||
M:# -JL$UR ;;H!M\@W P#LK!.4@'ZZ =O(-X, _JP3W(!_N@'_R#@# 0"L)!f
|
||
92 @+H2$\A(@P$2K"1<@(&Z$C?(20,!(^!(-Xe
|
||
d
|
||
end
|
||
--[0097]--
|
||
|
||
[0098] daemon@ATHENA.MIT.EDU (Robert Blum) Linux_Activists 11/19/91 04:48 (82 lines)
|
||
Subject: The new TODO list and a FTP-admin specific question
|
||
Date: Tue, 19 Nov 91 10:27:48 +0100
|
||
From: blum@cip-s01.informatik.rwth-aachen.de (Robert Blum)
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
|
||
Hi Linuxers!
|
||
|
||
I am just mailing to remind you that there still exists this TODO-file.
|
||
If you have ported anything lately or can help me fill the questinable
|
||
things, please mail me.
|
||
|
||
Following at the end of the file is the latest release of TODO.
|
||
|
||
But before you start dropping this into the trashbin:
|
||
All FTP-Site-maintainers with Linux-specific stuff, please read at the end
|
||
of the mail!!
|
||
|
||
=============== Following is TODO =======================
|
||
This files contains the status of several tools for Linux
|
||
|
||
Currently ported projects:
|
||
|
||
Name: ported by: available at
|
||
bison nicholas@cs.uwa.oz.au tupac-amaru
|
||
nic.funet.fi
|
||
|
||
flex ?? tupac-amaru
|
||
nic.funet.fi
|
||
|
||
diff ?? tupac-amaru
|
||
nic.funet.fi
|
||
|
||
kermit ?? tupac-amaru
|
||
nic.funet.fi
|
||
|
||
===============================================================================
|
||
Projects currently under development:
|
||
|
||
Name: ported by: Remarks
|
||
c386 blum@messua.informatik.rwth-aachen.de Is working under Linux
|
||
A cc for this exists
|
||
Is currently teached
|
||
ANSI. Any help on this
|
||
would be appreciated.
|
||
|
||
gawk nicholas@cs.uwa.oz.au Still needs a working
|
||
mathlib.
|
||
|
||
VFS proven@athena.mit.edu VFS=Virtual File System
|
||
Will probably out with
|
||
Linux 0.11
|
||
|
||
Networking jtkohl@echidna.berkeley.edu Mainly the BSD code
|
||
Perhaps even ffs
|
||
=================End of TODO=======================
|
||
|
||
Now the stuff for you site admins out there:
|
||
|
||
What do you think of a kind of mailing list for new sources/binaries?
|
||
E.G:
|
||
You get the new kernel code. Instead of installing it directly, you post
|
||
it to the mailing list, and it will be automatically installed on all FTP
|
||
sites that have joined the mailing list, including yours.
|
||
|
||
So we could keep the whole archives consistent and thus spread the load.
|
||
Currently, the host who has it first will have the heaviest load.
|
||
(But wait, funet.fi is the one to have it first... I think we shouldn't
|
||
do the list :-)
|
||
|
||
You might even offer the linux community to join this list read-only, so
|
||
everybody who wants to, always finds the newest binaries in his mailbox.
|
||
Of course, this depends on
|
||
a) if you have to pay for mail
|
||
b) how much you have to pay
|
||
|
||
What do you think about this? Do you like the idea?
|
||
|
||
Please send in any replies/thoughts you have concerning this
|
||
|
||
OK, and thank you for listening
|
||
Robert Blum
|
||
|
||
--[0098]--
|
||
|
||
[0099] daemon@ATHENA.MIT.EDU (Linus Benedict Torvalds) Linux_Activists 11/19/91 05:05 (98 lines)
|
||
Subject: general
|
||
Date: Tue, 19 Nov 1991 11:56:09 +0200
|
||
From: Linus Benedict Torvalds <torvalds@cc.helsinki.fi>
|
||
To: Linux-activists@joker.cs.hut.fi
|
||
|
||
John T Kohl <jtkohl@cs.berkeley.edu>:
|
||
> Anybody working on GNU emacs? "em" is passable, but I'd like the real
|
||
> thing...
|
||
|
||
I'd be interested to hear about this too.. I haven't got the disk-space
|
||
to try to port it myself, but judging from the ease of porting other GNU
|
||
software it shouldn't be too difficult. Of course, emacs is rather big,
|
||
and probably wants some features... ? If anybody gets a working binary
|
||
(and no, I don't think we need all the features: gif-viewing, mail, news
|
||
etc :-), I'm sure it could be set up for ftp somewhere (both nic and
|
||
amaru accept incoming ftp: nic in /pub/OS/Linux (but it won't show up
|
||
immediately), amaru in msdos/replace/incoming or something like that).
|
||
|
||
> In other news, I have now been able to observe program execution speed
|
||
> differences when I toggle the Turbo switch (easiest to observe by
|
||
> scrolling lots of text on the console). So it's probably some sort of
|
||
> timing glitch that prevents booting at full-speed?
|
||
|
||
Do you have any problems at all using the floppy or harddisk later on?
|
||
It might be that linux uses the IO-ports too often (there are usually
|
||
(always?) two "jmp $+2" between IO instructions, but on a 33MHz 486 this
|
||
isn't too much of a delay). I cannot imagine what other timings might be
|
||
wrong (but if I have forgotten "jmp $+2" somewhere, it's probably in the
|
||
early code, ie the one that is used at bootup.. I'll check)
|
||
|
||
mgfrank@acsu.buffalo.edu (Marc G. Frank):
|
||
johnsonm@stolaf.edu (Michael K. Johnson):
|
||
> [ mtools ]
|
||
|
||
This has been said before on this forum, but it seems there are enough
|
||
new linux-activists to rehash the problems with mtools:
|
||
|
||
1 - you have to tell mtools which device to use. This is done by linking
|
||
(or mknod'ing) the files /dev/dos[A|B|C] to the correct device. (ie
|
||
mknod /dev/dosA b 2 28 for a 1.44M dos floppy in A etc).
|
||
|
||
2 - linux-0.10 doesn't support reading/writing from partitions >64M. Be
|
||
VERY careful if you write to such a partition: the blocks wrap around at
|
||
65536. This is easily fixed (I think): change the unsigned short b_blknr
|
||
in buffer_head to unsigned long, and recompile the kernel. I cannot test
|
||
it (both my harddisks are <64M), but this should work. Thanks to xxxx.
|
||
|
||
3 - due to the bug in /usr/include/ctype.h (tolower), mcopy isn't able
|
||
to do things like "mcopy 'a:*' .", as the names get confused. You'll
|
||
have to give the new names explicitly, or recompile the mtools with the
|
||
corrected ctype.h (mtools source can be found at nic.funet.fi:
|
||
pub/unix/i386/isc/source/mtools* and from several other ftp sites)
|
||
|
||
4 - /dev/dos[A|B] is hardcoded to 12-bit fats, /dev/dosC is hardcoded
|
||
for 16-bit fats. There is no /dev/dosD etc. If you have a small
|
||
harddisk (12-bit FAT), you have to call it A or B.
|
||
|
||
Btw, mtools is not really needed: you can write a tar-file to disk with
|
||
the rawrite program, and use "tar xvf /dev/xxxx" to untar it unto the
|
||
linux partition. Thanks to "whoever" for pointing this out (and I hope
|
||
nobody minds the fact that I never remember names)
|
||
|
||
nicholas@cs.uwa.oz.au (Nicholas Yue)
|
||
>
|
||
> (i) 80386 with 80287
|
||
|
||
I've tried to get a 287 working with linux, but no luck so far. Does
|
||
anybody know anything about the problems with 287? I tried to put it in
|
||
protected mode (FSETPM), but that didn't seem to help. I seem to be
|
||
able to correctly identify it (check for a x87, and if ET is cleared,
|
||
it's a 287), but it simply won't work it seems? Any pointers to it? Is
|
||
it at all possible to use a 287 in 386-protected mode?
|
||
|
||
Again I have the problem that I cannot test my changes: the few
|
||
(unsuccessful) things I tried had to me mailed to nicholas.
|
||
|
||
jtkohl@antipodes.Berkeley.EDU (John T. Kohl):
|
||
>
|
||
> It seems whenever I type control-U while in a program, the console bash
|
||
> dies and the system grinds to a halt. bug? feature?
|
||
|
||
This is an old debugging tool I think. I was testing the keyboard
|
||
interrupts, and got cc_c[VKILL] to send a SIGKILL to the processes in
|
||
the tty-group. I used ^U as I never use it myself for other things, and
|
||
thus promptly forgot about it when it worked. I should make VKILL work
|
||
the right way (ie just kill the line in cooked mode(?)), but an easy fix
|
||
to this would be to comment out the line in tty_io.c that calls
|
||
tty_signal or whatever, and recompile the kernel. Thus you could call
|
||
it a "feature", even though it isn't documented anywhere (unless you
|
||
count the sources as docs, which might not be a bad idea anyway).
|
||
|
||
Linus
|
||
|
||
PS. I think I have found the "Invalid TSS: 0000" error that a couple of
|
||
people have got after soft-booting from DOS: possibly the eflags NT-bit
|
||
was set, in which case an iret would try to change to TSS 0000, which
|
||
doesn't exist. It should be corrected in the next version (again, I'm
|
||
unable to test it - I don't get that error).
|
||
|
||
--[0099]--
|
||
|
||
[0100] daemon@ATHENA.MIT.EDU (Brian Syme) Linux_Activists 11/19/91 05:20 (18 lines)
|
||
Subject: Newcomer (sorry folks just bear with me for a min..)
|
||
Date: Tue, 19 Nov 1991 10:09:29 +0000
|
||
From: Brian Syme <gxlr07@udcf.gla.ac.uk>
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
|
||
Before I start pestering people with daft questions.. is there such a thing
|
||
as a Linux frequently asked questions list, or similar? Also, is there a
|
||
list of who is running the system, on what, etc.
|
||
|
||
For info: I'm on a 386sx/20 4MB RAM, 90MB IDE HD, Trying & failing to get
|
||
linux onto a third 20MB partition (/dev/hd3?), DOS 5 on the first two
|
||
partitions, [problem is that the minix demo mkfs refuses to create a file
|
||
system on /dev/hd3 - it complains about the size..]
|
||
|
||
I'll shuddup now.. :-)
|
||
|
||
Brian
|
||
|
||
--[0100]--
|
||
|
||
[0101] daemon@ATHENA.MIT.EDU (Brian Syme) Linux_Activists 11/19/91 10:19 (20 lines)
|
||
Subject: Newcomer.. a few questions..
|
||
Date: Tue, 19 Nov 1991 14:42:13 +0000
|
||
From: Brian Syme <gxlr07@udcf.gla.ac.uk>
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
|
||
..the first of which is: Is there a "Frequently Asked Questions" or similar
|
||
for Linux? If not,.. might be handy? Is there an archive of this mailing
|
||
list?
|
||
|
||
Is there also a list of who is running Linux, and on what? Might help in
|
||
targetting questions, advice, etc. For info:
|
||
|
||
I'm on a 386sx/20MHz (TOPCAT chipset), 4MB RAM, 90MB Seagate IDE HD, DOS 5
|
||
on 1st & 2nd partitions (FAT-12 then EXTEND, isn't fdisk a pain..) Linux
|
||
on a final 20MB partition..
|
||
|
||
Brian Syme
|
||
Glasgow University Library
|
||
gxlr07@udcf.gla.ac.uk
|
||
|
||
--[0101]--
|
||
|
||
[0102] daemon@ATHENA.MIT.EDU (Nicholas Yue) Linux_Activists 11/19/91 19:55 (31 lines)
|
||
Subject: GCC problem ?
|
||
Date: Wed, 20 Nov 91 09:52:10 WST
|
||
From: nicholas@cs.uwa.oz.au (Nicholas Yue)
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
G'day,
|
||
The following program does not behave as expected
|
||
|
||
----------------cut----------------------cut-----------------------------------
|
||
#include <stdio.h>
|
||
|
||
const static double testvalue = 1.234e-09;
|
||
|
||
int main(int argc, char **argv)
|
||
{
|
||
(void) printf("test value = %e\n",testvalue);
|
||
return(0);
|
||
}
|
||
----------------cut----------------------cut-----------------------------------
|
||
when compiled under linux's gcc, it prints
|
||
|
||
test value = 1.234000e+00
|
||
|
||
instead of
|
||
|
||
test value = 1.234000e-09
|
||
|
||
Anybody have any clues?
|
||
|
||
Thanks In Advance
|
||
|
||
nicholas@cs.uwa.oz.au
|
||
--[0102]--
|
||
|
||
[0103] daemon@ATHENA.MIT.EDU (Theodore Ts'o) Linux_Activists 11/20/91 00:40 (10 lines)
|
||
Subject: New binaries uploaded --- pmake and less
|
||
Date: Wed, 20 Nov 91 00:36:56 -0500
|
||
From: tytso@ATHENA.MIT.EDU (Theodore Ts'o)
|
||
To: linux-activists@joker.cs.hut.fi
|
||
Reply-To: tytso@athena.mit.edu
|
||
|
||
Binaries for pmake (the make that comes with BSD 4.4) and for less have
|
||
been uploaded to tsx-11.mit.edu, nic.funet.fi, and tupac-amaru. These
|
||
binaries were supplied by John Kohl (jtkohl@cs.berkeley.edu).
|
||
|
||
- Ted
|
||
--[0103]--
|
||
|
||
[0104] daemon@ATHENA.MIT.EDU (Tony Travis) Linux_Activists 11/20/91 06:17 (30 lines)
|
||
Subject: Re: Newcomer.. a few questions..
|
||
Date: Wed, 20 Nov 1991 10:41:00 +0000
|
||
From: Tony Travis <ajt@rowett.scot-agric-res-inst.ac.uk>
|
||
To: linux-activists@joker.cs.hut.fi
|
||
Cc: ajt@rowett.scot-agric-res-inst.ac.uk, Brian Syme <gxlr07@udcf.gla.ac.uk>
|
||
|
||
>
|
||
> ..the first of which is: Is there a "Frequently Asked Questions" or similar
|
||
> for Linux? If not,.. might be handy? Is there an archive of this mailing
|
||
> list?
|
||
|
||
Lee McLoughlin <lmjm@uk.ac.ic.doc> is 'mirroring' the Linux archive on
|
||
<uk.ac.ic.doc.src> where there is already a Minix News archive.
|
||
|
||
I've saved all the mail on the 'activist' list since I joined if that's
|
||
any use? I could send you a tar of it if you like.
|
||
|
||
> Is there also a list of who is running Linux, and on what? Might help in
|
||
> targetting questions, advice, etc. For info:
|
||
|
||
(knee tremble) I'm thinking of zapping my Minix 1.5.10/386 in favour of Linux,
|
||
but I'm not sure! I've got an Elonex 386SX/B with two 40Mb IDE drives and 4Mb
|
||
RAM.
|
||
|
||
Tony
|
||
|
||
-------------------------------------------------------------------------------
|
||
Tony Travis <ajt@uk.ac.sari.rri> | Rowett Research Institute,
|
||
| Greenburn Road, Bucksburn, Aberdeen,
|
||
| UK. AB2 9SB. tel 0224-712751
|
||
|
||
--[0104]--
|
||
|
||
[0105] daemon@ATHENA.MIT.EDU (Robert Lund) Linux_Activists 11/20/91 11:18 (23 lines)
|
||
Subject: FIFOs
|
||
Date: Wed, 20 Nov 91 09:06:56 MST
|
||
From: Robert Lund <rml@bighorn.uswest.com>
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
|
||
Has anyone successfully used FIFOs. I have tried but I
|
||
get the error message:
|
||
|
||
(Read)inode->i_mode=010666
|
||
|
||
cat: fifo: EINVAL
|
||
|
||
when I try:
|
||
|
||
mknod fifo
|
||
chmod 666 fifo
|
||
cat fifo&
|
||
|
||
I can successfully write to it, although its size is always 0.
|
||
|
||
Any ideas.
|
||
|
||
Bob Lund
|
||
--[0105]--
|
||
|
||
[0106] daemon@ATHENA.MIT.EDU (Robert Lund) Linux_Activists 11/20/91 11:24 (14 lines)
|
||
Subject: Re: FIFOs question
|
||
Date: Wed, 20 Nov 91 09:14:19 MST
|
||
From: Robert Lund <rml@bighorn.uswest.com>
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
|
||
My example should have shown
|
||
|
||
mkfifo fifo
|
||
|
||
not
|
||
|
||
mknod fifo
|
||
|
||
Bob Lund
|
||
--[0106]--
|
||
|
||
[0107] daemon@ATHENA.MIT.EDU (Michael K. Johnson) Linux_Activists 11/20/91 13:31 (27 lines)
|
||
Subject: problems with binaries
|
||
Date: Wed, 20 Nov 91 12:18:00 CST
|
||
From: johnsonm@stolaf.edu (Michael K. Johnson)
|
||
To: Linux-activists@joker.cs.hut.fi
|
||
|
||
|
||
I am new to Linux, and have been having some problems. My main one right
|
||
now is that I have been bringing binaries from tsx-11 to my computer via
|
||
dos-formatted disks, and using mread to transfer them to Linux. They
|
||
uncompress without a hitch, but when I try to run the executable, Linux
|
||
complains that it cannot execute the binary file. I am also having trouble
|
||
doing porting work, because I have (as far as I can tell) no editor and
|
||
no pager. If I am wrong on either point, please point me in the right
|
||
direction. Even my binaries for sed and tr didn't work, so I can't even
|
||
use them as editors.
|
||
|
||
I have all sorts of ideas as to why the binaries don't want to execute,
|
||
but not enough knowledge. If I can get an editor or pager working, I
|
||
can look at the source to see why this is happening, but I have a chicken/
|
||
egg problem here.
|
||
|
||
Thanks for any help you can provide!
|
||
|
||
michaelkjohnson
|
||
johnsonm@stolaf.edu
|
||
I don't do .sig
|
||
's
|
||
(as you can tell here, I really don't do .sig's :-)
|
||
--[0107]--
|
||
|
||
[0108] daemon@ATHENA.MIT.EDU (Robert Lund) Linux_Activists 11/20/91 15:27 (9 lines)
|
||
Subject: fifos
|
||
Date: Wed, 20 Nov 91 13:16:10 MST
|
||
From: Robert Lund <rml@bighorn.uswest.com>
|
||
To: Linux-activists@joker.cs.hut.fi
|
||
|
||
|
||
Has anyone had any luck getting fifos to work. If so, I'd appreciate
|
||
hearing how.
|
||
|
||
Bob Lund
|
||
--[0108]--
|
||
|
||
[0109] daemon@ATHENA.MIT.EDU (0114) Linux_Activists 11/21/91 04:20 (47 lines)
|
||
Subject: keyboard.S with GEerman keyboard
|
||
Date: Thu, 21 Nov 91 10:09:42 +0100
|
||
From: 0114 <upsyf108@unibi.hrz.uni-bielefeld.de>
|
||
To: linux-activists@joker.cs.hut.fi
|
||
Cc:
|
||
|
||
Reply_To: upsyf173@comparex.hrz.uni-bielefeld.de
|
||
|
||
|
||
Hi all,
|
||
I think it's time for a GERMAN KEYBOARD DRIVER. So, here it is.
|
||
|
||
"Run this file through uud(ecode), uncompress it and feed it to
|
||
patch. Don't forget to save the old kernel/chr_drv/keyboard.S.
|
||
You should then #define KBD_GR in the config.h files and hit
|
||
make in the src/kernel/chr_drv and src directories to get a new
|
||
Image file".
|
||
|
||
BTW: I think keyboard.S should be changed to get different key-
|
||
codes for CursorUp / SHIFT+CursorUp / CONTROL+CursorUp ....
|
||
which could be defined in a termcap entry. Editors could pro-
|
||
fit from it. I'm new to GNU asssembler, so I couldn't do it
|
||
right now.
|
||
Wolfgang
|
||
upsyf173@comparex.hrz.uni-bielefeld.de
|
||
|
||
table
|
||
!"#$%&'()*+,-./0123456789:;<=>?
|
||
@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_
|
||
begin 644 kybd.cdif.Z
|
||
M'YV0*@*"6%-&CILR;%Z,02/G"QDY=EX0S"/F31@Y9%Q,<1$#1H(I==R >#*&z
|
||
M#H@8,T[:T#%#AHX:,4[FR!%#08N; PL>3+BPX<.($RM>S#@E 14T=4 X>6,'y
|
||
MA(R8,&#HD'%#!PT:,FDJ",BUJU<56P7.F$&#Q=@<(+K:Q#FV[(P<,$#<O*D x
|
||
M!(@$+L3DH5,&Q D^=>^Z,).	N3,%C$8 $CL((5($8@3&,&!)DRA ^20;%$w
|
||
M")$O1Z2D> R"],0O;<+ T4$:KUZ^(!)3;>TBS)PQ:=* $!%#!MD:-F[@@,N%v
|
||
MRPD1M%_W[7V#10[:MG'K%A'G3D$Z>NJD>0,'R KDD%WO73Z#,?3;N7?;)F/Fu
|
||
M#!HU:]ALZ>(%O&#EL5F<&'%>^NX\>(QAAQANM,&""RW8)QYLB9V@ F-FR9! t
|
||
M B^H ,(,-K3P5EHOT$:882HIQMB$%5X81 LTH*5"A^'E-9Y?+4"86(,K4&@As
|
||
M#2?24 2'R;TXHXQ >E0B#4:T4$,-/+:(WPD\>%C881V)V!ADI)$V!QJ4T8&:r
|
||
M:JPIZ2,+L[4877HBA,"%"".04(()+Z"00@\_@*&@B[ QYUQ_9$9Q11%24*%%q
|
||
M%4D\ 45Q*LR)'TKFB8G>=$%,08011R"AQ!),[-&''X9^><()>$Z7!19#6"&$p
|
||
M$TWLH,,7F3*HWX.)M42BA1AJJ"*+@GT(I0U2OFHBBK/V"-L),?Y(HXT@X(CBo
|
||
MCBOZVI>P08XX9)%')GG?BR?XX"2(42XV96F0A<&&EJFMIFQ^V^(UYG1<P !$n
|
||
MNB2DF^X>\_517+JI+IOHM+\"T2RS_(Y[@A^*E5<NG?;RNZ^,X\Z8\,$&*^REm
|
||
MJL+J&NN&R;9H:XC:2IQCKP\7'*2NQNHH[8(>-TPLD48B63&^??UU+92):5NEl
|
||
I79*Q,4<9@4DFAQQOR+%;9T2T0$<></3EQALF7999&60@1W,9;I!!F0*)k
|
||
j
|
||
end
|
||
--[0109]--
|
||
|
||
[0110] daemon@ATHENA.MIT.EDU (Linus Benedict Torvalds) Linux_Activists 11/21/91 05:21 (29 lines)
|
||
Subject: more "features" for linux
|
||
Date: Thu, 21 Nov 1991 12:13:11 +0200
|
||
From: Linus Benedict Torvalds <torvalds@cc.helsinki.fi>
|
||
To: Linux-activists@joker.cs.hut.fi
|
||
|
||
And here's the weekly bug-report again (although this time it's mostly
|
||
harmless "features").
|
||
|
||
The current gcc for linux is buggy: it doesn't recognise exponents after
|
||
a floating point number. This isn't gcc's fault: my library-routines
|
||
are buggy. I've corrected this (I think this one routine was from the
|
||
estdio suite), and my gcc now handles the correctly. I hope that nobody
|
||
minds very much, and I'll upgrade the thing at the same time with
|
||
version 0.11. These kind of library bugs will hopefully disappear with
|
||
the GNU libc.a: I have a pre-release, and will slowly incorporate parts
|
||
of it. I hope arl will port the whole thing some day.
|
||
|
||
fifos can be made, but they aren't really supported. Sorry. I don't
|
||
think they will be supported in the next release either: be patient (or
|
||
implement them yourself: I'll be happy to use your code)
|
||
|
||
Creating a new file ignores the current euid and egid, and all files
|
||
will be owned by root/root. You don't ordinarily notice this, as you
|
||
cannot be other than root without some hacking.
|
||
|
||
Then to some happier things: I seem to have gotten the 287-support
|
||
working. nicholas@whatever is porting the bsd math-functions to linux,
|
||
and will make different libraries for none/287/387.
|
||
|
||
Linus
|
||
--[0110]--
|
||
|
||
[0111] daemon@ATHENA.MIT.EDU (Michael K. Johnson) Linux_Activists 11/21/91 10:04 (13 lines)
|
||
Subject: binary problems
|
||
Date: Thu, 21 Nov 91 08:56:26 CST
|
||
From: johnsonm@stolaf.edu (Michael K. Johnson)
|
||
To: Linux-activists@joker.cs.hut.fi
|
||
|
||
|
||
Thanks to all who helped me with my binary problems. Seems staying up all
|
||
hours makes one forget to chmod 755
|
||
|
||
I have also got editor and pager going, so I'm happy for now :-)
|
||
|
||
michaelkjohnson
|
||
johnsonm@stolaf.edu
|
||
I don't do .sig's
|
||
--[0111]--
|
||
|
||
[0112] daemon@ATHENA.MIT.EDU (Galen Hunt) Linux_Activists 11/21/91 11:03 (9 lines)
|
||
Subject: BSD Network stuff...
|
||
Date: Thu, 21 Nov 91 08:53:41 mst
|
||
From: Galen Hunt <g-hunt@ee.utah.edu>
|
||
To: Linux-activists@joker.cs.hut.fi
|
||
|
||
To the person that said he would work on the Berkeley network stuff, please
|
||
drop me an email message as I would like to help you out.
|
||
|
||
galen
|
||
g-hunt@ee.utah.edu
|
||
--[0112]--
|
||
|
||
[0113] daemon@ATHENA.MIT.EDU (John T Kohl) Linux_Activists 11/21/91 12:21 (16 lines)
|
||
Subject: re: BSD Network stuff...
|
||
Date: Thu, 21 Nov 91 09:09:40 PST
|
||
To: linux-activists@joker.cs.hut.fi
|
||
Cc: g-hunt@ee.utah.edu
|
||
From: John T Kohl <jtkohl@cs.berkeley.edu>
|
||
Reply-To: jtkohl@cs.berkeley.edu
|
||
|
||
Well, I may have *sounded* like I was going to tackle the BSD networking
|
||
stuff, but what I really intended to mean was that I'm tackling code in
|
||
the BSD "networking" release 2 (which includes a whole heap of code for
|
||
utilities and libraries). Anybody who wants to deal with the networking
|
||
code itself (sockets, tcp, etc) is welcome to look at that; for the
|
||
moment I'm more interested in getting various utilities and libraries
|
||
from BSD working (they seem to have a rather large C library; maybe even
|
||
complete!).
|
||
|
||
John
|
||
--[0113]--
|
||
|
||
[0114] daemon@ATHENA.MIT.EDU (tthorn@daimi.aau.dk) Linux_Activists 11/23/91 21:58 (24 lines)
|
||
Subject: Adaptech-1542 driver. Linking system.
|
||
From: tthorn@daimi.aau.dk
|
||
To: Linux-activists@joker.cs.hut.fi
|
||
Date: Sun, 24 Nov 91 3:47:35 MET
|
||
|
||
Hi Linuxers,
|
||
|
||
I'm in the unfortunate situations that I cannot boot
|
||
Linux:-< My problem is my Adaptech-1542 controler, that
|
||
Linux doesn't know about.
|
||
|
||
I set out to build a new kernel without harddisk driver using
|
||
my Interactive Unix 2.0.2 and the GNU tools as development
|
||
enviroment, but I ran into troubles: gld under ISC doesn't
|
||
seem to do the same as the Linux version. As pr. default
|
||
it originates the text at 0xc8 and the data at 0x400000.
|
||
I can set the text to 0x0, but what's the start of the data-
|
||
segment?
|
||
|
||
Are there anyone else out there with an adaptech controler
|
||
dealing with the same problem?
|
||
|
||
Any on the ST-02?
|
||
|
||
/Tommy Thorn
|
||
--[0114]--
|
||
|
||
[0115] daemon@ATHENA.MIT.EDU (Marc CORSINI) Linux_Activists 11/24/91 17:27 (27 lines)
|
||
Subject: Problem with less and elvis
|
||
Date: Sun, 24 Nov 91 23:21:42 EST
|
||
From: corsini@geocub.greco-prog.fr (Marc CORSINI)
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
|
||
I've got less.Z on tsx-11.mit.edu
|
||
each time i use it, it works fine until the last line where it just stops
|
||
at that time the only thing I can do is <CTRL> C and this only leads to
|
||
"child 3 died with code 0000". The only thing i can do is a 3fingers salute
|
||
|
||
About elvis, i've got it on amedeas, then i've done what C. Darken has
|
||
recommanded BUT
|
||
eval gcc -DDATE causes trouble "can't open /tmp/????? "
|
||
and then gcc regexp causes the following message:
|
||
invalid operand 0000
|
||
EIP 000f:0000C050
|
||
EFLAGS 00010202
|
||
ESP 0017:03FFF2A8
|
||
fs:0010
|
||
base:20000000 limit 04000000
|
||
Stack ....
|
||
PID 167 process nr8
|
||
f0 85 d2 0f 85 fe fe ff ff 89
|
||
|
||
any ideas
|
||
|
||
[mmc]
|
||
--[0115]--
|
||
|
||
[0116] daemon@ATHENA.MIT.EDU (Marc CORSINI) Linux_Activists 11/24/91 17:32 (11 lines)
|
||
Subject: mea culpae
|
||
Date: Sun, 24 Nov 91 23:28:06 EST
|
||
From: corsini@geocub.greco-prog.fr (Marc CORSINI)
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
|
||
How stupid am I, i've forgotten that less is vi oriented and so
|
||
at the end :q is a good exit
|
||
my only excuse is tht i'm used to utilize more on sun
|
||
still remains the problem of compilation of elvis
|
||
|
||
[mmc]
|
||
--[0116]--
|
||
|
||
[0117] daemon@ATHENA.MIT.EDU (Michael K. Johnson) Linux_Activists 11/24/91 21:06 (19 lines)
|
||
Subject: less
|
||
Date: Sun, 24 Nov 91 19:59:22 CST
|
||
From: johnsonm@stolaf.edu (Michael K. Johnson)
|
||
To: Linux-activists@joker.cs.hut.fi
|
||
|
||
|
||
I don't acually know if this will work on Linux, but I don't know
|
||
why it wouldn't -- it works on the suns... If you hate the way
|
||
that less makes you exit with :q, try adding these lines to
|
||
your .profile:
|
||
LESS="-e";
|
||
export LESS
|
||
Then less should automatically exit at the end of files.
|
||
|
||
Hope this helps those of us who are more or less annoyed with the
|
||
default behavior of less...:-)
|
||
|
||
michaelkjohnson
|
||
johnsonm@stolaf.edu
|
||
I don't do .sig's
|
||
--[0117]--
|
||
|
||
[0118] daemon@ATHENA.MIT.EDU (Robert Blum) Linux_Activists 11/25/91 03:32 (64 lines)
|
||
Subject: The latest TODO list
|
||
Date: Mon, 25 Nov 91 09:21:38 +0100
|
||
From: blum@cip-s01.informatik.rwth-aachen.de (Robert Blum)
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
|
||
Hi Linuxers!
|
||
This is my weekly post (just to remind you that it exists, I get almost
|
||
no feedback :-() of the TODO list, which is also available on tupac-amaru
|
||
So if you have any additions to it please mail me.
|
||
|
||
I hope in one or two weeks, there will also be a first FAQ. Again, if you
|
||
have any ideas what should belong into it, please mail.
|
||
|
||
BTW: Has anyone succesfully crosscompiled Linux under another OS?
|
||
I tried it with DJGPP under DOS, and I can't get it running. *ANY* help with
|
||
it would be appreciated.
|
||
|
||
C U l8er,
|
||
Robert Blum
|
||
|
||
What follows is the new TODO-file:
|
||
|
||
This files contains the status of several tools for Linux
|
||
|
||
Currently ported projects:
|
||
|
||
Name: ported by:
|
||
bison nicholas@cs.uwa.oz.au
|
||
diff tytso@mit.edu
|
||
flex tytso@mit.edu
|
||
kermit tytso@mit.edu
|
||
less jtkohl@berkeley.cs.edu
|
||
pmake jtkohl@berkeley.cs.edu
|
||
|
||
All these programs can be FTPed as binaries from the following sites
|
||
nic.funet.fi
|
||
tsx-11.mit.edu
|
||
tupac-amaru.informatik.rwth-aachen.de
|
||
|
||
===============================================================================
|
||
Projects currently under development:
|
||
|
||
Name: ported by: Remarks
|
||
c386 blum@messua.informatik.rwth-aachen.de Is working under Linux
|
||
A cc for this exists
|
||
Is currently teached
|
||
ANSI. Any help on this
|
||
would be appreciated.
|
||
|
||
gawk nicholas@cs.uwa.oz.au Still needs a working
|
||
mathlib.
|
||
|
||
networking jtkohl@echidna.berkeley.edu Mainly the BSD code
|
||
Perhaps even ffs
|
||
Networking=
|
||
BSD networking Tape VOL2
|
||
|
||
mathlib nicholas@cs.uwa.oz.au Will be a library for
|
||
387/287/soft-float-code
|
||
|
||
VFS proven@athena.mit.edu VFS=Virtual File System
|
||
Will probably out with
|
||
Linux 0.11
|
||
|
||
--[0118]--
|
||
|
||
[0119] daemon@ATHENA.MIT.EDU (Tony Travis) Linux_Activists 11/25/91 05:32 (61 lines)
|
||
Subject: more or less
|
||
Date: Mon, 25 Nov 1991 10:06:00 +0000
|
||
From: Tony Travis <ajt@rowett.scot-agric-res-inst.ac.uk>
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
I've been reading the comments about vi and less in the last few messages on
|
||
this list. I much prefer ue (MicroEMACS) as an editor to be called from the
|
||
pager rather than vi. On Minix/Linux you could edit the sources, and recompile
|
||
but it's not so easy if you haven't got the sources and, under SunOS for
|
||
example, the path /usr/bin/vi is hard-coded into the more binary.
|
||
|
||
'good' programs read and respect the EDITOR variable in the environment, but
|
||
more seems to be a notable exception. Here is a vi stub that parses the goto
|
||
argument for vi and invokes ue instead. Install it as /usr/bin/vi :-)
|
||
|
||
Tony
|
||
|
||
-------------------------------------------------------------------------------
|
||
Tony Travis <ajt@uk.ac.sari.rri> | Rowett Research Institute,
|
||
| Greenburn Road, Bucksburn, Aberdeen,
|
||
| UK. AB2 9SB. tel 0224-712751
|
||
|
||
|
||
----- 8< ----- cut here ----- 8< -----
|
||
static char *sccsid = "@(#)vi.c 05-Nov-90 A.J.Travis";
|
||
|
||
/*
|
||
* kludge to call ue when programs exec vi (eg. more)
|
||
*/
|
||
|
||
#include <stdio.h>
|
||
|
||
#define SAME 0 /* strcmp() equal */
|
||
|
||
main(argc, argv)
|
||
int argc;
|
||
char *argv[];
|
||
{
|
||
char command[BUFSIZ];
|
||
int line = 1;
|
||
|
||
if (strcmp(getenv("EDITOR"), "vi") == SAME) {
|
||
fprintf(stderr, "vi: editor not available on this system\n");
|
||
exit(-1);
|
||
}
|
||
if (argc > 3) {
|
||
fprintf(stderr, "usage: vi [+line] [file]\n");
|
||
exit(-1);
|
||
}
|
||
if (argc > 2) {
|
||
if (*argv[1] == '+')
|
||
line = atoi(argv[1]) + 1;
|
||
argv++;
|
||
--argc;
|
||
}
|
||
if (argc > 1)
|
||
sprintf(command, "ue -v -g%d %s", line, argv[1]);
|
||
else
|
||
sprintf(command, "ue");
|
||
system(command);
|
||
}
|
||
|
||
--[0119]--
|
||
|
||
[0120] daemon@ATHENA.MIT.EDU (Galen Hunt) Linux_Activists 11/25/91 10:19 (30 lines)
|
||
Subject: Cross compiling Linux
|
||
Date: Mon, 25 Nov 91 08:03:38 mst
|
||
From: Galen Hunt <g-hunt@ee.utah.edu>
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
> BTW: Has anyone succesfully crosscompiled Linux under another OS?
|
||
> I tried it with DJGPP under DOS, and I can't get it running. *ANY* help with
|
||
> it would be appreciated.
|
||
>
|
||
> C U l8er,
|
||
> Robert Blum
|
||
|
||
I've successfully cross compiled Linux from the NeXT using GNU C which I had
|
||
customized for doing the 68040 to 80386 cross compile. If Linux isn't
|
||
compiling under DJGPP it probably has something to do with the wonderful 8
|
||
character dos file names.
|
||
If it won't run you probably have a problem of another color. It wouldn't run
|
||
for me at first until I discovered the following: Linux's a.out formatted files
|
||
use a segment size of 1024 bytes as opposed to most implementations of unix
|
||
which use either a 4096 or 8192 byte segment size. This will kill you in
|
||
two ways, first the build.c program put together the boot image for a 1K
|
||
segment size, this is very easy to get around, just touch up build.c.
|
||
Evidence of this problem is that when Linux boots, it displays the message
|
||
about loading the kernel goes out to disk for a few seconds and then either
|
||
hangs or reboots the computer. The second problem is in the kernel code which
|
||
loads executables because it once again looks at the 1024 segment offset to
|
||
load code.
|
||
The easiest approach of course is to simply recompiler GNU ld on your host
|
||
machine so that it uses 1024 byte segment sizes.
|
||
|
||
galen
|
||
--[0120]--
|
||
|
||
[0121] daemon@ATHENA.MIT.EDU (David R. Giller) Linux_Activists 11/25/91 20:13 (42 lines)
|
||
Subject: Re: Adaptech-1542 driver. Linking system.
|
||
From: rafetmad@cheshire.oxy.edu (David R. Giller)
|
||
To: linux-activists@joker.cs.hut.fi
|
||
Date: Mon, 25 Nov 91 17:02:20 PST
|
||
In-Reply-To: <9111240247.AA08306@ananke.daimi.aau.dk>; from "tthorn@daimi.aau.dk" at Nov 24, 91 3:47 am
|
||
|
||
> Hi Linuxers,
|
||
>
|
||
> I'm in the unfortunate situations that I cannot boot
|
||
> Linux:-< My problem is my Adaptech-1542 controler, that
|
||
> Linux doesn't know about.
|
||
|
||
I have some happy news for all you out there using an EISA bus PC with
|
||
a Mylex EICS SCSI controller (probably just me). This also applies to
|
||
all you with a SCSI controller that emulates IDE or ST-506.
|
||
|
||
Linux works with these drives! I am going to see if I can slink some
|
||
sample code from the Mylex people to include in my kernel to enable
|
||
things like hardware caching and 32-bit mode, but as it is, the drive
|
||
works.
|
||
|
||
I am not out of trouble yet, though. I found out that my Mylex emulates
|
||
IDE the hard way: I installed an IDE to coexist, and the combination trashed
|
||
my drive. Bummer. After the dust cleared, however, I had a drive that
|
||
was partitioned better and uses the controller features better under DOS and
|
||
OS/2.
|
||
|
||
Then, while trying to install Linux, to my dismay -- Minix no longer boots.
|
||
No matter what I do, on any disk I might try, I always get 'root filesystem
|
||
corrupted' and panic stop from the minix kernel on startup. Anyone have
|
||
any clues? This setup worked before... All I chaanged was the partition table.
|
||
|
||
Has anyone created a linux mkfs?
|
||
|
||
Thanks,
|
||
-Dave
|
||
|
||
--
|
||
---------------------------------------------------------------------------
|
||
David Giller -- rafetmad@oxy.edu | "Some of us wake up, others roll over."
|
||
Box 134, Occidental College | "Shrouds, they have no pockets."
|
||
Los Angeles, CA 90041 | -John Lydon
|
||
---------------------------------------------------------------------------
|
||
--[0121]--
|
||
|
||
[0122] daemon@ATHENA.MIT.EDU (Linus Benedict Torvalds) Linux_Activists 11/25/91 22:36 (394 lines)
|
||
Subject: newest mkfs for linux
|
||
Date: Tue, 26 Nov 1991 05:22:04 +0200
|
||
From: Linus Benedict Torvalds <torvalds@cc.helsinki.fi>
|
||
To: Linux-activists@joker.cs.hut.fi
|
||
|
||
Ok, here's a mkfs for those that want to try it out. It works on my
|
||
system (limited testing), and hopefully we can get possible bugs ironed
|
||
out in time for 0.11 (and currently I'm hoping to release that December
|
||
8th or something).
|
||
|
||
This mkfs has two modes: checking and reckless. On a disk that you know
|
||
has no problems, you just write "mkfs /dev/hdx size", and you should
|
||
have a new system (DON'T do this on a mounted drive: unlike fsck there
|
||
is NO way that will work, and you'll probably mess it up completely.)
|
||
|
||
On a disk with possible read-errors, use "mkfs -c /dev/hdx size", which
|
||
will read all the blocks and mark those unreable into a special file
|
||
"/.badblocks". I'm not making any guarantees. This is a fast hack
|
||
(mainly yesterday and today), and I have tested only on small
|
||
filesystems, faking errors by telling mkfs that the filesystem is bigger
|
||
than it actually is. If you think the algorithm for marking bad blocks
|
||
is weird: you're right.
|
||
|
||
Linus
|
||
|
||
PS. Using -c on a big harddisk or on floppies is slow, even though I try
|
||
to speed it up by reading 32kB at a time. Also, the current linux kernel
|
||
will print out error messages for all the IO errors - that's normal, and
|
||
that's what this mkfs should map out.
|
||
---------------- snip snip ----------
|
||
/*
|
||
* mkfs.c - make a linux (minix) file-system.
|
||
*
|
||
* (C) 1991 Linus Torvalds. This file may be redistributed as per
|
||
* the Linux copyright.
|
||
*/
|
||
|
||
/*
|
||
* 24.11.91 - time began. Used the fsck sources to get started.
|
||
*
|
||
* 25.11.91 - corrected some bugs. Added support for ".badblocks"
|
||
* The algorithm for ".badblocks" is a bit weird, but
|
||
* it should work. Oh, well.
|
||
*
|
||
* Usuage: mkfs [-c] device size-in-blocks
|
||
*
|
||
* -c for readablility checking (SLOW!)
|
||
*
|
||
* The device may be a block device or a image of one, but this isn't
|
||
* enforced (but it's not much fun on a character device :-).
|
||
*/
|
||
|
||
#include <stdio.h>
|
||
#include <unistd.h>
|
||
#include <string.h>
|
||
#include <fcntl.h>
|
||
#include <ctype.h>
|
||
#include <stdlib.h>
|
||
#include <termios.h>
|
||
#include <sys/stat.h>
|
||
|
||
#include <linux/fs.h>
|
||
|
||
#ifndef __GNUC__
|
||
#error "needs gcc for the bitop-__asm__'s"
|
||
#endif
|
||
|
||
#ifndef __linux__
|
||
#define volatile
|
||
#endif
|
||
|
||
#define ROOT_INO 1
|
||
#define BAD_INO 2
|
||
|
||
#define TEST_BUFFER_BLOCKS 32
|
||
#define MAX_GOOD_BLOCKS 512
|
||
|
||
#define UPPER(size,n) ((size+((n)-1))/(n))
|
||
#define INODE_SIZE (sizeof(struct d_inode))
|
||
#define INODE_BLOCKS UPPER(INODES,INODES_PER_BLOCK)
|
||
#define INODE_BUFFER_SIZE (INODE_BLOCKS * BLOCK_SIZE)
|
||
|
||
#define BITS_PER_BLOCK (BLOCK_SIZE<<3)
|
||
|
||
static char * program_name = "mkfs";
|
||
static char * device_name = NULL;
|
||
static int DEV = -1;
|
||
static long BLOCKS = 0;
|
||
static int check = 0;
|
||
static int badblocks = 0;
|
||
|
||
#define ROOT_INO_STRING "\001\000"
|
||
#define BAD_INO_STRING "\002\000"
|
||
|
||
static char root_block[BLOCK_SIZE] =
|
||
ROOT_INO_STRING ".\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||
ROOT_INO_STRING "..\0\0\0\0\0\0\0\0\0\0\0\0"
|
||
BAD_INO_STRING ".badblocks\0\0\0\0";
|
||
|
||
static char * inode_buffer = NULL;
|
||
#define Inode (((struct d_inode *) inode_buffer)-1)
|
||
static char super_block_buffer[BLOCK_SIZE];
|
||
#define Super (*(struct super_block *)super_block_buffer)
|
||
#define INODES ((unsigned long)Super.s_ninodes)
|
||
#define ZONES ((unsigned long)Super.s_nzones)
|
||
#define IMAPS ((unsigned long)Super.s_imap_blocks)
|
||
#define ZMAPS ((unsigned long)Super.s_zmap_blocks)
|
||
#define FIRSTZONE ((unsigned long)Super.s_firstdatazone)
|
||
#define ZONESIZE ((unsigned long)Super.s_log_zone_size)
|
||
#define MAXSIZE ((unsigned long)Super.s_max_size)
|
||
#define MAGIC (Super.s_magic)
|
||
#define NORM_FIRSTZONE (2+IMAPS+ZMAPS+INODE_BLOCKS)
|
||
|
||
static char inode_map[BLOCK_SIZE * I_MAP_SLOTS];
|
||
static char zone_map[BLOCK_SIZE * Z_MAP_SLOTS];
|
||
|
||
static unsigned short good_blocks_table[MAX_GOOD_BLOCKS];
|
||
static int used_good_blocks = 0;
|
||
|
||
#define bitop(name,op) \
|
||
static inline int name(char * addr,unsigned int nr) \
|
||
{ \
|
||
int __res; \
|
||
__asm__ __volatile__("bt" op " %1,%2; adcl $0,%0" \
|
||
:"=g" (__res) \
|
||
:"r" (nr),"m" (*(addr)),"0" (0)); \
|
||
return __res; \
|
||
}
|
||
|
||
bitop(bit,"")
|
||
bitop(setbit,"s")
|
||
bitop(clrbit,"r")
|
||
|
||
#define inode_in_use(x) (bit(inode_map,(x)))
|
||
#define zone_in_use(x) (bit(zone_map,(x)-FIRSTZONE+1))
|
||
|
||
#define mark_inode(x) (setbit(inode_map,(x)))
|
||
#define unmark_inode(x) (clrbit(inode_map,(x)))
|
||
|
||
#define mark_zone(x) (setbit(zone_map,(x)-FIRSTZONE+1))
|
||
#define unmark_zone(x) (clrbit(zone_map,(x)-FIRSTZONE+1))
|
||
|
||
/*
|
||
* Volatile to let gcc know that this doesn't return. When trying
|
||
* to compile this under minix, volatile gives a warning, as
|
||
* exit() isn't defined as volatile under minix.
|
||
*/
|
||
volatile void fatal_error(const char * fmt_string)
|
||
{
|
||
fprintf(stderr,fmt_string,program_name,device_name);
|
||
exit(1);
|
||
}
|
||
|
||
#define usage() fatal_error("Usage: %s [-c] /dev/name blocks\n")
|
||
#define die(str) fatal_error("%s: " str "\n")
|
||
|
||
void write_tables(void)
|
||
{
|
||
if (BLOCK_SIZE != lseek(DEV, BLOCK_SIZE, SEEK_SET))
|
||
die("seek failed in write_tables");
|
||
if (BLOCK_SIZE != write(DEV, super_block_buffer, BLOCK_SIZE))
|
||
die("unable to write super-block");
|
||
if (IMAPS*BLOCK_SIZE != write(DEV,inode_map,IMAPS*BLOCK_SIZE))
|
||
die("Unable to write inode map");
|
||
if (ZMAPS*BLOCK_SIZE != write(DEV,zone_map,ZMAPS*BLOCK_SIZE))
|
||
die("Unable to write zone map");
|
||
if (INODE_BUFFER_SIZE != write(DEV,inode_buffer,INODE_BUFFER_SIZE))
|
||
die("Unable to write inodes");
|
||
}
|
||
|
||
void write_block(int blk, char * buffer)
|
||
{
|
||
if (blk*BLOCK_SIZE != lseek(DEV, blk*BLOCK_SIZE, SEEK_SET))
|
||
die("seek failed in write_block");
|
||
if (BLOCK_SIZE != write(DEV, buffer, BLOCK_SIZE))
|
||
die("write failed in write_block");
|
||
}
|
||
|
||
int get_free_block(void)
|
||
{
|
||
int blk;
|
||
|
||
if (used_good_blocks+1 >= MAX_GOOD_BLOCKS)
|
||
die("too many bad blocks");
|
||
if (used_good_blocks)
|
||
blk = good_blocks_table[used_good_blocks-1]+1;
|
||
else
|
||
blk = FIRSTZONE;
|
||
while (blk < ZONES && zone_in_use(blk))
|
||
blk++;
|
||
if (blk >= ZONES)
|
||
die("not enough good blocks");
|
||
good_blocks_table[used_good_blocks] = blk;
|
||
used_good_blocks++;
|
||
return blk;
|
||
}
|
||
|
||
void mark_good_blocks(void)
|
||
{
|
||
int blk;
|
||
|
||
for (blk=0 ; blk < used_good_blocks ; blk++)
|
||
mark_zone(good_blocks_table[blk]);
|
||
}
|
||
|
||
inline int next(int zone)
|
||
{
|
||
if (!zone)
|
||
zone = FIRSTZONE-1;
|
||
while (++zone < ZONES)
|
||
if (zone_in_use(zone))
|
||
return zone;
|
||
return 0;
|
||
}
|
||
|
||
void make_bad_inode(void)
|
||
{
|
||
struct d_inode * inode = &Inode[BAD_INO];
|
||
int i,j,zone;
|
||
int ind=0,dind=0;
|
||
unsigned short ind_block[BLOCK_SIZE>>1];
|
||
unsigned short dind_block[BLOCK_SIZE>>1];
|
||
|
||
#define NEXT_BAD (zone = next(zone))
|
||
|
||
if (!badblocks)
|
||
return;
|
||
mark_inode(BAD_INO);
|
||
inode->i_nlinks = 1;
|
||
inode->i_time = time(NULL);
|
||
inode->i_mode = S_IFREG + 0000;
|
||
inode->i_size = badblocks*BLOCK_SIZE;
|
||
zone = next(0);
|
||
for (i=0 ; i<7 ; i++) {
|
||
inode->i_zone[i] = zone;
|
||
if (!NEXT_BAD)
|
||
goto end_bad;
|
||
}
|
||
inode->i_zone[7] = ind = get_free_block();
|
||
memset(ind_block,0,BLOCK_SIZE);
|
||
for (i=0 ; i<512 ; i++) {
|
||
ind_block[i] = zone;
|
||
if (!NEXT_BAD)
|
||
goto end_bad;
|
||
}
|
||
inode->i_zone[8] = dind = get_free_block();
|
||
memset(dind_block,0,BLOCK_SIZE);
|
||
for (i=0 ; i<512 ; i++) {
|
||
write_block(ind,(char *) ind_block);
|
||
dind_block[i] = ind = get_free_block();
|
||
memset(ind_block,0,BLOCK_SIZE);
|
||
for (j=0 ; j<512 ; j++) {
|
||
ind_block[j] = zone;
|
||
if (!NEXT_BAD)
|
||
goto end_bad;
|
||
}
|
||
}
|
||
die("too many bad blocks");
|
||
end_bad:
|
||
if (ind)
|
||
write_block(ind, (char *) ind_block);
|
||
if (dind)
|
||
write_block(dind, (char *) dind_block);
|
||
}
|
||
|
||
void make_root_inode(void)
|
||
{
|
||
struct d_inode * inode = &Inode[ROOT_INO];
|
||
|
||
mark_inode(ROOT_INO);
|
||
inode->i_zone[0] = get_free_block();
|
||
inode->i_nlinks = 2;
|
||
inode->i_time = time(NULL);
|
||
if (badblocks)
|
||
inode->i_size = 48;
|
||
else
|
||
inode->i_size = 32;
|
||
inode->i_mode = S_IFDIR + 0755;
|
||
write_block(inode->i_zone[0],root_block);
|
||
}
|
||
|
||
void setup_tables(void)
|
||
{
|
||
int i;
|
||
|
||
memset(inode_map,0xff,sizeof(inode_map));
|
||
memset(zone_map,0xff,sizeof(zone_map));
|
||
memset(super_block_buffer,0,BLOCK_SIZE);
|
||
MAGIC = SUPER_MAGIC;
|
||
ZONESIZE = 0;
|
||
MAXSIZE = (7+512+512*512)*1024;
|
||
ZONES = BLOCKS;
|
||
/* some magic nrs: 1 inode / 3 blocks */
|
||
INODES = BLOCKS/3;
|
||
/* I don't want some off-by-one errors, so this hack... */
|
||
if ((INODES & 8191) > 8188)
|
||
INODES -= 5;
|
||
if ((INODES & 8191) < 10)
|
||
INODES -= 20;
|
||
IMAPS = UPPER(INODES,BITS_PER_BLOCK);
|
||
ZMAPS = 0;
|
||
while (ZMAPS != UPPER(BLOCKS - NORM_FIRSTZONE,BITS_PER_BLOCK))
|
||
ZMAPS = UPPER(BLOCKS - NORM_FIRSTZONE,BITS_PER_BLOCK);
|
||
FIRSTZONE = NORM_FIRSTZONE;
|
||
for (i = FIRSTZONE ; i<ZONES ; i++)
|
||
unmark_zone(i);
|
||
for (i = ROOT_INO ; i<INODES ; i++)
|
||
unmark_inode(i);
|
||
inode_buffer = malloc(INODE_BUFFER_SIZE);
|
||
if (!inode_buffer)
|
||
die("Unable to allocate buffer for inodes");
|
||
memset(inode_buffer,0,INODE_BUFFER_SIZE);
|
||
printf("%d inodes\n",INODES);
|
||
printf("%d blocks\n",ZONES);
|
||
printf("Firstdatazone=%d (%d)\n",FIRSTZONE,NORM_FIRSTZONE);
|
||
printf("Zonesize=%d\n",BLOCK_SIZE<<ZONESIZE);
|
||
printf("Maxsize=%d\n\n",MAXSIZE);
|
||
}
|
||
|
||
void check_blocks(void)
|
||
{
|
||
unsigned int current_block=0;
|
||
int try,got;
|
||
static char buffer[BLOCK_SIZE * TEST_BUFFER_BLOCKS];
|
||
|
||
while (current_block < ZONES) {
|
||
if (lseek(DEV,current_block*BLOCK_SIZE,SEEK_SET) !=
|
||
current_block*BLOCK_SIZE)
|
||
die("seek failed in check_blocks");
|
||
try = TEST_BUFFER_BLOCKS;
|
||
if (current_block + try > ZONES)
|
||
try = ZONES-current_block;
|
||
got = read(DEV, buffer, try * BLOCK_SIZE);
|
||
if (got<0)
|
||
got = 0;
|
||
if (got & (BLOCK_SIZE-1))
|
||
printf("Weird values in check_blocks: probably bugs\n");
|
||
got /= BLOCK_SIZE;
|
||
current_block += got;
|
||
if (got == try)
|
||
continue;
|
||
if (current_block < FIRSTZONE)
|
||
die("bad blocks before data-area: cannot make fs");
|
||
mark_zone(current_block);
|
||
badblocks++;
|
||
current_block++;
|
||
}
|
||
if (badblocks)
|
||
printf("%d bad block%s\n",badblocks,(badblocks>1)?"s":"");
|
||
}
|
||
|
||
int main(int argc, char ** argv)
|
||
{
|
||
char * tmp;
|
||
struct stat statbuf;
|
||
|
||
if (argc && *argv)
|
||
program_name = *argv;
|
||
if (INODE_SIZE * INODES_PER_BLOCK != BLOCK_SIZE)
|
||
die("bad inode size");
|
||
while (argc-- > 1) {
|
||
argv++;
|
||
if (argv[0][0] != '-')
|
||
if (device_name) {
|
||
BLOCKS = strtol(argv[0],&tmp,0);
|
||
if (*tmp)
|
||
usage();
|
||
} else
|
||
device_name = argv[0];
|
||
else while (*++argv[0])
|
||
switch (argv[0][0]) {
|
||
case 'c': check=1; break;
|
||
default: usage();
|
||
}
|
||
}
|
||
if (!device_name || BLOCKS<10 || BLOCKS > 65536)
|
||
usage();
|
||
DEV = open(device_name,O_RDWR);
|
||
if (DEV<0)
|
||
die("unable to open %s");
|
||
if (fstat(DEV,&statbuf)<0)
|
||
die("unable to stat %s");
|
||
if (!S_ISBLK(statbuf.st_mode))
|
||
check=0;
|
||
else if (statbuf.st_rdev == 0x0300 || statbuf.st_rdev == 0x0305)
|
||
die("Will not try to make filesystem on '%s'");
|
||
setup_tables();
|
||
if (check)
|
||
check_blocks();
|
||
make_root_inode();
|
||
make_bad_inode();
|
||
mark_good_blocks();
|
||
write_tables();
|
||
return 0;
|
||
}
|
||
--[0122]--
|
||
|
||
[0123] daemon@ATHENA.MIT.EDU (Marc CORSINI) Linux_Activists 11/27/91 03:56 (58 lines)
|
||
Subject: help again and again
|
||
Date: Wed, 27 Nov 91 09:48:06 EST
|
||
From: corsini@geocub.greco-prog.fr (Marc CORSINI)
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
Hi, there
|
||
It seems that i have trouble with compilition under linux, these are
|
||
the things i've remarked.
|
||
first of all the config:
|
||
386sx, no 387, 2Mo ram, 30 Meg Linux partition on Hd
|
||
the soft config:
|
||
those on tsx11 mainly + those which appeared in this mailing list
|
||
|
||
ok, now the things i tried
|
||
compile fsck : noway (gcc -c works not the -o which complains in many
|
||
undefined symbols such as IN or inode-map zone-map super-block-buffer ....
|
||
the rest has been skipped
|
||
|
||
compile elvis: not yet fixed (i'll try some C. Darken proposal)
|
||
|
||
compile linux:
|
||
first i've changer the buffer.c
|
||
i've applied the build patch
|
||
i've done some ack on keyboard.S to have a more french oriented kbd
|
||
|
||
i've change the config.h for the kbd, and commented the lines in the
|
||
linux/Makefile (those for the 16binaries and the chmem)
|
||
|
||
and then just type make
|
||
- the (cd ?????;make) *DOES NOT WORK* in the sense that
|
||
it does not run the gcc -c commands, only the gld ones so ERROR
|
||
|
||
- then i tried a bottom up compilation of linux subtree, i.e apply
|
||
by hand the make on each subdirs, and then run make in linux.
|
||
the make in sub-dirs works fine, not the final linking in general
|
||
it complains about a lot of undefinde symbols
|
||
|
||
- finally i've tried the make clean command
|
||
funnily :-( it does not work, just clean the linux and boot directories
|
||
(the one without make)
|
||
|
||
THEN (again yes) i thought it was due to the place of the linux subtree
|
||
which is not under /, but under /usr/src so i've change all the path in
|
||
absolute path name. RESULT: NIET
|
||
|
||
THEN and LAST: i've changed in the subdirs the clean order from
|
||
rm -f blabla to rm -i blabla
|
||
in that case the global clean works fine, and asks me for the deletion
|
||
which i agree and it does clean.
|
||
|
||
so questions are:
|
||
has any one tried to compile linux under linux?
|
||
has any one had such experience?
|
||
has any one cast a spell on me? 8-)
|
||
what about make/
|
||
|
||
PS: i've tried some simple compilation as uudecode/wc which were ok
|
||
|
||
[mmc]
|
||
--[0123]--
|
||
|
||
[0124] daemon@ATHENA.MIT.EDU (Mika Matti Jalava) Linux_Activists 11/27/91 04:07 (21 lines)
|
||
Subject: Re: help again and again
|
||
From: Mika Matti Jalava <r36110m@kaira.hut.fi>
|
||
To: linux-activists@joker.cs.hut.fi
|
||
Date: Wed, 27 Nov 91 11:01:37 EET
|
||
In-Reply-To: <9111270848.AA17452@geocub.greco-prog.fr>; from "Marc CORSINI" at Nov 27, 91 9:48 am
|
||
|
||
> ok, now the things i tried
|
||
> compile fsck : noway (gcc -c works not the -o which complains in many
|
||
> undefined symbols such as IN or inode-map zone-map super-block-buffer ....
|
||
> the rest has been skipped
|
||
|
||
Do you have all the includes in place?
|
||
> has any one tried to compile linux under linux?
|
||
|
||
Yes, no problems (with compiling, that is, the compiled images work
|
||
great. I have had a LOT of problems with the file system but that's
|
||
probably because of my old drives)
|
||
|
||
> has any one cast a spell on me? 8-)
|
||
Not me...
|
||
|
||
Mika
|
||
--[0124]--
|
||
|
||
[0125] daemon@ATHENA.MIT.EDU (Robert Blum) Linux_Activists 11/27/91 05:17 (70 lines)
|
||
Subject: Re:help again and again
|
||
Date: Wed, 27 Nov 91 11:01:46 +0100
|
||
From: blum@cip-s01.informatik.rwth-aachen.de (Robert Blum)
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
Hi Linuxers!
|
||
|
||
Today there was the following mail in my mbox:
|
||
|
||
>From corsini@geocub.greco-prog.fr Wed Nov 27 09:52:10 1991
|
||
>Subject: help again and again
|
||
|
||
and I think that the answer will be of (more or less) general interest,
|
||
so I decided to not reply personally and instead via mailing list.
|
||
|
||
Corsini wrote:
|
||
>Hi, there
|
||
>It seems that i have trouble with compilition under linux, these are
|
||
>the things i've remarked.
|
||
>first of all the config:
|
||
>386sx, no 387, 2Mo ram, 30 Meg Linux partition on Hd
|
||
|
||
And whoops, there's the problem. GCC dies silently if it has not enough
|
||
memory instead of issuing any warnings. It simply produces incomplete
|
||
.s/.o files, and nothing will work. If you think of it, it's quite simple:
|
||
Memory you have: 2000 KB
|
||
|
||
Kernel/Buffers: 1000 KB
|
||
bash: approx. 300 KB
|
||
cc1: approx. 500 KB
|
||
===============================
|
||
Free space: approx. 200 KB
|
||
|
||
And into these 200 KB gcc/bash have to squeeze their complete bss sections,
|
||
and I forgot make in the list of memory hogs. Seems a little bit tight, huh?
|
||
|
||
There are some solutions to it:
|
||
1) Buy another 2 Megs of memory, and all will work fine.
|
||
2) Wait for c386 to come out, it uses only 100 KB. I intended to make it
|
||
available as soon as it understands __asm__ and ANSI, but if there's a
|
||
real need for it, I could release it in its original version as a K&R
|
||
compiler. But this means: No kernel compiling, compilation of other
|
||
files only with tweaked #include-files
|
||
3) Join me in my efforts to make this beast ANSI conforming...
|
||
4) Try to cross-develop under DOS with DJGPP, but there are several obstacles
|
||
a) The gcc header of system seems only 32 bytes, so change build.c
|
||
b) gld links code starting at 0x1020, so give it a -Ttext 0
|
||
c) gld links data starting at 0x400000, so give it a -Tdata 15000
|
||
But even with these changes, my kernel does not work, so could anybody
|
||
help me with this, please ?
|
||
|
||
>so questions are:
|
||
>has any one tried to compile linux under linux?
|
||
Yes, and it worked no way.
|
||
>has any one had such experience?
|
||
Yes, not enough mem....
|
||
>has any one cast a spell on me? 8-)
|
||
Yes, GNU has cast the "eat lots of memory"-spell onto it's software
|
||
>what about make/
|
||
As far as I can tell from my experiences with c386, this seems to be
|
||
working, but you might try pmake...
|
||
|
||
|
||
>PS: i've tried some simple compilation as uudecode/wc which were ok
|
||
This is *REALLY* surprising to me, since gcc doesn't manage to create a
|
||
"hello world" program. Are the sources without any #include? Then it might
|
||
work, otherwise we are in trouble....
|
||
|
||
Hope this helps,
|
||
Robert Blum
|
||
|
||
--[0125]--
|
||
|
||
[0126] daemon@ATHENA.MIT.EDU (Marc CORSINI) Linux_Activists 11/27/91 05:41 (21 lines)
|
||
Subject: Re:help again and again
|
||
Date: Wed, 27 Nov 91 11:27:47 EST
|
||
From: corsini@geocub.greco-prog.fr (Marc CORSINI)
|
||
To: blum@cip-s01.informatik.rwth-aachen.de
|
||
Cc: linux-activists@joker.cs.hut.fi
|
||
In-Reply-To: Robert Blum's message of Wed, 27 Nov 91 11:01:46 +0100 <9111271001.AA26828@messua.informatik.rwth-aachen.de>
|
||
|
||
|
||
Thanks for the help,
|
||
about the uudecode and wc, indeed the includes are very few
|
||
stdio,ctypes and one or two more.
|
||
|
||
On the other hand i still suspect heavily the make since on elvis
|
||
compiling with make all works fine except
|
||
the gcc -O -o -c of cmd1.c
|
||
the gcc -o of virec
|
||
the gcc -o of refont
|
||
|
||
BUT when i do these commands by hand they work great so ..
|
||
i'll change to pmake
|
||
|
||
[mmc]
|
||
--[0126]--
|
||
|
||
[0127] daemon@ATHENA.MIT.EDU (Marc CORSINI) Linux_Activists 11/27/91 06:24 (12 lines)
|
||
Subject: elvis compilation/help again and again
|
||
Date: Wed, 27 Nov 91 10:18:45 EST
|
||
From: corsini@geocub.greco-prog.fr (Marc CORSINI)
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
|
||
Ok just tried the elvis compilation nearly good, just a
|
||
/tmp/cc000041.s can't open for Reading
|
||
|
||
about the include i've put the include.tar.Z where it is supposed to be
|
||
i guess in /usr/include, have i forgotten some thing?
|
||
|
||
[mmc]
|
||
--[0127]--
|
||
|
||
[0128] daemon@ATHENA.MIT.EDU (Nicholas Yue) Linux_Activists 11/27/91 09:53 (34 lines)
|
||
Subject: 486 problem
|
||
Date: Wed, 27 Nov 91 23:44:13 WST
|
||
From: nicholas@cs.uwa.oz.au (Nicholas Yue)
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
G'day,
|
||
Today, I upgraded my machine from a 386DX to a 486DX (using the old drives),
|
||
I had the following problem.
|
||
|
||
------cut------------cut-----------
|
||
Partiion table ok ......
|
||
W/X free blocks
|
||
Y/Z free inodes
|
||
HD-controller reset failed : 7f
|
||
501 buffers = 513024 bytes buffer space
|
||
Free mem: 3145728
|
||
Ok.
|
||
general protection: 0000
|
||
EIP : 000f:00000013
|
||
etc........
|
||
-------cut-----------cut-------------
|
||
|
||
and then it hangs!
|
||
|
||
I had it working beautifully on a 386DX, I don't have a 386 anymore!
|
||
|
||
Any opinion?
|
||
|
||
Thanks In Advance
|
||
|
||
nicholas@cs.uwa.oz.au
|
||
|
||
|
||
|
||
|
||
--[0128]--
|
||
|
||
[0129] daemon@ATHENA.MIT.EDU (Wolfgang Thiel) Linux_Activists 11/27/91 10:53 (11 lines)
|
||
Subject: Re: help again and again
|
||
Date: Wed, 27 Nov 91 11:36:37 CET
|
||
From: Wolfgang Thiel <UPSYF173@comparex.hrz.uni-bielefeld.de>
|
||
To: Marc CORSINI <corsini@geocub.greco-prog.fr>,
|
||
In-Reply-To: Your message of Wed, 27 Nov 91 09:48:06 EST
|
||
|
||
Hi,
|
||
I had absolutely no problems compilung linux under linux
|
||
(486, 8MB).
|
||
Sounds like gcc and/or make are running out of memory.
|
||
|
||
Wolfgang
|
||
--[0129]--
|
||
|
||
[0130] daemon@ATHENA.MIT.EDU (Theodore Ts'o) Linux_Activists 11/27/91 11:34 (36 lines)
|
||
Subject: Re: help again and again
|
||
Date: Wed, 27 Nov 91 11:25:02 -0500
|
||
From: tytso@ATHENA.MIT.EDU (Theodore Ts'o)
|
||
To: blum@cip-s01.informatik.rwth-aachen.de
|
||
Cc: linux-activists@joker.cs.hut.fi
|
||
In-Reply-To: Robert Blum's message of Wed, 27 Nov 91 11:01:46 +0100,
|
||
Reply-To: tytso@athena.mit.edu
|
||
|
||
Date: Wed, 27 Nov 91 11:01:46 +0100
|
||
From: blum@cip-s01.informatik.rwth-aachen.de (Robert Blum)
|
||
|
||
Memory you have: 2000 KB
|
||
|
||
Kernel/Buffers: 1000 KB
|
||
bash: approx. 300 KB
|
||
cc1: approx. 500 KB
|
||
===============================
|
||
Free space: approx. 200 KB
|
||
|
||
And into these 200 KB gcc/bash have to squeeze their complete bss sections,
|
||
and I forgot make in the list of memory hogs. Seems a little bit
|
||
tight, huh?
|
||
|
||
If this is the problem, one solution might be to modify the Makefile so
|
||
that instead of compiling and assembling a file at the same time, to
|
||
split it into two steps:
|
||
|
||
.c.s: ; cc $(CFLAGS) -S $*.c
|
||
.s.o: ; gas $(LDFLAGS) -o $*.o $*.s
|
||
|
||
That way, the compiler and the assembler won't need to be in memory at
|
||
the same time. Someone with two meg of memory should try this, and see
|
||
if this will free enough memory so that a compile happens.
|
||
|
||
Another solution, of course, is to implement paging under Linux. :-)
|
||
|
||
- Ted
|
||
--[0130]--
|
||
|
||
[0131] daemon@ATHENA.MIT.EDU (tthorn@daimi.aau.dk) Linux_Activists 11/27/91 12:25 (19 lines)
|
||
Subject: Building a hd-less bootimage..?
|
||
From: tthorn@daimi.aau.dk
|
||
To: Linux-Activists@joker.cs.hut.fi (linux)
|
||
Date: Wed, 27 Nov 91 18:17:33 MET
|
||
|
||
Hi all (yes, yes, it's me again:-) I still haven't seen Linux run.)
|
||
|
||
With the kind help of Galen Hunt, I've succed in building a new boot-
|
||
image. I'm aware that it's most likely my adaptech 1542B that kills
|
||
it, but just commenting hd_init out didn't help. The systems gets
|
||
as far as to 'move_to_user_mode' in main.c.
|
||
|
||
I would like to succed with a hd-less Linux, before attempting
|
||
an adaptech driver. Any clues on what to remove/how to build such
|
||
a kernel?
|
||
|
||
Sorry to have taken your time.
|
||
|
||
/Tommy "me again" Thorn
|
||
|
||
--[0131]--
|
||
|
||
[0132] daemon@ATHENA.MIT.EDU (Linus Benedict Torvalds) Linux_Activists 11/27/91 12:46 (27 lines)
|
||
Subject: Re: Building a hd-less bootimage..?
|
||
Date: Wed, 27 Nov 1991 19:29:00 +0200
|
||
From: Linus Benedict Torvalds <torvalds@cc.helsinki.fi>
|
||
In-Reply-To: tthorn@daimi.aau.dk's message as of Nov 27, 18:17
|
||
To: tthorn@daimi.aau.dk, Linux-Activists@joker.cs.hut.fi (linux)
|
||
|
||
tthorn@daimi.aau.dk: "Building a hd-less bootimage..?" (Nov 27, 18:17):
|
||
> Hi all (yes, yes, it's me again:-) I still haven't seen Linux run.)
|
||
>
|
||
> With the kind help of Galen Hunt, I've succed in building a new boot-
|
||
> image. I'm aware that it's most likely my adaptech 1542B that kills
|
||
> it, but just commenting hd_init out didn't help. The systems gets
|
||
> as far as to 'move_to_user_mode' in main.c.
|
||
>
|
||
> I would like to succed with a hd-less Linux, before attempting
|
||
> an adaptech driver. Any clues on what to remove/how to build such
|
||
> a kernel?
|
||
|
||
You'll have to comment out all the stuff in "sys_setup" which concerns
|
||
harddisks. hd_init() just sets up the interrupt addresses and enables
|
||
them, but doesn't read the partition tables etc. The reason is simple:
|
||
hd_init() may not sleep, as it is called when we aren't really set up
|
||
yet, so it cannot read the disk, just set up for it.
|
||
|
||
sys_setup mounts the root etc, so you cannot just comment it out
|
||
totally, you have to comment out just the partition-reading etc.
|
||
|
||
Linus
|
||
--[0132]--
|
||
|
||
[0133] daemon@ATHENA.MIT.EDU (Theodore Ts'o) Linux_Activists 11/27/91 14:56 (20 lines)
|
||
Subject: X11R5 has 386/VGA support...
|
||
Date: Wed, 27 Nov 91 14:48:04 -0500
|
||
From: tytso@ATHENA.MIT.EDU (Theodore Ts'o)
|
||
To: linux-activists@joker.cs.hut.fi
|
||
Reply-To: tytso@athena.mit.edu
|
||
|
||
FYI, in case anybody feels like tackling it, the X11R5 distribution
|
||
includes a 386/SVGA X server, with drivers to support the GVGA, PVGA1A,
|
||
ET3000 and ET4000 chipsets in 256 color mode. It's designed for SCO
|
||
Unix, but it shouldn't *too* hard to port it to Linux.... :-)
|
||
|
||
I imagine that the major problems involved in porting it to Linux are
|
||
(in order of severity) no FIFO support, no pty support, and no
|
||
networking interface. The last actually isn't very important (the
|
||
clients and the server could communicate through unix:0), but it would
|
||
be nice to have, eventually.
|
||
|
||
So, is anyone interesting in getting X11 to work on Linux? 'twould be
|
||
really neat!
|
||
|
||
- Ted
|
||
--[0133]--
|
||
|
||
[0134] daemon@ATHENA.MIT.EDU (Hakkarainen Kimmo) Linux_Activists 11/28/91 05:54 (15 lines)
|
||
Subject: kermit problem
|
||
From: h108373@cs.tut.fi (Hakkarainen Kimmo)
|
||
To: linux-activists@joker.cs.hut.fi (Linux activists)
|
||
Date: Thu, 28 Nov 91 12:40:32 EET
|
||
|
||
|
||
Hi linuxers,
|
||
|
||
My kermit program terminates in my linux machine when I
|
||
try to send CNTL-c to remote machine. Shouldn't kermit
|
||
operate in raw-mode instead of c-break-mode ?
|
||
|
||
Thank's in advance.
|
||
|
||
--
|
||
Kimmo Hakkarainen (h108373@cc.tut.fi)
|
||
--[0134]--
|
||
|
||
[0135] daemon@ATHENA.MIT.EDU (Nicholas Yue) Linux_Activists 11/29/91 19:47 (32 lines)
|
||
Subject: 2nd Physical Hard-Disk
|
||
Date: Sat, 30 Nov 91 09:18:22 WST
|
||
From: nicholas@cs.uwa.oz.au (Nicholas Yue)
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
G'day,
|
||
How do I mount the 2nd hard-disk (automagically ;-). The boot floppy can
|
||
be configured to mount the root file system form /dev/hdX
|
||
|
||
where 1<=X<=4 OR 6<=X<=9
|
||
|
||
I know I can mount the 2nd hardisk manually
|
||
|
||
mount /dev/hd6 /home (example)
|
||
|
||
Does this means that I have to have to
|
||
|
||
umount /dev/hd6 (example)
|
||
|
||
it everytime I reboot the machine or is it ok to leave it as it is?
|
||
|
||
On the Sun, there is a file call "fstab" which the boot process looks for.
|
||
Will there be a "shutdown" program to umount the hard-disk?
|
||
|
||
Thanks In Advance
|
||
|
||
nicholas@cs.uwa.oz.au
|
||
|
||
|
||
|
||
|
||
|
||
|
||
--[0135]--
|
||
|
||
[0136] daemon@ATHENA.MIT.EDU (Linus Benedict Torvalds) Linux_Activists 11/29/91 21:52 (50 lines)
|
||
Subject: weekly (?) answers, bugreports etc
|
||
Date: Sat, 30 Nov 1991 04:46:48 +0200
|
||
From: Linus Benedict Torvalds <torvalds@cc.helsinki.fi>
|
||
To: Linux-activists@joker.cs.hut.fi
|
||
|
||
nicholas@cs.uwa.oz.au (Nicholas Yue):
|
||
> G'day,
|
||
> How do I mount the 2nd hard-disk (automagically ;-). The boot floppy can
|
||
> be configured to mount the root file system form /dev/hdX
|
||
|
||
Minix does this in /etc/rc, but as linux currently ignores that, the
|
||
best way is to do it in your .profile (or /etc/.profile). You migh want
|
||
to use 'mount /dev/hdX /home &> /dev/null' so that eventual multiple
|
||
mounts won't print error messages. Likewise you can unmount in .logout,
|
||
but unmounting isn't really necessary (but do remeber to sync).
|
||
|
||
many:
|
||
>
|
||
> kermit works, but dies due to ^C. What's wrong? It also complains
|
||
> about not being able to lock the line.
|
||
|
||
This /seems/ to be standard behaviour of unix-kermit, and it is
|
||
certainly not of my doing. It's a nuisance. Line-locking is done by
|
||
creating a file in the directory /usr/spool/uucp/LCK, and unless that
|
||
directory exists, kermit isn't able to lock it.
|
||
|
||
Then to bug-reports and updates:
|
||
|
||
hd.c is buggy, and I'm investigating it. When read-errors occur, weird
|
||
things can happen, including writing to the disk. This might be the
|
||
cause of some peoples problems: there is no problem if you have a
|
||
sector-translating controller (eg IDE etc) that never returns errors. I
|
||
think I've gotten it working, and hopefully the 0.11 version (due out in
|
||
about a week) will be correct.
|
||
|
||
0.11 will also finally be totally self-sustaining: I have gotten the
|
||
source to bruce evans' assembler and linker, and at least I haven't
|
||
heard of many problems with mkfs and fsck. I didn't have time to
|
||
implement symlinks, so there are no real new features: just bug-fixes
|
||
and enhancements. Thanks to everybody who sent diffs etc. You know who
|
||
you are, and I've tried to accnowledge everyone in the source. Wolfgang
|
||
XXXX, who made the German keyboard patch, please mail me your last name.
|
||
|
||
Known bugs still unresolved: at least one machine has trouble reading
|
||
the floppy, and one 486 seems to have problems with the harddisk even
|
||
with my new patches. Another machine seems to get divide by zero
|
||
errors, and I have absolutely no idea why this happens. As it looks
|
||
now, these won't be corrected in 0.11 unless I can find the reason for
|
||
them within the week :-(
|
||
|
||
Linus
|
||
--[0136]--
|
||
|
||
[0137] daemon@ATHENA.MIT.EDU (Yanek Martinson) Linux_Activists 11/30/91 14:51 (26 lines)
|
||
Subject: HELP. Linux boot disk boots but does not display any prompt (shell?)
|
||
To: linux-activists@joker.cs.hut.fi
|
||
Date: Sat, 30 Nov 91 14:34:40 EST
|
||
From: Yanek Martinson <safe0!yanek@mthvax.cs.miami.edu>
|
||
|
||
|
||
I downloaded the boot-disk and root-disk from the mit ftp site. Also the
|
||
rawrite that comes with minix demo, and the minix demo itself. I wrote
|
||
minix demo out to a disk with rawrite, and it worked fine. I created a file
|
||
system on the hard disk. Then I copied the root and boot linux images to
|
||
disks (5.25" 1.2MB) and tried to boot from the boot image. It said "Loading
|
||
system......" and then when It was done loading it did nothing. I could
|
||
type anything, it would just echo the characters. When I pressed any of the
|
||
F-keys, it gave this:
|
||
|
||
0: pid=0, state=1, eip=0017:00000000
|
||
|
||
what does this mean? What can I do about it?
|
||
|
||
If it makes any difference, I was using the boot image that was supposed to
|
||
turn caps lock key into control key. That part worked. When I pressed
|
||
CAPSLOCK-N I saw ^N.
|
||
|
||
--
|
||
yanek@mthvax.cs.miami.edu
|
||
safe0%yanek@mthvax.cs.miami.edu
|
||
|
||
--[0137]--
|
||
|
||
[0138] daemon@ATHENA.MIT.EDU (Yanek Martinson) Linux_Activists 11/30/91 20:35 (19 lines)
|
||
Subject: linux problem (boots, no prompt)
|
||
Date: Sat, 30 Nov 91 20:31:15 -0500
|
||
From: Yanek Martinson <yanek@mthvax.cs.miami.edu>
|
||
To: torvalds@cc.helsinki.fi, torvalds@kruuna.helsinki.fi
|
||
Cc: linux-activists@joker.cs.hut.fi
|
||
|
||
I sent a message before but I don't know if you received it I addressed
|
||
it wrong. The problem is: I put the images of boot and root on disks,
|
||
and boot. It boots, displays "Loading System..." and then when it's
|
||
done there is no prompt. Whatever I type is echoed back to me. If
|
||
I press any of the F- keys, I get this:
|
||
|
||
0: pid=0, state=1, eip=0017:00000000
|
||
|
||
What does this mean?
|
||
|
||
Am I doing anything wrong?
|
||
|
||
Is the shell on root or on boot disk? At what time am I supposed to insert
|
||
the second disk?
|
||
--[0138]--
|
||
|
||
[0139] daemon@ATHENA.MIT.EDU (Linus Benedict Torvalds) Linux_Activists 11/30/91 21:31 (36 lines)
|
||
Subject: Re: linux problem (boots, no prompt)
|
||
Date: Sun, 1 Dec 1991 04:22:30 +0200
|
||
From: Linus Benedict Torvalds <torvalds@cc.helsinki.fi>
|
||
In-Reply-To: Yanek Martinson's message as of Nov 30, 20:31
|
||
To: Yanek Martinson <yanek@mthvax.cs.miami.edu>, torvalds@cc.helsinki.fi
|
||
Cc: linux-activists@joker.cs.hut.fi
|
||
|
||
Yanek Martinson: "linux problem (boots, no prompt)" (Nov 30, 20:31):
|
||
> I sent a message before but I don't know if you received it I addressed
|
||
> it wrong. The problem is: I put the images of boot and root on disks,
|
||
> and boot. It boots, displays "Loading System..." and then when it's
|
||
> done there is no prompt. Whatever I type is echoed back to me. If
|
||
> I press any of the F- keys, I get this:
|
||
>
|
||
> 0: pid=0, state=1, eip=0017:00000000
|
||
|
||
This is a kind of debugging info: it just means that the swapper
|
||
(process 0) is the only task running. Normally state=1 means that the
|
||
task is waiting (but wakeable by signals), but the swapper is a special
|
||
case and simply ignores state. eip is useless: this value just means
|
||
that you have never made a task-switch, and thus saved anything in the
|
||
task-info.
|
||
|
||
> Is the shell on root or on boot disk? At what time am I supposed to insert
|
||
> the second disk?
|
||
|
||
The kernel should prompt you for it, but my guess is that the fork is
|
||
failing, as you only have the swapper task. This might happen if you
|
||
have only 1M of memory, and nothing above it. True? Even with 384kB of
|
||
extended memory (usual on 1M machines) the first fork should work, but
|
||
this looks like you have no extended memory at all.
|
||
|
||
If that wasn't it, please give more info on your hardware. Right now I
|
||
cannot think of anything else, as most things seem to work (keyboard,
|
||
screen -> interrupts work ok, no lock-up).
|
||
|
||
Linus
|
||
--[0139]--
|
||
|
||
[0140] daemon@ATHENA.MIT.EDU (Galen Hunt) Linux_Activists 12/01/91 23:37 (26 lines)
|
||
Subject: Display drivers, and no messages after "Loading System..."
|
||
Date: Sun, 1 Dec 91 21:30:03 mst
|
||
From: Galen Hunt <g-hunt@ee.utah.edu>
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
> I sent a message before but I don't know if you received it I addressed
|
||
> it wrong. The problem is: I put the images of boot and root on disks,
|
||
> and boot. It boots, displays "Loading System..." and then when it's
|
||
> done there is no prompt. Whatever I type is echoed back to me. If
|
||
> I press any of the F- keys, I get this:
|
||
>
|
||
> 0: pid=0, state=1, eip=0017:00000000
|
||
>
|
||
> What does this mean?
|
||
>
|
||
> Am I doing anything wrong?
|
||
>
|
||
> Is the shell on root or on boot disk? At what time am I supposed to insert
|
||
> the second disk?
|
||
|
||
I'd be willing to bet $50 dollars that you are trying to run Linux on
|
||
a machine that doesn't have a VGA or EGA monitor. The .10 release doesn't
|
||
have tty driver for monochrome cards (ala Hercules and MDA).
|
||
|
||
galen
|
||
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
|
||
galen c. hunt g-hunt@ee.utah.edu
|
||
--[0140]--
|
||
|
||
[0141] daemon@ATHENA.MIT.EDU (Yanek Martinson) Linux_Activists 12/02/91 00:46 (28 lines)
|
||
Subject: linux not booting and $50 and memory
|
||
To: g-hunt@ee.utah.edu (Galen Hunt)
|
||
Date: Mon, 2 Dec 91 0:39:06 EST
|
||
From: Yanek Martinson <safe0!yanek@mthvax.cs.miami.edu>
|
||
Cc: linux-activists@joker.cs.hut.fi
|
||
In-Reply-To: <9112020430.AA03364@cs.utah.edu>; from "Galen Hunt" at Dec 1, 91 9:30 pm
|
||
|
||
> I'd be willing to bet $50 dollars that you are trying to run Linux on
|
||
> a machine that doesn't have a VGA or EGA monitor. The .10 release doesn't
|
||
|
||
This is great. You can send a $50 check to
|
||
|
||
Yanek Martinson
|
||
1321 N 65 Way
|
||
Hollywood, FL 33024
|
||
|
||
Thank you.
|
||
|
||
This will help me pay for the extra memory I need.
|
||
The truth is, that I do have a VGA.
|
||
The problem is, as Linus guessed correctly, that
|
||
I only have 1MB of memory and that is not enough
|
||
for linux. Thus the first fork fails, and that
|
||
is why there is no init or shell or anything else.
|
||
|
||
--
|
||
yanek@mthvax.cs.miami.edu
|
||
safe0%yanek@mthvax.cs.miami.edu
|
||
|
||
--[0141]--
|
||
|
||
[0142] daemon@ATHENA.MIT.EDU (Marc CORSINI) Linux_Activists 12/02/91 19:18 (13 lines)
|
||
Subject: microemacs
|
||
Date: Tue, 3 Dec 91 01:08:10 EST
|
||
From: corsini@geocub.greco-prog.fr (Marc CORSINI)
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
|
||
Hi there,
|
||
I've got micro-emacs 3.9 sources (I know the actual are 3.11), and
|
||
tried to compile them (Now I've 386sx and 4Mo). I've selected USG
|
||
in estruct.h and TERMCAP as entry for terminal. The compilation works fine
|
||
but emacs doen't work. It seems that the system is not able to manage
|
||
the virtual screen. Any clue?
|
||
|
||
[mmc]
|
||
--[0142]--
|
||
|
||
[0143] daemon@ATHENA.MIT.EDU (Linus Benedict Torvalds) Linux_Activists 12/03/91 07:24 (41 lines)
|
||
Subject: last call for diffs for 0.11
|
||
Date: Tue, 3 Dec 1991 13:57:58 +0200
|
||
From: Linus Benedict Torvalds <torvalds@cc.helsinki.fi>
|
||
To: Linux-activists@joker.cs.hut.fi
|
||
|
||
Yow,
|
||
as the subject says, this is the last call for diffs for the 0.11
|
||
kernel. If you have bug-fixes or enhancements, I'll have to get them
|
||
before friday (6.12.91) in order for them to find their way into the new
|
||
kernel. I'll do the "last rites" for the new kernel during the weekend,
|
||
and put it out for ftp after that.
|
||
|
||
Changes between 0.10 and 0.11:
|
||
|
||
- fixed bugs in block-device drivers: floppies still have problems when
|
||
accessing 2 floppies at the same time, but otherwise everything seems to
|
||
work.
|
||
|
||
- german keyboard (thiel)
|
||
|
||
- console beeping (jtkohl).
|
||
|
||
- corrected owner checks, #!-recognition in execve (tytso)
|
||
|
||
- sticky directories (both me and tytso)
|
||
|
||
- demand-loading
|
||
|
||
- page-sharing between all processes.
|
||
|
||
I doubt demand-loading makes anything any faster, but it made
|
||
page-sharing possible, so it was "a good thing". Page sharing means that
|
||
when executing a new image, the pages aren't loaded from disk if some
|
||
other process has them. Especially on a multi-user setup (when we get
|
||
the init/login), this will speed things up and save memory.
|
||
|
||
I'll also release the bruce evans 86-assembler binaries at about the
|
||
same time as 0.11, as well as a new root-disk with the new system
|
||
binaries (mkfs, fsck and fdisk). Fdisk doesn't do anything, it just
|
||
checks the partition table and prints out the partitions.
|
||
|
||
Linus
|
||
--[0143]--
|
||
|
||
[0144] daemon@ATHENA.MIT.EDU (Peter MacDonald) Linux_Activists 12/04/91 00:40 (14 lines)
|
||
Subject: compiling under minix?
|
||
Date: Tue, 3 Dec 91 21:26:28 PST
|
||
From: pmacdona@sol.UVic.CA (Peter MacDonald)
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
Has anyone done this? When trying to compile Linux under Minix
|
||
I get a missing "divi.." or something on link. I assume these
|
||
to be soft floating point routines.
|
||
|
||
Why? I have a problem with the harddisk driver under Linux
|
||
being to fast. I had the same problem with minix, but being smaller
|
||
and slower, I was able to do enough compiling to put a delay in the
|
||
read function of wini.c. Linux uses GCC, which use causes so much
|
||
disk reading to happen, that compiling is out of the question.
|
||
|
||
--[0144]--
|
||
|
||
[0145] daemon@ATHENA.MIT.EDU (Linus Benedict Torvalds) Linux_Activists 12/04/91 06:03 (24 lines)
|
||
Subject: Re: compiling under minix?
|
||
Date: Wed, 4 Dec 1991 12:57:53 +0200
|
||
From: Linus Benedict Torvalds <torvalds@cc.helsinki.fi>
|
||
In-Reply-To: Peter MacDonald's message as of Dec 3, 21:26
|
||
To: pmacdona@sol.UVic.CA (Peter MacDonald), linux-activists@joker.cs.hut.fi
|
||
|
||
Peter MacDonald: "compiling under minix?" (Dec 3, 21:26):
|
||
> Has anyone done this? When trying to compile Linux under Minix
|
||
> I get a missing "divi.." or something on link. I assume these
|
||
> to be soft floating point routines.
|
||
>
|
||
> Why? I have a problem with the harddisk driver under Linux
|
||
> being to fast. I had the same problem with minix, but being smaller
|
||
> and slower, I was able to do enough compiling to put a delay in the
|
||
> read function of wini.c. Linux uses GCC, which use causes so much
|
||
> disk reading to happen, that compiling is out of the question.
|
||
|
||
When compiling under minix, you are probably using an older version of
|
||
gcc (1.37.1 is the one that was on plains). Older versions are unable
|
||
to inline the integer division routines, and use a function found in
|
||
gnulib for division instead. Include gnulib in the final link, and all
|
||
should work. (Use the gnulib with minix - at least that one has been
|
||
tested with these functions).
|
||
|
||
Linus
|
||
--[0145]--
|
||
|
||
[0146] daemon@ATHENA.MIT.EDU (LCDR Michael E. Dobson) Linux_Activists 12/04/91 13:28 (25 lines)
|
||
Subject: cc1 fails silently
|
||
From: "LCDR Michael E. Dobson" <rdc30@nmrdc1.nmrdc.nnmc.navy.mil>
|
||
To: linux-activists@joker.cs.hut.fi (Linix Mailing LIst)
|
||
Date: Wed, 4 Dec 91 13:01:58 EST
|
||
|
||
Today when I had some time I wanted to try installing a pager and some
|
||
library routines. Imagine my surprise when nothing would compile! I could
|
||
not even get the very simple fixit.c program to compile, even gcc -c
|
||
fixit.c -o fixit.o produced nothing!! Using gcc -v and manually running
|
||
the indiviual steps, it seems cc1 is failing silently, ie, if I run the cc1
|
||
command from gcc -v on the output from cpp, I get no .s file produced!
|
||
This all used to work fine for me, I was even able to build the recently
|
||
posted mawk with little effort. Does anyone have a clue as to what is
|
||
going on?
|
||
|
||
I'd like to get this solved so I can get less up and move on to bigger
|
||
things. I'm looking to see what needs to be done to the posix/stdc lib
|
||
routines that came with the new pdksh sources. THey look to have at least
|
||
a complete string package which means I can then tackle uucp/mail/news.
|
||
|
||
Any suggestions greatly appreciated.
|
||
--
|
||
Mike Dobson, Sys Admin for | Internet: rdc30@nmrdc1.nmrdc.nnmc.navy.mil
|
||
nmrdc1.nmrdc.nnmc.navy.mil | UUCP: ...uunet!mimsy!nmrdc1!rdc30
|
||
AT&T 3B2/600G Sys V R 3.2.2 | BITNET: dobson@usuhsb or nrd0mxd@vmnmdsc
|
||
WIN/TCP for 3B2 | MCI-Mail: 377-2719 or 0003772719@mcimail.com
|
||
--[0146]--
|
||
|
||
[0147] daemon@ATHENA.MIT.EDU (Linus Benedict Torvalds) Linux_Activists 12/04/91 14:33 (39 lines)
|
||
Subject: Re: cc1 fails silently
|
||
Date: Wed, 4 Dec 1991 21:13:38 +0200
|
||
From: Linus Benedict Torvalds <torvalds@cc.helsinki.fi>
|
||
In-Reply-To: "LCDR Michael E. Dobson"'s message as of Dec 4, 13:01
|
||
To: "LCDR Michael E. Dobson" <rdc30@nmrdc1.nmrdc.nnmc.navy.mil>,
|
||
|
||
"LCDR Michael E. Dobson": "cc1 fails silently" (Dec 4, 13:01):
|
||
> Today when I had some time I wanted to try installing a pager and some
|
||
> library routines. Imagine my surprise when nothing would compile! I could
|
||
> not even get the very simple fixit.c program to compile, even gcc -c
|
||
> fixit.c -o fixit.o produced nothing!! Using gcc -v and manually running
|
||
> the indiviual steps, it seems cc1 is failing silently, ie, if I run the cc1
|
||
> command from gcc -v on the output from cpp, I get no .s file produced!
|
||
> This all used to work fine for me, I was even able to build the recently
|
||
> posted mawk with little effort. Does anyone have a clue as to what is
|
||
> going on?
|
||
|
||
cc1 failing silently is usually due to out of memory errors, but as it
|
||
worked for you before, that probably isn't it. The only other solution
|
||
I can come up with is kernel bugs :-(.
|
||
|
||
It seems there are a few race-conditions left in 0.10, which can cause
|
||
filesystem errors. The worst of these was fixed with the new buffer.c,
|
||
and if you don't have the updated binaries, filesystem errors are a
|
||
certainty after a while (unless you are very lucky). Fsck is not (and
|
||
never will be) able to find errors that have creapt in into the
|
||
data-blocks of files - and as cc1 is the biggest binary linux uses,
|
||
that's the one most likely to catch these errors.
|
||
|
||
There was another race-condition I found only yesterday, but it
|
||
shouldn't cause too many problems, especially not for harddisks. That
|
||
one will be corrected in 0.11 (countdown: 4-5 days). I'm not even
|
||
certain this one can ever happen.
|
||
|
||
I'd suggest you verify your binary, and you might even upgrade to the
|
||
gcc-cc1 that understands floats with exponents, available from
|
||
Tupac-Amaru (incoming). If that doesn't cut it, I'd be interested in
|
||
what changes you have made to your hardware/system?
|
||
|
||
Linus
|
||
--[0147]--
|
||
|
||
[0148] daemon@ATHENA.MIT.EDU (LCDR Michael E. Dobson) Linux_Activists 12/04/91 16:27 (51 lines)
|
||
Subject: Re: cc1 fails silently
|
||
From: "LCDR Michael E. Dobson" <rdc30@nmrdc1.nmrdc.nnmc.navy.mil>
|
||
To: linux-activists@joker.cs.hut.fi (Linix Mailing LIst)
|
||
Date: Wed, 4 Dec 91 15:50:07 EST
|
||
In-Reply-To: <9112041942.AA05005@tsx-11.MIT.EDU>; from "Theodore Ts'o" at Dec 4, 91 2:42 pm
|
||
|
||
In response to my question about cc1 failing silently I received the
|
||
following:
|
||
>
|
||
> Date: Wed, 4 Dec 1991 21:13:38 +0200
|
||
> From: Linus Benedict Torvalds <torvalds@cc.helsinki.fi>
|
||
>
|
||
> cc1 failing silently is usually due to out of memory errors, but as it
|
||
> worked for you before, that probably isn't it. The only other solution
|
||
> I can come up with is kernel bugs :-(.
|
||
>
|
||
From: <9112041942.AA05005@tsx-11.MIT.EDU>; from "Theodore Ts'o" at Dec 4,
|
||
91 2:24pm
|
||
> Have you checked to see if you've filled your hard disk? This is
|
||
> somewhat hard to check since there's no df utility. You can find out
|
||
> the number of free blocks of your root partition at boot time, though.
|
||
>
|
||
It appears you both were wrong and it is something more trouble, possibly
|
||
related to the race conditions Linus mentioned, but more likely some
|
||
subtle kernel bugs.
|
||
|
||
I forgot to mention I received a swapper panic when I soft booted from DOS
|
||
the first time and just redid the soft boot. Just a few minutes ago I did
|
||
a hard boot (ie hit the reset button) and saw the following at bootup:
|
||
|
||
Partiton table ok.
|
||
5278/9860 free blocks
|
||
2798/3294 free inodes
|
||
507 buffers = 519168 bytes free buffer space
|
||
Free mem: 3145728 bytes
|
||
Ok.
|
||
bash#
|
||
|
||
A "du" on / gave
|
||
8423 /.
|
||
|
||
The best part is that gcc now works just fine!! However, the make of less
|
||
failed because I don't have a sgtty.h Will grab the Minix version and see
|
||
what develops. It's also looking for libtermcap.a but we'll see ;-)
|
||
|
||
Regards,
|
||
|
||
--
|
||
Mike Dobson, Sys Admin for | Internet: rdc30@nmrdc1.nmrdc.nnmc.navy.mil
|
||
nmrdc1.nmrdc.nnmc.navy.mil | UUCP: ...uunet!mimsy!nmrdc1!rdc30
|
||
AT&T 3B2/600G Sys V R 3.2.2 | BITNET: dobson@usuhsb or nrd0mxd@vmnmdsc
|
||
WIN/TCP for 3B2 | MCI-Mail: 377-2719 or 0003772719@mcimail.com
|
||
--[0148]--
|
||
|
||
[0149] daemon@ATHENA.MIT.EDU (Theodore Ts'o) Linux_Activists 12/04/91 21:30 (42 lines)
|
||
Subject: Re: cc1 fails silently
|
||
Date: Wed, 4 Dec 91 21:13:22 -0500
|
||
From: tytso@ATHENA.MIT.EDU (Theodore Ts'o)
|
||
To: "LCDR Michael E. Dobson" <rdc30@nmrdc1.nmrdc.nnmc.navy.mil>
|
||
Cc: linux-activists@joker.cs.hut.fi
|
||
In-Reply-To: LCDR Michael E. Dobson's message of Wed, 4 Dec 91 15:50:07 EST,
|
||
Reply-To: tytso@athena.mit.edu
|
||
|
||
It appears you both were wrong and it is something more trouble, possibly
|
||
related to the race conditions Linus mentioned, but more likely some
|
||
subtle kernel bugs.
|
||
|
||
Well, maybe. The swapper panic which happens after you type
|
||
ctrl-alt-del from DOS is standard in Linux 0.10 --- it's harmless, and
|
||
typing ctrl-alt-del after the panic will allow Linux to boot
|
||
successfully.
|
||
|
||
Partiton table ok.
|
||
5278/9860 free blocks
|
||
2798/3294 free inodes
|
||
507 buffers = 519168 bytes free buffer space
|
||
Free mem: 3145728 bytes
|
||
Ok.
|
||
bash#
|
||
|
||
A "du" on / gave
|
||
8423 /.
|
||
|
||
Remember that "du" outputs sizes in 512 byte blocks, courtesy of POSIX.
|
||
My personal opinion is that it's one of the stupidest mistakes POSIX
|
||
has committed, since most users care about file sizes in kilobytes, not
|
||
in 512 byte blocks --- but then, I can alias du to "du -k", so the only
|
||
losers are the innocent, naive users. [End of soapbox]
|
||
|
||
With that said, you may have a problem, but it looks like the standard
|
||
corrupted filesystem problem that happens when you are using a stock,
|
||
unpatched version of Linux 0.10. The number of free blocks as
|
||
caluclated by the "du" is (9860 - 8423/2) = 5644, which is larger than
|
||
5278, but only by 366k. I've seen that sort of lossage on the stock
|
||
Linux 0.10, and I haven't seen it once the bug fix to buffer.c was
|
||
applied.
|
||
|
||
- Ted
|
||
--[0149]--
|
||
|
||
[0150] daemon@ATHENA.MIT.EDU (Linus Benedict Torvalds) Linux_Activists 12/04/91 22:31 (199 lines)
|
||
Subject: Re: cc1 fails silently
|
||
Date: Thu, 5 Dec 1991 05:15:29 +0200
|
||
From: Linus Benedict Torvalds <torvalds@cc.helsinki.fi>
|
||
In-Reply-To: Theodore Ts'o's message as of Dec 4, 21:13
|
||
To: tytso@athena.mit.edu,
|
||
Cc: linux-activists@joker.cs.hut.fi
|
||
|
||
Theodore Ts'o: "Re: cc1 fails silently" (Dec 4, 21:13):
|
||
>
|
||
> With that said, you may have a problem, but it looks like the standard
|
||
> corrupted filesystem problem that happens when you are using a stock,
|
||
> unpatched version of Linux 0.10. The number of free blocks as
|
||
> caluclated by the "du" is (9860 - 8423/2) = 5644, which is larger than
|
||
> 5278, but only by 366k. I've seen that sort of lossage on the stock
|
||
> Linux 0.10, and I haven't seen it once the bug fix to buffer.c was
|
||
> applied.
|
||
|
||
It does seem so, but always remeber that du doesn't count blocks
|
||
exactly: it uses a heuristic algorithm that doesn't work on sparse files
|
||
etc. I'd still check the filesystem - that's the most likely problem.
|
||
|
||
And then over to happier things: here's sources to mount and umount, as
|
||
corsini wanted something that keeps track of mounted devices, and as I
|
||
couldn't find anything more interesting to do I just hacked these
|
||
together . These versions keep the file "/etc/mtab" up-to-date, just
|
||
like real mount/umount should do. You can certainly confuse them, but
|
||
they are a bit better than nothing.
|
||
|
||
This is a 1/2 hour hack, so don't expect wonders, but my limited testing
|
||
hasn't shown any problems yet. /etc/mtab will later be needed for "df",
|
||
but as ustat isn't implemented yet, df won't work. Oh well. Meanwhile
|
||
you can get mount-info by "cat /etc/mtab".
|
||
|
||
Linus
|
||
---- mount.c ----------------
|
||
#include <stdio.h>
|
||
#include <errno.h>
|
||
#include <unistd.h>
|
||
#include <fcntl.h>
|
||
|
||
#define TAB_FILE "/etc/mtab"
|
||
#define LOCK_FILE "/etc/mtab~"
|
||
|
||
int tab = -1;
|
||
int lock = -1;
|
||
|
||
volatile void die(void)
|
||
{
|
||
if (lock >= 0)
|
||
unlink(LOCK_FILE);
|
||
exit(1);
|
||
}
|
||
|
||
main(int argc, char ** argv)
|
||
{
|
||
int i;
|
||
char buffer[1024];
|
||
|
||
if (argc !=3) {
|
||
fprintf(stderr,"mount: usage: mount dev dir\n");
|
||
die();
|
||
}
|
||
lock = open(LOCK_FILE,O_CREAT | O_EXCL,0644);
|
||
if (lock < 0) {
|
||
fprintf(stderr,"mount: unable to open lock-file\n");
|
||
die();
|
||
}
|
||
chmod(LOCK_FILE,0644);
|
||
tab = open(TAB_FILE,O_RDONLY);
|
||
if (mount(argv[1],argv[2],0)) {
|
||
fprintf(stderr,"mount: error %d\n",errno);
|
||
die();
|
||
}
|
||
if (tab >= 0)
|
||
while ((i=read(tab,buffer,1024))>0)
|
||
write(lock,buffer,i);
|
||
i=strlen(argv[1]);
|
||
argv[1][i]=' ';
|
||
write(lock,argv[1],i+1);
|
||
i=strlen(argv[2]);
|
||
argv[2][i]='\n';
|
||
write(lock,argv[2],i+1);
|
||
unlink(TAB_FILE);
|
||
link(LOCK_FILE,TAB_FILE);
|
||
unlink(LOCK_FILE);
|
||
return 0;
|
||
}
|
||
----- umount.c ---------------
|
||
#include <stdio.h>
|
||
#include <errno.h>
|
||
#include <unistd.h>
|
||
#include <fcntl.h>
|
||
|
||
#define TAB_FILE "/etc/mtab"
|
||
#define LOCK_FILE "/etc/mtab~"
|
||
|
||
#define CHECK 0
|
||
#define WRITE 1
|
||
#define NOWRITE 2
|
||
|
||
int tab = -1;
|
||
int lock = -1;
|
||
|
||
static int read_char(void)
|
||
{
|
||
static char buffer[1024];
|
||
static int i=0;
|
||
static int pos=0;
|
||
|
||
if (tab < 0)
|
||
return -1;
|
||
if (pos == i) {
|
||
i = read(tab,buffer,1024);
|
||
pos = 0;
|
||
}
|
||
if (i <= 0)
|
||
return -1;
|
||
return (unsigned) buffer[pos++];
|
||
}
|
||
|
||
static void write_char(int c)
|
||
{
|
||
static char buffer[1024];
|
||
static int i=0;
|
||
|
||
if (c<0) {
|
||
if (i)
|
||
write(lock,buffer,i);
|
||
i = 0;
|
||
return;
|
||
}
|
||
buffer[i++] = c;
|
||
if (i<1024)
|
||
return;
|
||
write(lock,buffer,i);
|
||
i=0;
|
||
}
|
||
|
||
volatile void die(void)
|
||
{
|
||
if (lock >= 0)
|
||
unlink(LOCK_FILE);
|
||
exit(1);
|
||
}
|
||
|
||
main(int argc, char ** argv)
|
||
{
|
||
int c,i,len;
|
||
int state;
|
||
|
||
if (argc != 2) {
|
||
fprintf(stderr,"umount: usage: umount dev\n");
|
||
die();
|
||
}
|
||
lock = open(LOCK_FILE,O_CREAT | O_EXCL,0600);
|
||
if (lock < 0) {
|
||
fprintf(stderr,"umount: unable to open lock-file\n");
|
||
die();
|
||
}
|
||
tab = open(TAB_FILE,O_RDONLY);
|
||
if (umount(argv[1])) {
|
||
fprintf(stderr,"umount: error %d\n",errno);
|
||
die();
|
||
}
|
||
len = strlen(argv[1]);
|
||
state = CHECK;
|
||
i = 0;
|
||
do {
|
||
c = read_char();
|
||
if (state==CHECK && !argv[1][i] && (c==' ' || c=='\n'))
|
||
state=NOWRITE;
|
||
if (c=='\n') {
|
||
if (state != NOWRITE)
|
||
write_char(c);
|
||
state = CHECK;
|
||
i = 0;
|
||
continue;
|
||
}
|
||
if (state == NOWRITE)
|
||
continue;
|
||
if (state == WRITE) {
|
||
write_char(c);
|
||
continue;
|
||
}
|
||
if (c == argv[1][i])
|
||
i++;
|
||
else {
|
||
for (state=0 ; state<i ;state++)
|
||
write_char((unsigned)argv[1][state]);
|
||
state = WRITE;
|
||
i = 0;
|
||
write_char(c);
|
||
}
|
||
} while (c >= 0);
|
||
write_char(-1);
|
||
unlink(TAB_FILE);
|
||
link(LOCK_FILE,TAB_FILE);
|
||
unlink(LOCK_FILE);
|
||
return 0;
|
||
}
|
||
--[0150]--
|
||
|
||
[0151] daemon@ATHENA.MIT.EDU (LCDR Michael E. Dobson) Linux_Activists 12/05/91 09:08 (57 lines)
|
||
Subject: Re: cc1 fails silently
|
||
From: "LCDR Michael E. Dobson" <rdc30@nmrdc1.nmrdc.nnmc.navy.mil>
|
||
To: tytso@athena.mit.edu
|
||
Date: Thu, 5 Dec 91 8:37:35 EST
|
||
Cc: linux-activists@joker.cs.hut.fi (Linix Mailing LIst)
|
||
In-Reply-To: <9112050213.AA05299@tsx-11.MIT.EDU>; from "Theodore Ts'o" at Dec 4, 91 9:13 pm
|
||
|
||
I previously said:
|
||
>
|
||
> It appears you both were wrong and it is something more trouble, possibly
|
||
> related to the race conditions Linus mentioned, but more likely some
|
||
> subtle kernel bugs.
|
||
>
|
||
To which Ted responded:
|
||
> Well, maybe. The swapper panic which happens after you type
|
||
> ctrl-alt-del from DOS is standard in Linux 0.10 --- it's harmless, and
|
||
> typing ctrl-alt-del after the panic will allow Linux to boot
|
||
> successfully.
|
||
>
|
||
Depends what you mean by successfully. If I can't run gcc after
|
||
ctrl-alt-del boot, I don't consider the boot successfull. Remember, I said
|
||
the cc1 failure disappeared when I did a hard boot, I did nothing else to
|
||
the system, did not reload the gcc binaries nor mkfs a new system. Now I
|
||
suppose it is therefore the in core image of the file system that was
|
||
corrupted and not the hard disk fs itself. I haven't attempted to build a
|
||
linux kernel myself yet so I didn't apply the buffer.c patch, will wait for
|
||
0.11 which will be able to compile itself without using Minix or some other
|
||
OS.
|
||
|
||
Ted then pointed out:
|
||
> Remember that "du" outputs sizes in 512 byte blocks, courtesy of POSIX.
|
||
> My personal opinion is that it's one of the stupidest mistakes POSIX
|
||
> has committed, since most users care about file sizes in kilobytes, not
|
||
> in 512 byte blocks --- but then, I can alias du to "du -k", so the only
|
||
> losers are the innocent, naive users. [End of soapbox]
|
||
>
|
||
Guess it's time to set up a "proper" .profile with a few aliases in it ;-)
|
||
Anyone know why the default TERM is "dumb" instead of "console"?
|
||
|
||
BTW, once gcc was working, I successfully built less using only
|
||
#define TERMIO 1
|
||
#define REGCMP 0
|
||
#define RECOMP 0
|
||
|
||
in defines.h and removing the reference to libtermcap.a in the Makefile.
|
||
|
||
I also was able to compile all the stdc routines from the pdksh src with
|
||
the exception of setvbuf.c, stdio.c (probably not needed) and vprintf.c.
|
||
I had to change the #include "stdh.h" to #include <string.h> in strstr.c
|
||
and one of the mem*.c routines. Anyone got a good exerciser for the mem*
|
||
and str* routines? These could be very useful additions to the Linux
|
||
libc.a NOTE, I used the *.h files that came with pdksh.
|
||
|
||
--
|
||
Mike Dobson, Sys Admin for | Internet: rdc30@nmrdc1.nmrdc.nnmc.navy.mil
|
||
nmrdc1.nmrdc.nnmc.navy.mil | UUCP: ...uunet!mimsy!nmrdc1!rdc30
|
||
AT&T 3B2/600G Sys V R 3.2.2 | BITNET: dobson@usuhsb or nrd0mxd@vmnmdsc
|
||
WIN/TCP for 3B2 | MCI-Mail: 377-2719 or 0003772719@mcimail.com
|
||
--[0151]--
|
||
|
||
[0152] daemon@ATHENA.MIT.EDU (Theodore Ts'o) Linux_Activists 12/05/91 14:42 (34 lines)
|
||
Subject: Re: cc1 fails silently
|
||
Date: Thu, 5 Dec 91 14:17:06 -0500
|
||
From: tytso@ATHENA.MIT.EDU (Theodore Ts'o)
|
||
To: "LCDR Michael E. Dobson" <rdc30@nmrdc1.nmrdc.nnmc.navy.mil>
|
||
Cc: linux-activists@joker.cs.hut.fi
|
||
Reply-To: tytso@athena.mit.edu
|
||
|
||
From: "LCDR Michael E. Dobson" <rdc30@nmrdc1.nmrdc.nnmc.navy.mil>
|
||
Date: Thu, 5 Dec 91 8:37:35 EST
|
||
|
||
corrupted and not the hard disk fs itself. I haven't attempted to build a
|
||
linux kernel myself yet so I didn't apply the buffer.c patch, will wait for
|
||
0.11 which will be able to compile itself without using Minix or some other
|
||
OS.
|
||
|
||
Do you know about about TSX-11.MIT.EDU, or some of the other anonymous
|
||
FTP sites? There are precompiled boot images of Linux 0.10 which have
|
||
the patched buffer.c. There's also a pre-compiled image of less there
|
||
already. You might want to look around; there's binaries for kermit,
|
||
Bison (yacc), flex (lex), RCS, etc. Might help you from reiventing the
|
||
wheel. :-)
|
||
|
||
I also was able to compile all the stdc routines from the pdksh src with
|
||
the exception of setvbuf.c, stdio.c (probably not needed) and vprintf.c.
|
||
I had to change the #include "stdh.h" to #include <string.h> in strstr.c
|
||
and one of the mem*.c routines. Anyone got a good exerciser for the mem*
|
||
and str* routines? These could be very useful additions to the Linux
|
||
libc.a NOTE, I used the *.h files that came with pdksh.
|
||
|
||
I believe the Linux libc.a already contains the mem* and str* routines,
|
||
using the GNU libc routines. At least, the libc.a included in
|
||
gccbin.tar.Z already has those routines.
|
||
|
||
- Ted
|
||
|
||
--[0152]--
|
||
|
||
[0153] daemon@ATHENA.MIT.EDU (chrisa@extro.ucc.su.OZ.AU) Linux_Activists 12/05/91 19:24 (25 lines)
|
||
Subject: FAQ, port lists & shoelace
|
||
Date: Fri, 6 Dec 1991 00:11:49 GMT
|
||
To: linux-activists@joker.cs.hut.fi
|
||
From: chrisa@extro.ucc.su.OZ.AU
|
||
|
||
Hello *
|
||
|
||
A few questions
|
||
1) Has anything been done for a FAQ list as yet?
|
||
|
||
2) It seems that there may be a little reinventing of the wheel going on
|
||
in terms of porting stuff to linux. Maybe it would be a good idea to
|
||
compile a list of what has been ported so far, by whom, and where it is
|
||
(or patches to the original code) is available from. I guess if noone
|
||
else is willing, I could do this.
|
||
|
||
3) I have read about shoelace in the minix newsgroup before, but i only
|
||
have
|
||
macminix. Do you need to compile shoelace under minix to get it working
|
||
or can it be compiled under linux?
|
||
|
||
enuff for now...
|
||
|
||
chris.
|
||
|
||
|
||
--[0153]--
|
||
|
||
[0154] daemon@ATHENA.MIT.EDU (Theodore Ts'o) Linux_Activists 12/05/91 23:26 (26 lines)
|
||
Subject: Re: FAQ, port lists & shoelace
|
||
Date: Thu, 5 Dec 91 22:49:20 -0500
|
||
From: tytso@ATHENA.MIT.EDU (Theodore Ts'o)
|
||
To: chrisa@extro.ucc.su.OZ.AU
|
||
Cc: linux-activists@joker.cs.hut.fi
|
||
In-Reply-To: chrisa@extro.ucc.su.OZ.AU's message of Fri, 6 Dec 1991 00:11:49 GMT,
|
||
Reply-To: tytso@athena.mit.edu
|
||
|
||
>2) It seems that there may be a little reinventing of the wheel going on
|
||
> in terms of porting stuff to linux. Maybe it would be a good idea to
|
||
> compile a list of what has been ported so far, by whom, and where it is
|
||
> (or patches to the original code) is available from. I guess if noone
|
||
> else is willing, I could do this.
|
||
|
||
blum@messua.informatik.rwth-aachen.de keeps such a list. Send mail to
|
||
him for more info. Stuff regarding Linux can be found at these
|
||
anonymous FTP sites: nic.funet.fi, tsx-11.mit.edu, and
|
||
tupac-amaru.informatik.rwth-aachen.de. New files that hit one site
|
||
generally hit all three (at least, I try to send binaries that get sent
|
||
to tsx-11 to the other two sites, and I try to grab anything new that
|
||
gets downloaded to nic.funet.fi and tupac-amaru). So you should also
|
||
try looking at one of the anonymous FTP sites to see if you can just
|
||
pick up the binaries.
|
||
|
||
- Ted
|
||
|
||
|
||
--[0154]--
|
||
|
||
[0155] daemon@ATHENA.MIT.EDU (Robert Blum) Linux_Activists 12/06/91 04:01 (46 lines)
|
||
Subject: The FAQ and other questions
|
||
Date: Fri, 6 Dec 91 09:52:11 +0100
|
||
From: blum@cip-s01.informatik.rwth-aachen.de (Robert Blum)
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
Hi Linuxers!
|
||
|
||
Following are some answers to some questions recently mailed:
|
||
|
||
1) Has anything been done for a FAQ list as yet?
|
||
|
||
I am currently developing such a beast, and a LINUX Info sheet is already
|
||
done (mostly). If you are interested in helping with the FAQ, mail me and you
|
||
are on the list....
|
||
|
||
2) It seems that there may be a little reinventing of the wheel going on
|
||
in terms of porting stuff to linux. Maybe it would be a good idea to
|
||
compile a list of what has been ported so far, by whom, and where it is
|
||
(or patches to the original code) is available from. I guess if noone
|
||
else is willing, I could do this.
|
||
|
||
This list is available as TODO on
|
||
tupac-amaru.informatik.rwth-aachen.de:/pub/msdos/replace as are all the
|
||
binaries
|
||
|
||
|
||
3) I have read about shoelace in the minix newsgroup before, but i only
|
||
have
|
||
macminix. Do you need to compile shoelace under minix to get it working
|
||
or can it be compiled under linux?
|
||
|
||
I remember some patches for shoelace under linux sent out on this list,
|
||
but I didn`t get them
|
||
This leads me to an announcement:
|
||
I think next year I will start another service for LINUX. I will save
|
||
all the postings on the mailing list an make it available via anon ftp,
|
||
perhaps even via a mailserver with the ability to grep for keywords....
|
||
If you like this idea, have other ideas, or have set up such a service
|
||
yourself, please mail me
|
||
|
||
|
||
See you,
|
||
Robert "I'll do it ASAP" Blum
|
||
|
||
|
||
|
||
|
||
--[0155]--
|
||
|
||
[0156] daemon@ATHENA.MIT.EDU (Robert Blum) Linux_Activists 12/06/91 04:41 (67 lines)
|
||
Subject: The new TODO file
|
||
Date: Fri, 6 Dec 91 10:29:34 +0100
|
||
From: blum@cip-s01.informatik.rwth-aachen.de (Robert Blum)
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
Hi Linuxers!
|
||
This is this weeks mailing of TODO :-)
|
||
|
||
If you have any additions, send mail (please!)
|
||
|
||
Robert Blum
|
||
|
||
|
||
This files contains the status of several tools for Linux
|
||
|
||
Currently ported/developed/compiled projects:
|
||
|
||
Name: ported by:
|
||
bison nicholas@cs.uwa.oz.au (binary only)
|
||
diff tytso@mit.edu (binary only)
|
||
flex tytso@mit.edu (binary only)
|
||
fsck torvalds@kruuna.helsinki.fi (source only)
|
||
gcc torvalds@kruuna.helsinki.fi (src &binary)
|
||
german kbd upsyf173@comparex.hrz.uni-bielefeld.de (source only)
|
||
id ???? (binary only)
|
||
kermit tytso@mit.edu (binary only)
|
||
less jtkohl@berkeley.cs.edu (binary only)
|
||
mkfs torvalds@kruuna.helsinki.fi (source only)
|
||
mount torvalds@kruuna.helsinki.fi (source only)
|
||
pmake jtkohl@berkeley.cs.edu (binary only)
|
||
rcs ???? (binary only)
|
||
umount torvalds@kruuna.helsinki.fi (source only)
|
||
whoami ???? (binary only)
|
||
|
||
|
||
All these programs can be FTPed as binaries/sources from the following sites
|
||
nic.funet.fi
|
||
tsx-11.mit.edu
|
||
tupac-amaru.informatik.rwth-aachen.de
|
||
|
||
Try your nearest site first! If you can't find them there, you'll find them
|
||
on tupac-amaru in every case.
|
||
|
||
===============================================================================
|
||
Projects currently under development:
|
||
|
||
Name: ported by: Remarks
|
||
c386 blum@messua.informatik.rwth-aachen.de Is working under Linux
|
||
A cc for this exists
|
||
Is currently teached
|
||
ANSI. Any help on this
|
||
would be appreciated.
|
||
|
||
gawk nicholas@cs.uwa.oz.au Still needs a working
|
||
mathlib.
|
||
|
||
networking jtkohl@echidna.berkeley.edu Mainly the BSD code
|
||
Perhaps even ffs
|
||
Networking=
|
||
BSD networking Tape VOL2
|
||
|
||
mathlib nicholas@cs.uwa.oz.au Will be a library for
|
||
387/287/soft-float-code
|
||
|
||
VFS proven@athena.mit.edu VFS=Virtual File System
|
||
Will probably out with
|
||
Linux 0.11
|
||
|
||
--[0156]--
|
||
|
||
[0157] daemon@ATHENA.MIT.EDU (LCDR Michael E. Dobson) Linux_Activists 12/06/91 10:42 (28 lines)
|
||
Subject: Possible bug in termios.h?
|
||
From: "LCDR Michael E. Dobson" <rdc30@nmrdc1.nmrdc.nnmc.navy.mil>
|
||
To: linux-activists@joker.cs.hut.fi (Linix Mailing LIst)
|
||
Date: Fri, 6 Dec 91 10:15:10 EST
|
||
|
||
While working on a port of UUCP, I came across what may be a bug in the
|
||
<termios.h> file. The values PARENB and PARODD where coming up undefined
|
||
even though termios.h had been included. Checking the source against POSIX
|
||
1003.1-1988 we find:
|
||
|
||
Linux 1003.1
|
||
|
||
c_cflag field c_cflag field
|
||
CPARENB PARENB
|
||
CPARODD PARODD
|
||
|
||
It seems that we should be using the mask name symbols PARENB and PARODD to
|
||
be compliant with section 7.1.2.4 of 1003.1
|
||
|
||
Any comments from the group?
|
||
|
||
PS: before flamming me for working on UUCP, I know we don't have
|
||
login/getty/uugetty nor do we have getlogin()/cuserid(), ttyname(),
|
||
cget*(), or cfset*(). Stay tuned!
|
||
--
|
||
Mike Dobson, Sys Admin for | Internet: rdc30@nmrdc1.nmrdc.nnmc.navy.mil
|
||
nmrdc1.nmrdc.nnmc.navy.mil | UUCP: ...uunet!mimsy!nmrdc1!rdc30
|
||
AT&T 3B2/600G Sys V R 3.2.2 | BITNET: dobson@usuhsb or nrd0mxd@vmnmdsc
|
||
WIN/TCP for 3B2 | MCI-Mail: 377-2719 or 0003772719@mcimail.com
|
||
--[0157]--
|
||
|
||
[0158] daemon@ATHENA.MIT.EDU (Marc CORSINI) Linux_Activists 12/06/91 12:18 (70 lines)
|
||
Subject: uemacs 3.11
|
||
Date: Fri, 6 Dec 91 17:55:42 +0100
|
||
From: corsini@numero6.greco-prog.fr (Marc CORSINI)
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
|
||
Hi,
|
||
I've compiled, nearly successfuly, micro emacs 3.11 under linux. To do
|
||
so,
|
||
1) get the sources from midas.mgmt.perdue.edu
|
||
2) apply the patches available from comp.emacs, for unix boxes (if
|
||
needed i can send it to this mailing list)
|
||
3) make the following changes:
|
||
|
||
-a- in eproto.h
|
||
line 24: change mlwrite(va_decl) to mlwrite(va_alist)
|
||
this makes the error to be only a warning
|
||
|
||
-b- in unix.c
|
||
|
||
to fit the def of rename() in /usr/include/stdio.h change lines 1241 and 1242
|
||
char * file1;
|
||
char * file2;
|
||
|
||
by
|
||
|
||
const char * file1;
|
||
const char * file2;
|
||
|
||
Moreover since linux has no ltermcap.a change also
|
||
|
||
#if HPUX || VAT
|
||
char PC, *UP;
|
||
short ospeed;
|
||
#else
|
||
|
||
by
|
||
|
||
#if HPUX || VAT || USG
|
||
char PC, *UP;
|
||
short ospeed;
|
||
#else
|
||
|
||
|
||
-c- finally set the following flags to 1 in estruct.h
|
||
|
||
USG
|
||
GCC
|
||
TERMCAP
|
||
|
||
supress the -ltermcap option when linking bin/emacs.exe
|
||
|
||
that's all. Hope this helps
|
||
|
||
[mmc]
|
||
|
||
PS1: the nearly success is caused by
|
||
when exiting emacs 3.11, the screen is not cleaned (apply cls by hand
|
||
is what i do). I still dig on it.
|
||
|
||
PS2: if u are interested, i can post the previous changes in cdif
|
||
form.
|
||
|
||
PS3: on MSX-11 there are a lot of patches, some were even not posted
|
||
on this list. My questions and "requierement" are
|
||
Are these patches also available on other sites (the european one)?, i
|
||
can't verify myself 'cause my site can't access them ('cause of money)
|
||
Would it be possible to make a README file for these patches where
|
||
there would be:
|
||
the order of apliance,
|
||
the things they cure
|
||
--[0158]--
|
||
|
||
[0159] daemon@ATHENA.MIT.EDU (Marc CORSINI) Linux_Activists 12/07/91 10:49 (12 lines)
|
||
Subject: micro emacs
|
||
Date: Sat, 7 Dec 91 16:40:22 EST
|
||
From: corsini@geocub.greco-prog.fr (Marc CORSINI)
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
Hi there,
|
||
it seems that the ^X^C is interpreted only as ^C which kill the emacs process
|
||
in fact ^X C do the thing that ^X^C is supposed to do. The called function are
|
||
correct, and there is no problem with the virtual screen functions.
|
||
|
||
[mmc]
|
||
|
||
PS as i mail with a blind terminal, the ^key must be read sa <CTRL><key>
|
||
--[0159]--
|
||
|
||
[0160] daemon@ATHENA.MIT.EDU (Marc CORSINI) Linux_Activists 12/08/91 10:40 (13 lines)
|
||
Subject: micro emacs again
|
||
Date: Sun, 8 Dec 91 16:31:14 EST
|
||
From: corsini@geocub.greco-prog.fr (Marc CORSINI)
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
|
||
Once again,
|
||
^X C is not a good solution, because it calls a sub-shell.
|
||
<ESC> X exit-emacs is correct, in fact it is the function bind to
|
||
^X^C, but the ^C is still catch by the system, and cause an
|
||
interruption.
|
||
|
||
|
||
[mmc]
|
||
--[0160]--
|
||
|
||
[0161] daemon@ATHENA.MIT.EDU (Linus Benedict Torvalds) Linux_Activists 12/08/91 10:59 (33 lines)
|
||
Subject: linux-0.11 available
|
||
Date: Sun, 8 Dec 1991 17:51:24 +0200
|
||
From: Linus Benedict Torvalds <torvalds@cc.helsinki.fi>
|
||
To: Linux-activists@joker.cs.hut.fi
|
||
|
||
The subject says it all: I have uploaded linux version 0.11 to
|
||
nic.funet.fi and tupac-amaru. They won't show up for a while on nic,
|
||
but are already visible in pub/msdos/replace/incoming at amaru. rtx-11
|
||
is so slow to use from here that I didn't upload them there: I guess
|
||
they'll show up within a couple of days (tytso?).
|
||
|
||
The files uploaded were:
|
||
bootimage.Z - US keyboard compressed bootimage
|
||
rootimage.Z - 1200kB compressed root image
|
||
linux-0.11.tar.Z - sources
|
||
as86.tar.Z - linux binaries for bruce evans'
|
||
16-bit assembler and loader.
|
||
INSTALL-0.11 - updated install-info
|
||
|
||
This version has a lot of corrections, and is stable at least on my
|
||
machine. I /hope/ every known bug is fixed, but no promises (and all
|
||
unknown bugs are still there, probably with reinforcements ;-). Those
|
||
who like to use caps lock as a ctrl-key, you'll have to re-patch the
|
||
kernel. It's not implemented in the standard version.
|
||
|
||
Linus
|
||
|
||
PS. I'll be a bit busy with the #"$/% physics-course I'm taking, so I
|
||
might not be as active on the net this coming week as I would like to.
|
||
|
||
PPS. corsini: the problem you have with the recompiled uemacs sounds
|
||
like it isn't resetting the ISIG bit in c_lflags when moving to raw
|
||
mode. Search for c_lflags in the source: it should effectively be set to
|
||
zero (I think) - no signals, no canonical mode etc.
|
||
--[0161]--
|
||
|
||
[0162] daemon@ATHENA.MIT.EDU (Linus Benedict Torvalds) Linux_Activists 12/08/91 11:42 (21 lines)
|
||
Subject: ISIG bug already :-(
|
||
Date: Sun, 8 Dec 1991 18:34:04 +0200
|
||
From: Linus Benedict Torvalds <torvalds@cc.helsinki.fi>
|
||
To: Linux-activists@joker.cs.hut.fi
|
||
|
||
It seems God hates me or something: 5 minutes after sending out
|
||
linux-0.11 I found a bug. This one also explains why corsini has had
|
||
problems with uemacs: I had the meaning of ISIG reversed in the kernel.
|
||
Happily the bug is not very important, and correcting it breaks /my/
|
||
version of uemacs, but I'm a bit shamefaced.
|
||
|
||
The bug is in linux/kernel/char_drv/tty_io.c: search for the line
|
||
containing "if (!L_ISIG" and remove the incorrect "!". I'll make a new
|
||
kernel binary available, as well as a new uemacs. Hopefully nobody ever
|
||
even gets to see the bad versions.
|
||
|
||
I guess we'll have to rename the system: wirzeniu already suggested the
|
||
name "buggyx" :-)
|
||
|
||
Linus
|
||
|
||
PS. Apologies to corsini for thinking he did something wrong.
|
||
--[0162]--
|
||
|
||
[0163] daemon@ATHENA.MIT.EDU (Marc Peters) Linux_Activists 12/08/91 18:16 (20 lines)
|
||
Subject: v 0.11 boot disk problem
|
||
Date: Sun, 8 Dec 91 15:01:30 -0800
|
||
From: mpeters@polyslo.csc.calpoly.edu (Marc Peters)
|
||
To: Linux-activists@joker.cs.hut.fi
|
||
|
||
I just downloaded the new improved v0.11, but it doesn't want to load on my
|
||
computer. It gives a couple errors similar to
|
||
HD controller reset failed: 000
|
||
Kernel Panic: HD controller not ready
|
||
and aborts the loading of the system. My computer has an MFM HD and
|
||
controller which may account for the problem, but v0.10 didn't seem to mind.
|
||
A friend has a machine with an IDE drive and controller, it gives the
|
||
first error but loads the system and seems to work fine.
|
||
|
||
If you could direct me toward a cure I'd be happy again, even if the cure
|
||
involves replacing my HD and controller. But I'm wondering what differences
|
||
could be in the new kernel that would obsolete my HD and if those changes
|
||
can't be re-changed.
|
||
|
||
Thank you for your time,
|
||
Marc Peters
|
||
--[0163]--
|
||
|
||
[0164] daemon@ATHENA.MIT.EDU (Ari Lemmke) Linux_Activists 12/08/91 18:28 (16 lines)
|
||
Subject: RE: v 0.11 boot disk problem
|
||
Date: Mon, 9 Dec 1991 01:18:21 +0200
|
||
From: Ari Lemmke <arl@zen.cs.hut.fi>
|
||
To: Linux-activists@joker.cs.hut.fi
|
||
In-Reply-To: Marc Peters's message of Sun, 8 Dec 91 15:01:30 -0800 <9112082301.AA00933@polyslo.csc.calpoly.edu>
|
||
|
||
|
||
Linus downloaded new stuff .. so:
|
||
|
||
Linux 0.11 should now be available at nic.funet.fi ...
|
||
everything needed is in INSTALL directory (actually
|
||
stuff in INSTALL directory is hard linked from other
|
||
directories).
|
||
|
||
The main README file changes constantly ...
|
||
|
||
arl
|
||
--[0164]--
|
||
|
||
[0165] daemon@ATHENA.MIT.EDU (Linus Benedict Torvalds) Linux_Activists 12/08/91 20:12 (51 lines)
|
||
Subject: hd_reset fails in 0.11
|
||
Date: Mon, 9 Dec 1991 02:57:40 +0200
|
||
From: Linus Benedict Torvalds <torvalds@cc.helsinki.fi>
|
||
To: Linux-activists@joker.cs.hut.fi
|
||
|
||
Marc Peters: "v 0.11 boot disk problem" (Dec 8, 15:01):
|
||
> I just downloaded the new improved v0.11, but it doesn't want to load on my
|
||
> computer. It gives a couple errors similar to
|
||
> HD controller reset failed: 000
|
||
> Kernel Panic: HD controller not ready
|
||
> and aborts the loading of the system. My computer has an MFM HD and
|
||
> controller which may account for the problem, but v0.10 didn't seem to mind.
|
||
> A friend has a machine with an IDE drive and controller, it gives the
|
||
> first error but loads the system and seems to work fine.
|
||
|
||
Thanks, this is why there are still debug-statements in the code. There
|
||
are in fact two solutions (I hope) to the problem. Both of them require
|
||
you to change the file "linux/kernel/blk_drv/hd.c" which does the
|
||
harddisk specific stuff. As 0.10 doesn't try to reset the controller at
|
||
bootup, it seems to work, and you can still use it to recompile 0.11.
|
||
|
||
1 - set static int reset to 0 at startup (currently 1). This means
|
||
linux won't try to reset the controller in the beginning, but this is
|
||
just a temporary hack: if there are errors later on that need a reset,
|
||
you'll be in the same trouble.
|
||
|
||
2 - try to edit the timeouts in "reset_controller". If memory serves,
|
||
it's a line that goes like this:
|
||
|
||
outb_p(4,HD_CMD);
|
||
>> for (i=0 ; i<100 ; i++)
|
||
nop();
|
||
outb_p(xxx,HD_CMD);
|
||
|
||
Change the max value to 10000 or something, and try again. I have only
|
||
one controller to test, and timing-problems are always the worst kind.
|
||
There are a couple of other timing-values that are completely arbitrary
|
||
(guess a number between 1 and 100000, and if it works, it works :-), but
|
||
this is the first suspect.
|
||
|
||
I'd be very grateful if everybody who encounters this problem would try
|
||
out (2), and report to me how big the value had to be before the reset
|
||
made it (or indeed if it works even then). Don't do (1) unless nothing
|
||
else works. I'd also be interested to know what kind of machine you are
|
||
running (fast machine, slow disk?).
|
||
|
||
Linus
|
||
|
||
PS. I hope even old linux-users read the INSTALL-file: there is a change
|
||
in how linux boots up. No more /bin/update, instead linux executes the
|
||
shell script /etc/rc, which may mount/fsck etc, and start up update in
|
||
the background.
|
||
--[0165]--
|
||
|
||
[0166] daemon@ATHENA.MIT.EDU (Ari Lemmke) Linux_Activists 12/08/91 21:02 (38 lines)
|
||
Subject: hd_reset fails in 0.11
|
||
Date: Mon, 9 Dec 1991 03:51:38 +0200
|
||
From: Ari Lemmke <arl@zen.cs.hut.fi>
|
||
To: Linux-activists@joker.cs.hut.fi
|
||
In-Reply-To: Linus Benedict Torvalds's message of Mon, 9 Dec 1991 02:57:40 +0200 <199112090057.AA06512@kruuna.helsinki.fi>
|
||
|
||
|
||
>2 - try to edit the timeouts in "reset_controller". If memory serves,
|
||
>it's a line that goes like this:
|
||
|
||
> outb_p(4,HD_CMD);
|
||
> >> for (i=0 ; i<100 ; i++)
|
||
> nop();
|
||
> outb_p(xxx,HD_CMD);
|
||
|
||
>Change the max value to 10000 or something, and try again. I have only
|
||
>one controller to test, and timing-problems are always the worst kind.
|
||
>There are a couple of other timing-values that are completely arbitrary
|
||
>(guess a number between 1 and 100000, and if it works, it works :-), but
|
||
>this is the first suspect.
|
||
|
||
I hacked one SCSI driver for Mach pc532 ... and there
|
||
was a lot of static wait loops (aaaaaargh) .. what we did was
|
||
changed wait loops as:
|
||
|
||
Wait_uSec( 100 );
|
||
|
||
and Wait_uSec function has loop .. where is (should be)
|
||
computed one uSec loop.
|
||
|
||
But we have all only 25MHz 32532 chips .. so it was
|
||
hard coded (ugh). There are many PC 386s around ..
|
||
like mine .. I'm running my 386/25 with 16 MHz CPU,
|
||
and don't have guts to run it full speed (gets really
|
||
hot, and don't have peltier element or any other way
|
||
to cool my machine just now ;-), so I'm running it
|
||
about 6 MHz speed (my board has dip for it).
|
||
|
||
arl
|
||
--[0166]--
|
||
|
||
[0167] daemon@ATHENA.MIT.EDU (Michael Kronvold) Linux_Activists 12/08/91 22:13 (16 lines)
|
||
Subject: Linux and SCSI (was: hd_reset fails in 0.11)
|
||
Date: Sun, 8 Dec 91 21:01:14 GMT-0600
|
||
From: kronvold@sumter.cso.uiuc.edu (Michael Kronvold)
|
||
To: Linux-activists@joker.cs.hut.fi
|
||
In-Reply-To: Ari Lemmke's message of Mon, 9 Dec 1991 03:51:38 +0200 <199112090151.AA26582@zen.cs.hut.fi>
|
||
|
||
> I hacked one SCSI driver for Mach pc532 ... and there
|
||
> was a lot of static wait loops (aaaaaargh) .. what we did was
|
||
> changed wait loops as:
|
||
> Wait_uSec( 100 );
|
||
> and Wait_uSec function has loop .. where is (should be)
|
||
> computed one uSec loop.
|
||
|
||
I'm trying (and failing miserably) to get Linux up on my 386-40
|
||
with a SCSI drive... Anything you have that I could use as a referance?
|
||
|
||
- Mike
|
||
--[0167]--
|
||
|
||
[0168] daemon@ATHENA.MIT.EDU (Robert Blum) Linux_Activists 12/09/91 03:49 (125 lines)
|
||
Subject: The Linux info sheet
|
||
Date: Mon, 9 Dec 91 09:06:54 +0100
|
||
From: blum@cip-s01.informatik.rwth-aachen.de (Robert Blum)
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
Hi Linuxers!
|
||
|
||
Following is the first official version of a Linux info sheet. If you like
|
||
it, I'd suggest posting this thing to:
|
||
comp.os.misc
|
||
comp.os.mach
|
||
comp.os.minix
|
||
comp.os.coherent
|
||
comp.os.sysv.i386
|
||
comp.unix.programmers
|
||
comp.binaries.ibm.pc.d
|
||
|
||
Comments and suggestions are welcome.
|
||
Ciao,
|
||
Robert
|
||
|
||
|
||
|
||
LINUX INFORMATION SHEET
|
||
|
||
1. WHAT IS LINUX 0.11
|
||
LINUX 0.11 is a freely distributable UNIX clone. It is almost
|
||
fully System V compatible. LINUX has been written from scratch, and
|
||
therefore does not contain any AT&T or MINIX code--not in the kernel,
|
||
the compiler, the utilities, or the libraries. For this reason it can
|
||
be made available with the complete source code via anonymous FTP.
|
||
Sorrily, it runs only on 386/486 AT-bus-machines. EISA will probably do
|
||
too, but you need an AT-Bus controller for your harddisk.
|
||
|
||
Version 0.11 is still a beta release, but it provides almost full
|
||
functionality. Various users have been able to compile bigger projects
|
||
like bison/flex by only changing the makefile to their needs, and these
|
||
tools are fully functional.
|
||
|
||
2. LINUX features
|
||
- System call compatible with V7 of the UNIX operating system
|
||
- Full multiprogramming (multiple programs can run at once)
|
||
- Memory paging with copy-on-write
|
||
- Demand loading of executables
|
||
- Page sharing of executables
|
||
- ANSI compliant C compiler (gcc)
|
||
- A complete set of compiler writing tools
|
||
(bison as yacc-replacement, flex as lex replacement)
|
||
- The gnu-born again shell (bash)
|
||
- Micro emacs
|
||
- most utilities you need for development
|
||
(cat, cp, kermit, ls, make, etc.)
|
||
- Over 200 library procedures (atoi, fork, malloc, read, stdio, etc.)
|
||
- Currently 3 national keyboards: finnish/us/german
|
||
- Full source code (in C) for the OS is freely distributable
|
||
- Full source code of the tools can be gotten from many anonymous ftp sites
|
||
(It's almost completel the GNU project)
|
||
- Runs in protected mode on 386 and above
|
||
- Support for extended memory up to 16M on 386 and above
|
||
- RS-232 serial line support with terminal emulation, kermit, zmodem, etc.
|
||
- Supports the real time clock
|
||
|
||
|
||
3. HARDWARE REQUIRED
|
||
- A 386 or 486 machine that is an AT-bus-machine. EISA will probably do
|
||
too.
|
||
- An IDE hard disk is required to use this system.
|
||
- Both 5.25" and 3.5" diskettes are supported
|
||
- At least 2 megabytes of RAM is required for LINUX to be operational,
|
||
but gcc will only work from 4 MB on.
|
||
- Any video card will do
|
||
- Up to two serial lines are supported
|
||
- The real time clock is supported
|
||
|
||
4. PARTIAL LIST OF UTILITIES INCLUDED IN OR AVAILABLE FOR LINUX 0.10
|
||
- The MTOOLS package (reading/writing to DOS)
|
||
- The complete GNU filetools (ls,cat,cp,mv,...)
|
||
- The GNU C compiler with GNU assembler,linker,ar,...
|
||
- bison
|
||
- flex
|
||
- rcs
|
||
- pmake (BSD 4.2 make)
|
||
- kermit
|
||
- Micro emacs
|
||
- less
|
||
- mkfs
|
||
- fsck
|
||
- mount/umount
|
||
|
||
|
||
5. LINUX BINARIES
|
||
The LINUX binaries (including all the tools) are available at three
|
||
anonymous FTP sites. These are:
|
||
nic.funet.fi:/pub/OS/Linux
|
||
tsx-11.mit.edu
|
||
tupac-amaru.informatik.rwth-aachen.de:/pub/msdos/replace
|
||
|
||
|
||
6. LEGAL STATUS OF LINUX
|
||
Although LINUX is supplied with the complete source code, it is
|
||
copyrighted software. But it is, opposite to MINIX available for free,
|
||
provided you obey to the rules specified in the LINUX copyright.
|
||
|
||
|
||
7. NEWS ABOUT LINUX
|
||
Since LINUX's introduction to the public there has been a rapidly
|
||
growing mailing list, "linux-activists@joker.cs.hut.fi". To subscribe
|
||
to this list, mail to "linux-activists-requests@joker.cs.hut.fi". If
|
||
the traffic in this lists increases further, there are plans to swap
|
||
(at least partially) over to comp.os.misc, so watch out for any LINUX
|
||
articles in this group. If you simply want to know whats the current
|
||
state of the art, do a "finger torvalds@kruuna.helsinki.fi", and you'll
|
||
get some information.
|
||
|
||
|
||
8. FUTURE PLANS
|
||
The major current project is bringing LINUX to a version number
|
||
greater than 1.0. It has also to undergo some (minor) revisions to be
|
||
compatible to the IEEE POSIX P1003.1 and P1003.2 standards. Various
|
||
people are currently working on
|
||
- math support/fp emulation in the kernel
|
||
- Page swapping (since paging is alreay implemented)
|
||
- A virtual filesystem layer
|
||
- STREAMS
|
||
If you want to join the developers, join the mailing list
|
||
|
||
--[0168]--
|
||
|
||
[0169] daemon@ATHENA.MIT.EDU (Peter MacDonald) Linux_Activists 12/09/91 23:07 (8 lines)
|
||
Subject: linux-.11 cures unexpected interupt problem
|
||
Date: Mon, 9 Dec 91 19:56:31 PST
|
||
From: pmacdona@sol.UVic.CA (Peter MacDonald)
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
Just a word of praise for linux-0.11. I still get unexpected HD interrupt
|
||
messages, but I could compile the system, and comment out that message.
|
||
Which means linux can live with my brain-dead IDE drive, something minix
|
||
couldn't do without my modifying the harddisk driver.
|
||
--[0169]--
|
||
|
||
[0170] daemon@ATHENA.MIT.EDU (Drew Eckhardt) Linux_Activists 12/10/91 00:23 (56 lines)
|
||
Subject: Re: Linux and SCSI (was: hd_reset fails in 0.11)
|
||
Date: Mon, 9 Dec 1991 22:15:17 -0700
|
||
From: Drew Eckhardt <drew@hazelrah.cs.Colorado.EDU>
|
||
To: Linux-activists@joker.cs.hut.fi, kronvold@sumter.cso.uiuc.edu
|
||
|
||
> was a lot of static wait loops (aaaaaargh) .. what we did was
|
||
> changed wait loops as:
|
||
> Wait_uSec( 100 );
|
||
|
||
Accomodating the BUS settle time is a real pain. In my linux driver I
|
||
am using small chunks of inline assembler to accomodate it and the glitch
|
||
detection discussed in the standard.
|
||
|
||
> and Wait_uSec function has loop .. where is (should be)
|
||
> computed one uSec loop.
|
||
|
||
I'm trying (and failing miserably) to get Linux up on my 386-40
|
||
with a SCSI drive... Anything you have that I could use as a referance?
|
||
|
||
|
||
Before any one else starts on this, I'm currently working on a Linux SCSI
|
||
driver (~60 - 70% complete).
|
||
|
||
A brief description of the project :
|
||
|
||
It's a multi-tiered design, with SCSI disk / tape
|
||
Linux block device drivers, a high-level host independant module
|
||
that has a generic interface to the low level module and host independant
|
||
initialization routines, and a low level, host specific implementation.
|
||
|
||
The interface between the low & high level part is through an array of
|
||
host structures, where each host structure has a pointer to a detect
|
||
function, an information function, and the actual SCSI command function.
|
||
Use of multiple host adapters is supported.
|
||
|
||
Code in the high-level SCSI initialization routine scans each present
|
||
SCSI host for devices - target ID 0-6, LUN 0-7 if LUN 0 is found.
|
||
Capacity of each device is determined, and a structure in either the
|
||
ST tape driver or SD disk driver.
|
||
|
||
This, in conjunction with the detect function supplied for each host,
|
||
allows the drivers to be 100% self configuring.
|
||
|
||
The SCSI disk and TAPE drivers simply pass SCSI commands through the
|
||
high level interface to their appropriate devices. The disk device
|
||
also automatically remaps bad sectors.
|
||
|
||
It will initially be bundled with a low-level driver for the
|
||
Seagate ST-01/ST-02 SCSI hosts - what I have. They're 8 bit,
|
||
can't run 1:1 on SCSI disks, but they're dirt cheap...
|
||
|
||
If any one has other hosts, and wants to volunteer to write a matching
|
||
low level driver, I can supply the interface specifications
|
||
for your driver now, and working disk block device driver within a couple
|
||
days when I'm satisfied with it.
|
||
|
||
|
||
--[0170]--
|
||
|
||
[0171] daemon@ATHENA.MIT.EDU (Michael Kronvold) Linux_Activists 12/10/91 02:30 (12 lines)
|
||
Subject: Linux and SCSI (was: hd_reset fails in 0.11)
|
||
Date: Tue, 10 Dec 91 01:16:26 GMT-0600
|
||
From: kronvold@sumter.cso.uiuc.edu (Michael Kronvold)
|
||
To: drew@hazelrah.cs.colorado.edu
|
||
Cc: Linux-activists@joker.cs.hut.fi
|
||
In-Reply-To: Drew Eckhardt's message of Mon, 9 Dec 1991 22:15:17 -0700 <199112100515.AA13922@hazelrah.cs.Colorado.EDU>
|
||
|
||
|
||
Well, I'm using a DTC controller, and I seriously doubt my ability to
|
||
write the low level for it... BUT, I'm willing to try just in case someone
|
||
else out there might have a similar controller. :)
|
||
|
||
- Mike
|
||
--[0171]--
|
||
|
||
[0172] daemon@ATHENA.MIT.EDU (Theodore Ts'o) Linux_Activists 12/10/91 02:55 (41 lines)
|
||
Subject: Signal handler compatibility?
|
||
Date: Tue, 10 Dec 91 02:47:13 -0500
|
||
From: tytso@ATHENA.MIT.EDU (Theodore Ts'o)
|
||
To: Linux-activists@joker.cs.hut.fi
|
||
Reply-To: tytso@athena.mit.edu
|
||
|
||
Well, it looks like I have job control pretty much functioning with a
|
||
version of bash that understands job control, and it pretty much works.
|
||
One or two more days while I do more testing and packaging of diffs, and
|
||
I'll be sending the kernel changes to Linus, and making them available
|
||
on TSX-11 so that more adventurous souls who job control sooner rather
|
||
than later can grab it and try it out.
|
||
|
||
One of the problems which I've run into during my testing is that when a
|
||
read gets interrupted with a ^Z, when you restart it, the system call
|
||
that was in progress returns a -EINTR, and the program is supposed to
|
||
understand the EINTR and restart the system call. Well, the problem is
|
||
thatmost programs *don't* bother to understand EINTR, and so it is
|
||
highly desirable to have restartable system calls ala BSD 4.3.
|
||
|
||
Unfortunately, in order to do that, it will be necessary to change the
|
||
signal trampoline code so the signal handler exits, a sigreturn system
|
||
call is executed. This in fact will result in cleaner and clearer code
|
||
in the kernel, but since the signal trampoline code is part of libc.a,
|
||
it would mean that code which used signal handlers would need to be
|
||
recompiled. In other words, a kernel which used the new way of doing
|
||
signal handling would not be binary compatible with binaries that used
|
||
signal handlers.
|
||
|
||
Now, I can think of ways that would probably work in making the
|
||
resulting kernel be backwards compatible, but they all involve really
|
||
gross hacks that would be really painful, and I'm not sure that it would
|
||
be good thing to be introducing ugly hacks to maintain backwards
|
||
compatibility when Linux is still in beta test.
|
||
|
||
How do people feel about this one? How much code which has been ported
|
||
actually use signal handlers? Would people be willing to recompile them
|
||
with a new libc.a? Linus, would you be willing to take a change in the
|
||
signal handling code that might not be backwards compatible?
|
||
|
||
- Ted
|
||
|
||
--[0172]--
|
||
|
||
[0173] daemon@ATHENA.MIT.EDU (Patrick L. McGillan) Linux_Activists 12/10/91 09:19 (26 lines)
|
||
Subject: hd controller problem
|
||
From: Patrick L. McGillan <pmcgilla@hp.uwsuper.edu>
|
||
To: linux-activists@joker.cs.hut.fi (Linux User Group)
|
||
Date: Tue, 10 Dec 91 8:03:28 CST
|
||
|
||
Hi all,
|
||
Like others I had a problem when starting up Linux 0.11. The changes
|
||
suggested sort of worked, i.e. not doing a reset on boot did, but making
|
||
a bigger loop in reset_controller didn't. The method I used was to
|
||
increase the loop in drive_busy from 10000 to 100000. The loop in reset_
|
||
controller is back to 100. No problems.
|
||
Linus you asked about machines people are using that have the problem.
|
||
My motherboard is a 33mhz-64k cache board. The controller is a HD/FD,
|
||
with the HD portion locked to 1:1 interleave. As you may remember from
|
||
earlier discussion the FD portion wouldn't work under Linux so I disabled
|
||
it and put a floppy only controller card in. The Hard disk seems to be
|
||
sluggish and usually responds slow, so I imagine that is where the problem
|
||
is coming from.
|
||
|
||
Later,
|
||
|
||
--
|
||
Patrick L. McGillan
|
||
Computer Systems Specialist
|
||
University Of Wisconsin Ph: (715) 394-8191
|
||
Superior, Wisconsin pmcgilla@uwsuper.edu
|
||
|
||
--[0173]--
|
||
|
||
[0174] daemon@ATHENA.MIT.EDU (LCDR Michael E. Dobson) Linux_Activists 12/10/91 11:17 (26 lines)
|
||
Subject: Seg Faults under 0.11
|
||
From: "LCDR Michael E. Dobson" <rdc30@nmrdc1.nmrdc.nnmc.navy.mil>
|
||
To: linux-activists@joker.cs.hut.fi (Linux Mailing List)
|
||
Date: Tue, 10 Dec 91 10:44:17 EST
|
||
|
||
I seem to be having some trouble with Out of memory errors under 0.11 that
|
||
I didn't have under 0.10. Uncompress is failing with an:
|
||
|
||
Out of memory.
|
||
Segmentation Fault
|
||
|
||
error on even small files.
|
||
|
||
At bootup I show 3647 free blocks on the root hd device and 3145728 free
|
||
bytes of mem.
|
||
|
||
The cu from Will Rose's UUCP 1.2 package also fails with the above error
|
||
even though I now have it compiling and linking with only some incompatible
|
||
pointer type warnings, some unused variable warnings, and some implicit
|
||
function declaration warnings.
|
||
|
||
Can anyone shed some light as to what could be causing the above errors?
|
||
--
|
||
Mike Dobson, Sys Admin for | Internet: rdc30@nmrdc1.nmrdc.nnmc.navy.mil
|
||
nmrdc1.nmrdc.nnmc.navy.mil | UUCP: ...uunet!mimsy!nmrdc1!rdc30
|
||
AT&T 3B2/600G Sys V R 3.2.2 | BITNET: dobson@usuhsb or nrd0mxd@vmnmdsc
|
||
WIN/TCP for 3B2 | MCI-Mail: 377-2719 or 0003772719@mcimail.com
|
||
--[0174]--
|
||
|
||
[0175] daemon@ATHENA.MIT.EDU (d7stfax@dtek.chalmers.se) Linux_Activists 12/10/91 12:56 (29 lines)
|
||
Subject: IDE partitions larger than 65536?
|
||
From: d7stfax@dtek.chalmers.se
|
||
To: linux-activists@joker.cs.hut.fi (The Linux mailing list)
|
||
Date: Tue, 10 Dec 91 18:45:55 MET
|
||
|
||
I've finally come around to get Linux home (I've had other things to
|
||
do, and thought I'd wait till the 0.11 release anyway.), and
|
||
everything worked like a charm, until I tried the 'mkfs' it wouldn't
|
||
run, but stopped with a USAGE:! To make a long story short, I've now
|
||
found out that it was due to me wanting to use my entire 105 Meg hard
|
||
disk as one partition, mkfs won't allocate more than 65536 blocks.
|
||
|
||
My question is now simply, should I repartition my hard disk to two
|
||
partitions, or can I easily change the 16 bit block number limit (e.g.
|
||
DEFINE, and recompile)? I strongly suspect the former, but since I
|
||
haven't begun to read the sources yet I'm not 100% sure.
|
||
|
||
If it's repartition time could some kind soul point me to a good
|
||
(DOS?) program that does that? DOS fdisk doesn't seem up to it,
|
||
especially since the disk had only one 105 Meg Interactive Unix
|
||
partition on it. My setup is: 386-25, IDE Plus co. 105 Meg hard disk,
|
||
10 Meg memory, VGA controler.
|
||
|
||
I'm no MSDOS junkie, but I asked the ones here, and the above is as
|
||
far as I got.
|
||
|
||
Regards,
|
||
--
|
||
Stefan Axelsson, Chalmers University of Technology,
|
||
d7stfax@dtek.chalmers.se Sweden
|
||
--[0175]--
|
||
|
||
[0176] daemon@ATHENA.MIT.EDU (Michael K. Johnson) Linux_Activists 12/10/91 13:28 (17 lines)
|
||
Subject: DTC SCSI controllers
|
||
Date: Tue, 10 Dec 91 12:17:07 CST
|
||
From: johnsonm@stolaf.edu (Michael K. Johnson)
|
||
To: Linux-activists@joker.cs.hut.fi
|
||
|
||
|
||
I have a DTC SCSI controller, and would be willing to (as I become a bit
|
||
more proficient) write the low-level driver for it. However, there is
|
||
a catch -- I will almost assuredly, due to my schedule, not be able to
|
||
start till february or so. Sooooo, if anyone else wants to pick this
|
||
up, feel free:-)
|
||
|
||
If anyone needs to talk to them, I have voice and BBS numbers for their
|
||
tech support.
|
||
|
||
michaelkjohnson
|
||
johnsonm@stolaf.edu
|
||
I do not do .sig's
|
||
--[0176]--
|
||
|
||
[0177] daemon@ATHENA.MIT.EDU (Patrick L. McGillan) Linux_Activists 12/10/91 15:50 (14 lines)
|
||
Subject: printing
|
||
From: Patrick L. McGillan <pmcgilla@hp.uwsuper.edu>
|
||
To: linux-activists@joker.cs.hut.fi (Linux User Group)
|
||
Date: Tue, 10 Dec 91 14:36:28 CST
|
||
|
||
Hi,
|
||
Am I missing something or does linux have no way of printing something out.
|
||
I.E. how do others obtain print outs of their work.
|
||
|
||
--
|
||
Patrick L. McGillan
|
||
Computer Systems Specialist
|
||
University Of Wisconsin Ph: (715) 394-8191
|
||
Superior, Wisconsin pmcgilla@uwsuper.edu
|
||
|
||
--[0177]--
|
||
|
||
[0178] daemon@ATHENA.MIT.EDU (David Darknell) Linux_Activists 12/10/91 16:19 (11 lines)
|
||
Subject: Re: Linux and SCSI (was: hd_reset fails in 0.11)
|
||
Date: Tue, 10 Dec 91 13:04:50 PST
|
||
From: David Darknell <david@maxwell.ucsc.edu>
|
||
To: Linux-activists@joker.cs.hut.fi, drew@hazelrah.cs.colorado.edu,
|
||
|
||
YES! I am trying to write a driver for a FastCache High performance
|
||
SCSI controller (I used to have a ST-01/02) but I am in a catch 22:
|
||
I cannot run Linux on the drive without a driver, but cannot write the
|
||
driver without Linux. So here is my plan: Install MFM controller and
|
||
40Meg drive long enough to write the SCSI driver, then dump it. I
|
||
would
|
||
be happy to get anything you have that might make my job easier!
|
||
--[0178]--
|
||
|
||
[0179] daemon@ATHENA.MIT.EDU (LCDR Michael E. Dobson) Linux_Activists 12/10/91 16:31 (39 lines)
|
||
Subject: More Seg Fault troubles
|
||
From: "LCDR Michael E. Dobson" <rdc30@nmrdc1.nmrdc.nnmc.navy.mil>
|
||
To: torvalds@kruuna.helsinki.fi (Linus Torvalds)
|
||
Date: Tue, 10 Dec 91 16:05:11 EST
|
||
Cc: linux-activists@joker.cs.hut.fi (Linux Mailing List)
|
||
|
||
Linus,
|
||
|
||
I've found another set of conditions where I can reproducibly generate the
|
||
out of memory
|
||
Segmentation fault
|
||
|
||
messages using a simple command.
|
||
|
||
Environment:
|
||
|
||
drwxr-xr-x root sys /usr/spool
|
||
drwxr-xr-x uucp uucp /usr/spool/uucp
|
||
|
||
ls -l /usr/spool
|
||
|
||
from anywhere but within /usr/spool generates :
|
||
|
||
/usr/spool
|
||
total 1
|
||
out of memory
|
||
Segmentation fault
|
||
|
||
a plain ls /usr/spool generates:
|
||
uucp
|
||
|
||
with no errors
|
||
|
||
looks possibly like a EPERM problem during the stat of the directory.
|
||
|
||
--
|
||
Mike Dobson, Sys Admin for | Internet: rdc30@nmrdc1.nmrdc.nnmc.navy.mil
|
||
nmrdc1.nmrdc.nnmc.navy.mil | UUCP: ...uunet!mimsy!nmrdc1!rdc30
|
||
AT&T 3B2/600G Sys V R 3.2.2 | BITNET: dobson@usuhsb or nrd0mxd@vmnmdsc
|
||
WIN/TCP for 3B2 | MCI-Mail: 377-2719 or 0003772719@mcimail.com
|
||
--[0179]--
|
||
|
||
[0180] daemon@ATHENA.MIT.EDU (Marc Peters) Linux_Activists 12/10/91 16:33 (35 lines)
|
||
Subject: Serial Communications...
|
||
Date: Tue, 10 Dec 91 13:22:00 -0800
|
||
From: mpeters@polyslo.csc.calpoly.edu (Marc Peters)
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
|
||
I may have missed this discussion, but is anyone else having a problem with
|
||
modem communications? It seems that the serial communication is sending 16 bit
|
||
words rather than 8 bit characters (ie. it sends two characters at a time).
|
||
This works great if the command you send is of odd character length so when
|
||
you hit a carriage return it makes it even, but when you have an even length
|
||
command, you must hit return followed by say a <space> to have the return sent.
|
||
This happens in both V 0.10 and V 0.11 in both Kermit and Term.
|
||
|
||
Note: It happens when sending the "at" string to the modem as well as when the
|
||
modem is connected.
|
||
|
||
Also, I was able to fix the HD not ready error by changing the length of the
|
||
null loop in the hd_ready function (in hd.c) to 30,000. Changing the length
|
||
of the controller reset function didn't accomplish anything more than delaying
|
||
the time it took before it printed the error. I still get the controller reset
|
||
error but it isn't fatal so things keep moving. I have a 386DX-33 with a MFM
|
||
hard drive. The drive is pretty old so it is a little slow (which may be the
|
||
problem). I did try V 0.11 on a 386DX-25 that has a faster IDE controller
|
||
drive in it and it doesn't get the fatal error with the drive ready loop set
|
||
to 10,000. It still get the controller reset error though.
|
||
|
||
The last question I have is how do I change the source code to compile the
|
||
kernel to boot from Major 0 minor 0 rather than Major 3 minor 6? I tried
|
||
changing the defaults in build.c and changed bootsect.s to have 000 instead
|
||
for the root device (should give the floppy). However, when I compile the
|
||
kernel, the build program consistently uses (3, 6). What am I missing?
|
||
|
||
Marc Peters
|
||
mpeters@polyslo.calpoly.edu
|
||
|
||
--[0180]--
|
||
|
||
[0181] daemon@ATHENA.MIT.EDU (LCDR Michael E. Dobson) Linux_Activists 12/11/91 12:36 (42 lines)
|
||
Subject: Re: More Seg Fault troubles
|
||
From: "LCDR Michael E. Dobson" <rdc30@nmrdc1.nmrdc.nnmc.navy.mil>
|
||
To: torvalds@cc.helsinki.fi (Linus Benedict Torvalds)
|
||
Date: Wed, 11 Dec 91 12:02:13 EST
|
||
Cc: linux-activists@joker.cs.hut.fi (Linux Mailing List)
|
||
In-Reply-To: <199112102246.AA07956@kruuna.helsinki.fi>; from "Linus Benedict Torvalds" at Dec 11, 91 12:46 am
|
||
|
||
Linus,
|
||
|
||
I've done some more investigating and can give you detailed info that
|
||
should reproduce the bug on your system.
|
||
|
||
Entry from /etc/passwd that causes problem
|
||
|
||
uucp::5:5:/usr/lib/uucp **NOTE NO ":" on end of entry***
|
||
|
||
ls -l /usr/spool
|
||
|
||
drwxr-xr-x uucp uucp 48 11 DEc 10:53 uucp
|
||
|
||
/usr/spool
|
||
total 1
|
||
out of memory
|
||
Segmentation fault
|
||
|
||
ls -lR /usr/spool is ok!
|
||
|
||
cd /usr/spool
|
||
|
||
ls -l is ok!
|
||
|
||
Now for the interesting part:
|
||
|
||
adding ":" to end of uucp entry in /etc/passwd cures problem!!
|
||
|
||
So, you know the code involved, bug or "feature"?
|
||
|
||
|
||
--
|
||
Mike Dobson, Sys Admin for | Internet: rdc30@nmrdc1.nmrdc.nnmc.navy.mil
|
||
nmrdc1.nmrdc.nnmc.navy.mil | UUCP: ...uunet!mimsy!nmrdc1!rdc30
|
||
AT&T 3B2/600G Sys V R 3.2.2 | BITNET: dobson@usuhsb or nrd0mxd@vmnmdsc
|
||
WIN/TCP for 3B2 | MCI-Mail: 377-2719 or 0003772719@mcimail.com
|
||
--[0181]--
|
||
|
||
[0182] daemon@ATHENA.MIT.EDU (drew@anchor.cs.colorado.edu) Linux_Activists 12/11/91 18:57 (359 lines)
|
||
Subject: Re: Linux and SCSI
|
||
To: Linux-activists@joker.cs.hut.fi,
|
||
Cc: drew@anchor.cs.colorado.edu
|
||
Date: Wed, 11 Dec 91 16:41:04 MST
|
||
From: drew@anchor.cs.colorado.edu
|
||
|
||
--------
|
||
|
||
>
|
||
> Date: Tue, 10 Dec 91 12:13:59 CST
|
||
> To: drew@hazelrah.cs.Colorado.EDU
|
||
> From: johnsonm@stolaf.edu (Michael K. Johnson)
|
||
> Subject: Re: Linux and SCSI (was: hd_reset fails in 0.11)
|
||
>
|
||
>
|
||
> Return-Path: johnsonm@stolaf.edu
|
||
> Status: RO
|
||
>
|
||
> --------------------------------------------------------------------
|
||
> I am just learning unix systems programming with linux, but I have
|
||
> a SCSI hard drive and a DTC adapter, and would be very willing to
|
||
> write the device dependent stuff for it when I get to that ability
|
||
> level if no one else has done it be then. I will be taking an OS
|
||
> class next semester (starting february) so I could even use this
|
||
> as a project. So although I can't do this right now, I would like
|
||
> it if you could put me on your list to get the information, which
|
||
> I can save and then hopefully work on when I am able.
|
||
>
|
||
> Thanks a lot!
|
||
>
|
||
> michaelkjohnson
|
||
>
|
||
> Date: Tue, 10 Dec 91 12:17:07 CST
|
||
> To: Linux-activists@joker.cs.hut.fi
|
||
> From: johnsonm@stolaf.edu (Michael K. Johnson)
|
||
> Subject: DTC SCSI controllers
|
||
>
|
||
>
|
||
> Return-Path: johnsonm@stolaf.edu
|
||
> Status: RO
|
||
>
|
||
> --------------------------------------------------------------------
|
||
>
|
||
> I have a DTC SCSI controller, and would be willing to (as I become a bit
|
||
> more proficient) write the low-level driver for it. However, there is
|
||
> a catch -- I will almost assuredly, due to my schedule, not be able to
|
||
> start till february or so. Sooooo, if anyone else wants to pick this
|
||
> up, feel free:-)
|
||
>
|
||
> If anyone needs to talk to them, I have voice and BBS numbers for their
|
||
> tech support.
|
||
>
|
||
> michaelkjohnson
|
||
> johnsonm@stolaf.edu
|
||
> I do not do .sig's
|
||
>
|
||
>
|
||
>
|
||
>
|
||
> Date: Tue, 10 Dec 91 13:04:50 PST
|
||
> To: Linux-activists@joker.cs.hut.fi, drew@hazelrah.cs.Colorado.EDU,
|
||
> kronvold@sumter.cso.uiuc.edu
|
||
> From: David Darknell <david@maxwell.ucsc.edu>
|
||
> Subject: Re: Linux and SCSI (was: hd_reset fails in 0.11)
|
||
>
|
||
>
|
||
> Return-Path: david@maxwell.UCSC.EDU
|
||
> Status: RO
|
||
>
|
||
> --------------------------------------------------------------------
|
||
> YES! I am trying to write a driver for a FastCache High performance
|
||
> SCSI controller (I used to have a ST-01/02) but I am in a catch 22:
|
||
> I cannot run Linux on the drive without a driver, but cannot write the
|
||
> driver without Linux. So here is my plan: Install MFM controller and
|
||
> 40Meg drive long enough to write the SCSI driver, then dump it. I
|
||
> would
|
||
> be happy to get anything you have that might make my job easier!
|
||
|
||
--------
|
||
|
||
You don't have to compile Linux under Linux.
|
||
|
||
Another possibility is cross compiling. If you have access to another
|
||
little endian machine <The DEC-MIPS architecture fits this bill>, LSB
|
||
first, cross compiling is as easy as doing a make gcc with target machine
|
||
set to some tm-i386 file.
|
||
|
||
Depending on how the host system is set up, you may be able to use the
|
||
native ld / ar - and even if not, it is no problem to compile the
|
||
gnu binutils and have gcc/gas use them.
|
||
|
||
Anyways, here's my hosts.h file, the generic interface to the lowlevel
|
||
host specific drivers. There isn't much too it - the point here was
|
||
to keep things SIMPLE, flexible, and 100% self configuring so we aren't
|
||
recompiling just to get SCSI support.
|
||
|
||
This is pretty firm - I have one idea I may / may not want to implement
|
||
that I'll talk about in the end.
|
||
|
||
-- cut here - hosts.h --
|
||
|
||
#ifndef __HOST_H__
|
||
#define __HOSTS_H__
|
||
|
||
/*
|
||
File hosts.h
|
||
SCSI host adapter include file.
|
||
*/
|
||
|
||
#define MAX_SCSI_HOSTS 1
|
||
|
||
/*
|
||
The Scsi_Host type has all that is needed to interface with a SCSI
|
||
host in a device independant matter.
|
||
*/
|
||
|
||
typedef struct
|
||
{
|
||
/*
|
||
The name pointer is a pointer to the name of the SCSI
|
||
device detected.
|
||
*/
|
||
|
||
char *name;
|
||
|
||
/*
|
||
The detect function shall return non zero on detection,
|
||
and initialize all data necessary for this particular
|
||
SCSI driver.
|
||
*/
|
||
|
||
int (* detect)(void);
|
||
|
||
/*
|
||
The info function will return whatever useful
|
||
information the developer sees fit.
|
||
*/
|
||
|
||
char * (* info)(void);
|
||
|
||
/*
|
||
The command function shall return the SCSI return
|
||
code in the low 8 bits, a driver error in the high 8
|
||
bits. Target is the target ID, IN normal numbers - not a
|
||
bit. The cmnd is the variable length command to
|
||
be sent,
|
||
buff a pointer to the buffer which will be read from /
|
||
written to, and bufflen the length of that buffer
|
||
*/
|
||
|
||
int (* command)(unsigned char target, const void *cmnd,
|
||
void *buff, int bufflen);
|
||
|
||
/*
|
||
present contains a flag as to weather we are present -
|
||
so we don't have to call detect multiple times.
|
||
*/
|
||
|
||
unsigned char present;
|
||
} Scsi_Host;
|
||
|
||
/*
|
||
The scsi_hosts array is the array containing the data for all
|
||
possible <supported> scsi hosts.
|
||
*/
|
||
|
||
extern Scsi_Host scsi_hosts[MAX_SCSI_HOSTS];
|
||
|
||
/*
|
||
scsi_init initializes the scsi hosts.
|
||
*/
|
||
|
||
void scsi_init(void);
|
||
#endif
|
||
|
||
|
||
-- end --
|
||
|
||
And, for our return codes, useful SCSI stuff, etc, we have
|
||
scsi.h
|
||
|
||
-- scsi.h cut here --
|
||
|
||
#ifndef __SCSI_H__
|
||
#define __SCSI_H__
|
||
/*
|
||
For documentation on the OPCODES, MESSAGES, and SENSE values,
|
||
please consult the SCSI standard.
|
||
*/
|
||
|
||
/*
|
||
SCSI opcodes
|
||
*/
|
||
|
||
#define TEST_UNIT_READY 0x00
|
||
#define REZERO_UNIT 0x01
|
||
#define REQUEST_SENSE 0x03
|
||
#define FORMAT_UNIT 0x04
|
||
#define REASSIGN_BLOCKS 0x07
|
||
#define READ_6 0x08
|
||
#define WRITE_6 0x0a
|
||
#define SEEK 0x0b
|
||
#define INQUIRY 0x12
|
||
#define MODE_SELECT 0x15
|
||
#define RESERVE 0x16
|
||
#define RELEASE 0x17
|
||
#define COPY 0x18
|
||
#define MODE_SENSE 0x1a
|
||
#define START_STOP 0x1b
|
||
#define RECIEVE_DAIGNOSTIC 0x1c
|
||
#define SEND_DIAGNOSTIC 0x1d
|
||
#define ALLOW_MEDIUM_REMOVAL 0x1e
|
||
|
||
#define READ_CAPACITY 0x25
|
||
#define READ_10 0x28
|
||
#define WRITE_10 0x2a
|
||
#define SEEK_10 0x2b
|
||
#define WRITE_VERIFY 0x2e
|
||
#define VERIFY 0x2f
|
||
#define SEARCH_HIGH 0x30
|
||
#define SEARCH_EQUAL 0x31
|
||
#define SEARCH_LOW 0x32
|
||
#define SET_LIMITS 0x33
|
||
#define COMPARE 0x39
|
||
#define COPY_VERIFY 0x3a
|
||
|
||
/*
|
||
MESSAGE CODES
|
||
*/
|
||
|
||
#define COMMAND_COMPLETE 0x00
|
||
#define EXTENDED_MESSAGE 0x01
|
||
#define SAVE_POINTERS 0x02
|
||
#define RESTORE_POINTERS 0x03
|
||
#define DISCONNECT 0x04
|
||
#define INITIATOR_ERROR 0x05
|
||
#define ABORT 0x06
|
||
#define MESAGE_REJECT 0x07
|
||
#define NOP 0x08
|
||
#define MSG_PARITY_ERROR 0x09
|
||
#define LINKED_CMD_COMPLETE 0x0a
|
||
#define LINKED_FLG_CMD_COMPLETE 0x0b
|
||
#define BUS_DEVICE_RESET 0x0c
|
||
#define IDENTIFY 0x80
|
||
|
||
/*
|
||
Our errors returned by OUR driver, NOT SCSI message. Orr'd with
|
||
SCSI message passed back to driver <IF any>.
|
||
*/
|
||
|
||
/* NO error */
|
||
#define DID_OK 0x0000
|
||
/* Couldn't connect before timeout period */
|
||
#define DID_NO_CONNECT 0x0100
|
||
/* BUS stayed busy through time out period */
|
||
#define DID_BUS_BUSY 0x0200
|
||
/* TIMED OUT for other reason */
|
||
#define DID_TIME_OUT 0x0300
|
||
/* ERROR from TARGET */
|
||
#define DID_TERROR 0x0400
|
||
/* TARGET was busy */
|
||
#define DID_TBUSY 0x0500
|
||
/* TARGET disconnected prematurely */
|
||
#define DID_TDISCONNECT 0x0600
|
||
/* TARGET was off line */
|
||
#define DID_TOFFLINE 0x0700
|
||
/* TARGET wants US to send IT a message */
|
||
#defibe DID_TREQ_MSG_OUT 0x0800
|
||
/* TARGET parity error */
|
||
#define DID_TPARITY 0x0900
|
||
/* TARGET requested reselect */
|
||
#define DID_TRESELECT 0x0A00
|
||
/* TARGET was not in the range 0-6 inlclusive */
|
||
#define DID_BAD_TARGET 0x0B00
|
||
|
||
/*
|
||
SENSE KEYS
|
||
*/
|
||
|
||
#define NO_SENSE 0x00
|
||
#define RECOVERED_ERROR 0x01
|
||
#define NOT_READY 0x02
|
||
#define MEDIUM_ERROR 0x03
|
||
#define HARDWARE_ERROR 0x04
|
||
#define ILLEGAL_REQUEST 0x05
|
||
#define UNIT_ATTENTION 0x06
|
||
#define DATA_PROTECT 0x07
|
||
#define BLANK_CHECK 0x08
|
||
#define COPY_ABORTED 0x0a
|
||
#define ABORTED_COMMAND 0x0b
|
||
#define VOLUME_OVERFLOW 0x0d
|
||
#define MISCOMPARE 0x0e
|
||
|
||
|
||
/*
|
||
DEVICE TYPES
|
||
|
||
*/
|
||
|
||
#define TYPE_DISK 0x00
|
||
#define TYPE_TAPE 0x01
|
||
#define TYPE_WORM 0x04 /* Treated as ROM by our system */
|
||
#define TYPE_ROM 0x05
|
||
#define TYPE_NO_LUN 0x7f
|
||
/*
|
||
Every SCSI command starts with a one byte OP-code.
|
||
The next byte's high three bits are the LUN of the
|
||
device. Any multi-byte quantities are stored high byte
|
||
first, and may have a 5 bit MSB in the same byte
|
||
as the LUN.
|
||
*/
|
||
|
||
|
||
#endif
|
||
|
||
-- end --
|
||
|
||
I'll divert work from the low level routines <real pain> to the high &
|
||
mid level routines to have something to pass around for when people start
|
||
getting other low level drivers done.
|
||
|
||
I *REALLY* like the above interface in terms of meeting the design
|
||
criteria of simplicity, independance of the host-specific code,
|
||
and the ability for the routines to configure automatically.
|
||
The finaly interface will be almost identical to what is there now.
|
||
|
||
|
||
However, it might also be nice to be able to queue commands for use
|
||
with interrupt driven SCSI hosts that can function without the
|
||
computer controlling everything-
|
||
|
||
We may want to add a que_command call that will add a command to an internal
|
||
queue in the host specific driver. This would be something like the
|
||
command function, only it would also take a pointer to a routine
|
||
that was called on completion, like
|
||
|
||
int (*queue_command)(unsigned char target, const void *cmd,
|
||
void *buff, int bufflen, void (*complete)(int host,
|
||
int serial_no, int cmd_return));
|
||
|
||
Where it returns the serial number of the queued command, and calls the
|
||
complete function on termination <this would be called from an interrupt
|
||
service routine> with the SCSI message / return code , host # <from array>
|
||
and serial number of the command that terminated.
|
||
|
||
|
||
Other solicitations for opinions
|
||
|
||
1. Other peoples opinions on when to remap
|
||
2. What we want to do about sector sizes that are not 512 bytes
|
||
3. Currently, I use only 10 byte read/writes in my disk / tape drivers.
|
||
The rationale behind this is that 10 byte commands fall in the
|
||
same compliance level as INQUIRY and READ CAPACITY commmands,
|
||
and presumably a drive would have all.
|
||
|
||
Is this a valid ssumption? Does anybody see a reason for
|
||
me to bloat the code and check for 10 byte commmand failure,
|
||
and implement the 6 byte read/write if so?
|
||
|
||
|
||
--[0182]--
|
||
|
||
[0183] daemon@ATHENA.MIT.EDU (drew@anchor.cs.colorado.edu) Linux_Activists 12/11/91 19:39 (359 lines)
|
||
Subject: Re: Linux and SCSI
|
||
To: Linux-activists@joker.cs.hut.fi,
|
||
Cc: drew@anchor.cs.colorado.edu
|
||
Date: Wed, 11 Dec 91 17:17:25 MST
|
||
From: drew@anchor.cs.colorado.edu
|
||
|
||
--------
|
||
|
||
>
|
||
> Date: Tue, 10 Dec 91 12:13:59 CST
|
||
> To: drew@hazelrah.cs.Colorado.EDU
|
||
> From: johnsonm@stolaf.edu (Michael K. Johnson)
|
||
> Subject: Re: Linux and SCSI (was: hd_reset fails in 0.11)
|
||
>
|
||
>
|
||
> Return-Path: johnsonm@stolaf.edu
|
||
> Status: RO
|
||
>
|
||
> --------------------------------------------------------------------
|
||
> I am just learning unix systems programming with linux, but I have
|
||
> a SCSI hard drive and a DTC adapter, and would be very willing to
|
||
> write the device dependent stuff for it when I get to that ability
|
||
> level if no one else has done it be then. I will be taking an OS
|
||
> class next semester (starting february) so I could even use this
|
||
> as a project. So although I can't do this right now, I would like
|
||
> it if you could put me on your list to get the information, which
|
||
> I can save and then hopefully work on when I am able.
|
||
>
|
||
> Thanks a lot!
|
||
>
|
||
> michaelkjohnson
|
||
>
|
||
> Date: Tue, 10 Dec 91 12:17:07 CST
|
||
> To: Linux-activists@joker.cs.hut.fi
|
||
> From: johnsonm@stolaf.edu (Michael K. Johnson)
|
||
> Subject: DTC SCSI controllers
|
||
>
|
||
>
|
||
> Return-Path: johnsonm@stolaf.edu
|
||
> Status: RO
|
||
>
|
||
> --------------------------------------------------------------------
|
||
>
|
||
> I have a DTC SCSI controller, and would be willing to (as I become a bit
|
||
> more proficient) write the low-level driver for it. However, there is
|
||
> a catch -- I will almost assuredly, due to my schedule, not be able to
|
||
> start till february or so. Sooooo, if anyone else wants to pick this
|
||
> up, feel free:-)
|
||
>
|
||
> If anyone needs to talk to them, I have voice and BBS numbers for their
|
||
> tech support.
|
||
>
|
||
> michaelkjohnson
|
||
> johnsonm@stolaf.edu
|
||
> I do not do .sig's
|
||
>
|
||
>
|
||
>
|
||
>
|
||
> Date: Tue, 10 Dec 91 13:04:50 PST
|
||
> To: Linux-activists@joker.cs.hut.fi, drew@hazelrah.cs.Colorado.EDU,
|
||
> kronvold@sumter.cso.uiuc.edu
|
||
> From: David Darknell <david@maxwell.ucsc.edu>
|
||
> Subject: Re: Linux and SCSI (was: hd_reset fails in 0.11)
|
||
>
|
||
>
|
||
> Return-Path: david@maxwell.UCSC.EDU
|
||
> Status: RO
|
||
>
|
||
> --------------------------------------------------------------------
|
||
> YES! I am trying to write a driver for a FastCache High performance
|
||
> SCSI controller (I used to have a ST-01/02) but I am in a catch 22:
|
||
> I cannot run Linux on the drive without a driver, but cannot write the
|
||
> driver without Linux. So here is my plan: Install MFM controller and
|
||
> 40Meg drive long enough to write the SCSI driver, then dump it. I
|
||
> would
|
||
> be happy to get anything you have that might make my job easier!
|
||
|
||
--------
|
||
|
||
You don't have to compile Linux under Linux.
|
||
|
||
Another possibility is cross compiling. If you have access to another
|
||
little endian machine <The DEC-MIPS architecture fits this bill>, LSB
|
||
first, cross compiling is as easy as doing a make gcc with target machine
|
||
set to some tm-i386 file.
|
||
|
||
Depending on how the host system is set up, you may be able to use the
|
||
native ld / ar - and even if not, it is no problem to compile the
|
||
gnu binutils and have gcc/gas use them.
|
||
|
||
Anyways, here's my hosts.h file, the generic interface to the lowlevel
|
||
host specific drivers. There isn't much too it - the point here was
|
||
to keep things SIMPLE, flexible, and 100% self configuring so we aren't
|
||
recompiling just to get SCSI support.
|
||
|
||
This is pretty firm - I have one idea I may / may not want to implement
|
||
that I'll talk about in the end.
|
||
|
||
-- cut here - hosts.h --
|
||
|
||
#ifndef __HOST_H__
|
||
#define __HOSTS_H__
|
||
|
||
/*
|
||
File hosts.h
|
||
SCSI host adapter include file.
|
||
*/
|
||
|
||
#define MAX_SCSI_HOSTS 1
|
||
|
||
/*
|
||
The Scsi_Host type has all that is needed to interface with a SCSI
|
||
host in a device independant matter.
|
||
*/
|
||
|
||
typedef struct
|
||
{
|
||
/*
|
||
The name pointer is a pointer to the name of the SCSI
|
||
device detected.
|
||
*/
|
||
|
||
char *name;
|
||
|
||
/*
|
||
The detect function shall return non zero on detection,
|
||
and initialize all data necessary for this particular
|
||
SCSI driver.
|
||
*/
|
||
|
||
int (* detect)(void);
|
||
|
||
/*
|
||
The info function will return whatever useful
|
||
information the developer sees fit.
|
||
*/
|
||
|
||
char * (* info)(void);
|
||
|
||
/*
|
||
The command function shall return the SCSI return
|
||
code in the low 8 bits, a driver error in the high 8
|
||
bits. Target is the target ID, IN normal numbers - not a
|
||
bit. The cmnd is the variable length command to
|
||
be sent,
|
||
buff a pointer to the buffer which will be read from /
|
||
written to, and bufflen the length of that buffer
|
||
*/
|
||
|
||
int (* command)(unsigned char target, const void *cmnd,
|
||
void *buff, int bufflen);
|
||
|
||
/*
|
||
present contains a flag as to weather we are present -
|
||
so we don't have to call detect multiple times.
|
||
*/
|
||
|
||
unsigned char present;
|
||
} Scsi_Host;
|
||
|
||
/*
|
||
The scsi_hosts array is the array containing the data for all
|
||
possible <supported> scsi hosts.
|
||
*/
|
||
|
||
extern Scsi_Host scsi_hosts[MAX_SCSI_HOSTS];
|
||
|
||
/*
|
||
scsi_init initializes the scsi hosts.
|
||
*/
|
||
|
||
void scsi_init(void);
|
||
#endif
|
||
|
||
|
||
-- end --
|
||
|
||
And, for our return codes, useful SCSI stuff, etc, we have
|
||
scsi.h
|
||
|
||
-- scsi.h cut here --
|
||
|
||
#ifndef __SCSI_H__
|
||
#define __SCSI_H__
|
||
/*
|
||
For documentation on the OPCODES, MESSAGES, and SENSE values,
|
||
please consult the SCSI standard.
|
||
*/
|
||
|
||
/*
|
||
SCSI opcodes
|
||
*/
|
||
|
||
#define TEST_UNIT_READY 0x00
|
||
#define REZERO_UNIT 0x01
|
||
#define REQUEST_SENSE 0x03
|
||
#define FORMAT_UNIT 0x04
|
||
#define REASSIGN_BLOCKS 0x07
|
||
#define READ_6 0x08
|
||
#define WRITE_6 0x0a
|
||
#define SEEK 0x0b
|
||
#define INQUIRY 0x12
|
||
#define MODE_SELECT 0x15
|
||
#define RESERVE 0x16
|
||
#define RELEASE 0x17
|
||
#define COPY 0x18
|
||
#define MODE_SENSE 0x1a
|
||
#define START_STOP 0x1b
|
||
#define RECIEVE_DAIGNOSTIC 0x1c
|
||
#define SEND_DIAGNOSTIC 0x1d
|
||
#define ALLOW_MEDIUM_REMOVAL 0x1e
|
||
|
||
#define READ_CAPACITY 0x25
|
||
#define READ_10 0x28
|
||
#define WRITE_10 0x2a
|
||
#define SEEK_10 0x2b
|
||
#define WRITE_VERIFY 0x2e
|
||
#define VERIFY 0x2f
|
||
#define SEARCH_HIGH 0x30
|
||
#define SEARCH_EQUAL 0x31
|
||
#define SEARCH_LOW 0x32
|
||
#define SET_LIMITS 0x33
|
||
#define COMPARE 0x39
|
||
#define COPY_VERIFY 0x3a
|
||
|
||
/*
|
||
MESSAGE CODES
|
||
*/
|
||
|
||
#define COMMAND_COMPLETE 0x00
|
||
#define EXTENDED_MESSAGE 0x01
|
||
#define SAVE_POINTERS 0x02
|
||
#define RESTORE_POINTERS 0x03
|
||
#define DISCONNECT 0x04
|
||
#define INITIATOR_ERROR 0x05
|
||
#define ABORT 0x06
|
||
#define MESAGE_REJECT 0x07
|
||
#define NOP 0x08
|
||
#define MSG_PARITY_ERROR 0x09
|
||
#define LINKED_CMD_COMPLETE 0x0a
|
||
#define LINKED_FLG_CMD_COMPLETE 0x0b
|
||
#define BUS_DEVICE_RESET 0x0c
|
||
#define IDENTIFY 0x80
|
||
|
||
/*
|
||
Our errors returned by OUR driver, NOT SCSI message. Orr'd with
|
||
SCSI message passed back to driver <IF any>.
|
||
*/
|
||
|
||
/* NO error */
|
||
#define DID_OK 0x0000
|
||
/* Couldn't connect before timeout period */
|
||
#define DID_NO_CONNECT 0x0100
|
||
/* BUS stayed busy through time out period */
|
||
#define DID_BUS_BUSY 0x0200
|
||
/* TIMED OUT for other reason */
|
||
#define DID_TIME_OUT 0x0300
|
||
/* ERROR from TARGET */
|
||
#define DID_TERROR 0x0400
|
||
/* TARGET was busy */
|
||
#define DID_TBUSY 0x0500
|
||
/* TARGET disconnected prematurely */
|
||
#define DID_TDISCONNECT 0x0600
|
||
/* TARGET was off line */
|
||
#define DID_TOFFLINE 0x0700
|
||
/* TARGET wants US to send IT a message */
|
||
#defibe DID_TREQ_MSG_OUT 0x0800
|
||
/* TARGET parity error */
|
||
#define DID_TPARITY 0x0900
|
||
/* TARGET requested reselect */
|
||
#define DID_TRESELECT 0x0A00
|
||
/* TARGET was not in the range 0-6 inlclusive */
|
||
#define DID_BAD_TARGET 0x0B00
|
||
|
||
/*
|
||
SENSE KEYS
|
||
*/
|
||
|
||
#define NO_SENSE 0x00
|
||
#define RECOVERED_ERROR 0x01
|
||
#define NOT_READY 0x02
|
||
#define MEDIUM_ERROR 0x03
|
||
#define HARDWARE_ERROR 0x04
|
||
#define ILLEGAL_REQUEST 0x05
|
||
#define UNIT_ATTENTION 0x06
|
||
#define DATA_PROTECT 0x07
|
||
#define BLANK_CHECK 0x08
|
||
#define COPY_ABORTED 0x0a
|
||
#define ABORTED_COMMAND 0x0b
|
||
#define VOLUME_OVERFLOW 0x0d
|
||
#define MISCOMPARE 0x0e
|
||
|
||
|
||
/*
|
||
DEVICE TYPES
|
||
|
||
*/
|
||
|
||
#define TYPE_DISK 0x00
|
||
#define TYPE_TAPE 0x01
|
||
#define TYPE_WORM 0x04 /* Treated as ROM by our system */
|
||
#define TYPE_ROM 0x05
|
||
#define TYPE_NO_LUN 0x7f
|
||
/*
|
||
Every SCSI command starts with a one byte OP-code.
|
||
The next byte's high three bits are the LUN of the
|
||
device. Any multi-byte quantities are stored high byte
|
||
first, and may have a 5 bit MSB in the same byte
|
||
as the LUN.
|
||
*/
|
||
|
||
|
||
#endif
|
||
|
||
-- end --
|
||
|
||
I'll divert work from the low level routines <real pain> to the high &
|
||
mid level routines to have something to pass around for when people start
|
||
getting other low level drivers done.
|
||
|
||
I *REALLY* like the above interface in terms of meeting the design
|
||
criteria of simplicity, independance of the host-specific code,
|
||
and the ability for the routines to configure automatically.
|
||
The finaly interface will be almost identical to what is there now.
|
||
|
||
|
||
However, it might also be nice to be able to queue commands for use
|
||
with interrupt driven SCSI hosts that can function without the
|
||
computer controlling everything-
|
||
|
||
We may want to add a que_command call that will add a command to an internal
|
||
queue in the host specific driver. This would be something like the
|
||
command function, only it would also take a pointer to a routine
|
||
that was called on completion, like
|
||
|
||
int (*queue_command)(unsigned char target, const void *cmd,
|
||
void *buff, int bufflen, void (*complete)(int host,
|
||
int serial_no, int cmd_return));
|
||
|
||
Where it returns the serial number of the queued command, and calls the
|
||
complete function on termination <this would be called from an interrupt
|
||
service routine> with the SCSI message / return code , host # <from array>
|
||
and serial number of the command that terminated.
|
||
|
||
|
||
Other solicitations for opinions
|
||
|
||
1. Other peoples opinions on when to remap
|
||
2. What we want to do about sector sizes that are not 512 bytes
|
||
3. Currently, I use only 10 byte read/writes in my disk / tape drivers.
|
||
The rationale behind this is that 10 byte commands fall in the
|
||
same compliance level as INQUIRY and READ CAPACITY commmands,
|
||
and presumably a drive would have all.
|
||
|
||
Is this a valid ssumption? Does anybody see a reason for
|
||
me to bloat the code and check for 10 byte commmand failure,
|
||
and implement the 6 byte read/write if so?
|
||
|
||
|
||
--[0183]--
|
||
|
||
[0184] daemon@ATHENA.MIT.EDU (John T Kohl) Linux_Activists 12/12/91 00:12 (10 lines)
|
||
Subject: GNU awk (binaries & sources)
|
||
Date: Wed, 11 Dec 91 21:07:17 PST
|
||
To: linux-activists@joker.cs.hut.fi
|
||
From: John T Kohl <jtkohl@cs.berkeley.edu>
|
||
Reply-To: jtkohl@cs.berkeley.edu
|
||
|
||
I've had Ted Ts'o put my port of GNU awk (2.11, I think it was...) onto
|
||
tsx-11.mit.edu, in ~ftp/pub/linux/binaries & ~ftp/pub/linux/ports (the
|
||
latter has diffs from the FSF distributed sources).
|
||
|
||
John
|
||
--[0184]--
|
||
|
||
[0185] daemon@ATHENA.MIT.EDU (Marc CORSINI) Linux_Activists 12/12/91 10:18 (8 lines)
|
||
Subject: find-1.2 (binaries only)
|
||
Date: Thu, 12 Dec 91 15:47:53 +0100
|
||
From: corsini@numero6.greco-prog.fr (Marc CORSINI)
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
|
||
The port of GNU find-1.2, is available on tsx-11.mit.edu in pub/linux/binaries
|
||
|
||
[mmc]
|
||
--[0185]--
|
||
|
||
[0186] daemon@ATHENA.MIT.EDU (Ari Lemmke) Linux_Activists 12/12/91 11:49 (40 lines)
|
||
Subject: find-1.2
|
||
Date: Thu, 12 Dec 1991 18:16:00 +0200
|
||
From: Ari Lemmke <arl@sauna.cs.hut.fi>
|
||
To: linux-activists@joker.cs.hut.fi
|
||
In-Reply-To: Marc CORSINI's message of Thu, 12 Dec 91 15:47:53 +0100 <9112121447.AA03130@numero6.greco-prog.fr>
|
||
|
||
|
||
> The port of GNU find-1.2, is available on tsx-11.mit.edu in
|
||
> pub/linux/binaries
|
||
|
||
Also available on nic.funet.fi:
|
||
|
||
/pub/OS/Linux/bin:
|
||
|
||
-rw-r--r-- 1 arl 51202 Dec 8 15:47 as86.tar.Z
|
||
-rw-r--r-- 1 arl 146964 Sep 17 17:24 bash.Z
|
||
-rw-r--r-- 1 arl 76265 Nov 17 04:01 bison.tar.Z
|
||
-rw-r--r-- 1 arl 90721 Nov 17 20:53 diffbin.tar.Z
|
||
-rw-r--r-- 1 arl 106429 Dec 12 03:56 find-1.2.tar.Z
|
||
-rw-r--r-- 1 arl 76925 Nov 17 04:08 flex.tar.Z
|
||
-rw-r--r-- 1 arl 7722 Dec 12 03:56 gawk-diffs
|
||
-rw-r--r-- 1 arl 68625 Dec 12 03:57 gawk.Z
|
||
-rw-r--r-- 1 arl 666231 Oct 2 14:49 gccbin.tar.Z
|
||
-rw-r--r-- 1 arl 87613 Nov 17 20:53 kermit.Z
|
||
-rw-r--r-- 1 arl 42737 Nov 20 07:31 less.Z
|
||
-rw-r--r-- 1 arl 262475 Dec 6 05:38 rcs.tar.Z
|
||
-rw-r--r-- 1 arl 91743 Dec 8 19:24 uemacs.Z
|
||
-rw-r--r-- 1 arl 930 Sep 17 17:24 update.Z
|
||
-rw-r--r-- 1 arl 898837 Oct 6 14:57 utilbin.tar.Z
|
||
|
||
/pub/OS/Linux/xtra:
|
||
|
||
-rw-r--r-- 1 arl 375 Nov 20 07:30 README.pmake
|
||
-rw-r--r-- 1 arl 6380 Nov 20 07:30 pm_supp.tar.Z
|
||
-rw-r--r-- 1 arl 72229 Nov 20 07:30 pmake.Z
|
||
|
||
/pub/OS/Linux/tools:
|
||
|
||
-rw-r--r-- 1 arl 16270 Nov 18 20:32 fsck.c
|
||
|
||
arl
|
||
--[0186]--
|
||
|
||
[0187] daemon@ATHENA.MIT.EDU (Theodore Ts'o) Linux_Activists 12/12/91 13:50 (31 lines)
|
||
Subject: Looking for alpha testers for job control changes
|
||
Date: Thu, 12 Dec 91 13:30:42 -0500
|
||
From: tytso@ATHENA.MIT.EDU (Theodore Ts'o)
|
||
To: linux-activists@joker.cs.hut.fi
|
||
Reply-To: tytso@athena.mit.edu
|
||
|
||
I'm looking for a few people who are willing to take a look at my
|
||
changes to add job control to Linux and test them out. The ideal alpha
|
||
tester is someone who is willing to try out these changes and see if 1)
|
||
they can find some way of using job control which breaks my
|
||
implementation, 2) if they conflict with changes they are planning to make
|
||
to the kernel (mostly changes in exit.c and signal.c, with additional
|
||
changes in tty_io.c, tty_ioctl.c, sys.c, and open.c), and/or 3) if they
|
||
reasonably correspond with other implementations of job control,
|
||
particularily BSD 4.3 and Sys V.
|
||
|
||
I make no guarantees about the correctness of these patches, and any
|
||
future patches which I send out will be relative to Linux 0.11, NOT
|
||
to these alpha patches. The main reason why I want people to try them
|
||
out is that I've implemented job control almost entirely from the POSIX
|
||
spec, and I would other people to check to see if my interpretation of
|
||
the POSIX spec is compatible with the rest of the world.
|
||
|
||
If you feel up to trying them out, please let me know. If you want to
|
||
look at the changes before deciding, they can be found in
|
||
TSX-11:~ftp/ALPHA/jobcontrol. One generic bug which will hit when you
|
||
try this is out is that apparently there is a bug with how gcc handles
|
||
signals. If you send gcc a SIGCONT (you don't even need to stop it
|
||
first), it will die with an IOT trap. I suspect gcc needs to be
|
||
recompiled with a recent libc.a to fix this problem.
|
||
|
||
- Ted
|
||
--[0187]--
|
||
|
||
[0188] daemon@ATHENA.MIT.EDU (Linus Benedict Torvalds) Linux_Activists 12/12/91 14:06 (42 lines)
|
||
Subject: "weekly" bugreport etc
|
||
Date: Thu, 12 Dec 1991 20:52:46 +0200
|
||
From: Linus Benedict Torvalds <torvalds@cc.helsinki.fi>
|
||
To: Linux-activists@joker.cs.hut.fi
|
||
|
||
Well, time for my weekly bug-report again. Nothing too bad this time.
|
||
|
||
1) linux/kernel/signal.c kills a process with the wrong error code when
|
||
it gets a signal that the process doesn't handle. The easiest way to
|
||
test this is by sending a SIGQUIT to some running program (with ^|) -
|
||
bash will report that the program died due to "Illegal Instruction"
|
||
|
||
This bug already got corrected in some version, but it wiggled its way
|
||
back :-(. The line is something like this (in do_signal()):
|
||
|
||
if (!sa_handler) {
|
||
if (nr == SIGCHLD)
|
||
return;
|
||
else
|
||
do_exit(1<<(nr-1));
|
||
}
|
||
|
||
when it should be
|
||
|
||
if (!sa_handler) {
|
||
if ...
|
||
...
|
||
else
|
||
do_exit(nr);
|
||
}
|
||
|
||
2) As has been shown, you can get spurious "out of memory" errors if the
|
||
passwd file has the incorrect format. This wasn't a error in the
|
||
kernel, but in the library - I'll correct it by using the GNU lib etc.
|
||
I'll also make full library source available (not before sunday: I've
|
||
got 1e3 things to do). In the meanwhile, this bug isn't easy to
|
||
trigger, and not fatal even then, so...
|
||
|
||
Linus
|
||
|
||
PS. I'm interested in hearing about everybody that has problems with
|
||
either the harddisk or the serial line. There was a report that serial
|
||
lines sent out 2 characters at a time - does anybody else see this?
|
||
--[0188]--
|
||
|
||
|
||
*** /afs/net/tools/src/play/play.c Tue Jul 23 13:15:03 1991
|
||
--- play.c Wed Dec 18 17:38:06 1991
|
||
***************
|
||
*** 30,35 ****
|
||
--- 30,37 ----
|
||
#define OPTION_TICKLE_SSAVE 2
|
||
|
||
int Special_X_Error_Handler();
|
||
+ int (*Default_X_Error_Handler)();
|
||
+
|
||
int bad_window_found; /* This is set if a bad window error */
|
||
/* is ignored */
|
||
|
||
***************
|
||
*** 137,143 ****
|
||
/*
|
||
* Redirect the error routine so bad windows don't kill us.
|
||
*/
|
||
! XSetErrorHandler(Special_X_Error_Handler);
|
||
|
||
while (1) {
|
||
int no_state;
|
||
--- 139,145 ----
|
||
/*
|
||
* Redirect the error routine so bad windows don't kill us.
|
||
*/
|
||
! Default_X_Error_Handler = XSetErrorHandler(Special_X_Error_Handler);
|
||
|
||
while (1) {
|
||
int no_state;
|
||
***************
|
||
*** 413,516 ****
|
||
bad_window_found++;
|
||
return 0;
|
||
}
|
||
! if (_XPrintDefaultError(dpy, event, stderr) == 0)
|
||
! return 0;
|
||
! exit(1);
|
||
! }
|
||
!
|
||
! /*
|
||
! * Stolen from X11R4's XlibInt.c
|
||
! */
|
||
! int _XPrintDefaultError (dpy, event, fp)
|
||
! Display *dpy;
|
||
! XErrorEvent *event;
|
||
! FILE *fp;
|
||
! {
|
||
! char buffer[BUFSIZ];
|
||
! char mesg[BUFSIZ];
|
||
! char number[32];
|
||
! char *mtype = "XlibMessage";
|
||
! register _XExtension *ext = (_XExtension *)NULL;
|
||
! XGetErrorText(dpy, event->error_code, buffer, BUFSIZ);
|
||
! XGetErrorDatabaseText(dpy, mtype, "XError", "X Error", mesg, BUFSIZ);
|
||
! (void) fprintf(fp, "%s: %s\n ", mesg, buffer);
|
||
! XGetErrorDatabaseText(dpy, mtype, "MajorCode", "Request Major code %d",
|
||
! mesg, BUFSIZ);
|
||
! (void) fprintf(fp, mesg, event->request_code);
|
||
! if (event->request_code < 128) {
|
||
! sprintf(number, "%d", event->request_code);
|
||
! XGetErrorDatabaseText(dpy, "XRequest", number, "", buffer, BUFSIZ);
|
||
! } else {
|
||
! for (ext = dpy->ext_procs;
|
||
! ext && (ext->codes.major_opcode != event->request_code);
|
||
! ext = ext->next)
|
||
! ;
|
||
! if (ext)
|
||
! strcpy(buffer, ext->name);
|
||
! else
|
||
! buffer[0] = '\0';
|
||
! }
|
||
! (void) fprintf(fp, " (%s)\n ", buffer);
|
||
! if (event->request_code >= 128) {
|
||
! XGetErrorDatabaseText(dpy, mtype, "MinorCode", "Request Minor code %d", mesg, BUFSIZ);
|
||
! (void) fprintf(fp, mesg, event->minor_code);
|
||
! if (ext) {
|
||
! sprintf(mesg, "%s.%d", ext->name, event->minor_code);
|
||
! XGetErrorDatabaseText(dpy, "XRequest", mesg, "", buffer, BUFSIZ);
|
||
! (void) fprintf(fp, " (%s)", buffer);
|
||
! }
|
||
! fputs("\n ", fp);
|
||
! }
|
||
! if (event->error_code >= 128) {
|
||
! /* kludge, try to find the extension that caused it */
|
||
! buffer[0] = '\0';
|
||
! for (ext = dpy->ext_procs; ext; ext = ext->next) {
|
||
! if (ext->error_string)
|
||
! (*ext->error_string)(dpy, event->error_code, &ext->codes,
|
||
! buffer, BUFSIZ);
|
||
! if (buffer[0])
|
||
! break;
|
||
! }
|
||
! if (buffer[0])
|
||
! sprintf(buffer, "%s.%d", ext->name,
|
||
! event->error_code - ext->codes.first_error);
|
||
! else
|
||
! strcpy(buffer, "Value");
|
||
! XGetErrorDatabaseText(dpy, mtype, buffer, "Value 0x%x", mesg, BUFSIZ);
|
||
! if (*mesg) {
|
||
! (void) fprintf(fp, mesg, event->resourceid);
|
||
! fputs("\n ", fp);
|
||
! }
|
||
! } else if ((event->error_code == BadWindow) ||
|
||
! (event->error_code == BadPixmap) ||
|
||
! (event->error_code == BadCursor) ||
|
||
! (event->error_code == BadFont) ||
|
||
! (event->error_code == BadDrawable) ||
|
||
! (event->error_code == BadColor) ||
|
||
! (event->error_code == BadGC) ||
|
||
! (event->error_code == BadIDChoice) ||
|
||
! (event->error_code == BadValue) ||
|
||
! (event->error_code == BadAtom)) {
|
||
! if (event->error_code == BadValue)
|
||
! XGetErrorDatabaseText(dpy, mtype, "Value", "Value 0x%x",
|
||
! mesg, BUFSIZ);
|
||
! else if (event->error_code == BadAtom)
|
||
! XGetErrorDatabaseText(dpy, mtype, "AtomID", "AtomID 0x%x",
|
||
! mesg, BUFSIZ);
|
||
! else
|
||
! XGetErrorDatabaseText(dpy, mtype, "ResourceID", "ResourceID 0x%x",
|
||
! mesg, BUFSIZ);
|
||
! (void) fprintf(fp, mesg, event->resourceid);
|
||
! fputs("\n ", fp);
|
||
! }
|
||
! XGetErrorDatabaseText(dpy, mtype, "ErrorSerial", "Error Serial #%d",
|
||
! mesg, BUFSIZ);
|
||
! (void) fprintf(fp, mesg, event->serial);
|
||
! fputs("\n ", fp);
|
||
! XGetErrorDatabaseText(dpy, mtype, "CurrentSerial", "Current Serial #%d",
|
||
! mesg, BUFSIZ);
|
||
! (void) fprintf(fp, mesg, dpy->request);
|
||
! fputs("\n", fp);
|
||
! if (event->error_code == BadImplementation) return 0;
|
||
! return 1;
|
||
}
|
||
--- 415,420 ----
|
||
bad_window_found++;
|
||
return 0;
|
||
}
|
||
! else
|
||
! return(Default_X_Error_Handler(dpy, event));
|
||
}
|
||
[0189] daemon@ATHENA.MIT.EDU (Ken Corey, CSCI Major...) Linux_Activists 12/12/91 19:35 (35 lines)
|
||
Subject: Future Domain, SCSI, partition types, etc.
|
||
Date: Thu, 12 Dec 1991 18:27 CDT
|
||
From: "Ken Corey, CSCI Major..." <KENC@vaxb.acs.unt.edu>
|
||
To: Linux-activists@joker.cs.hut.fi
|
||
X-Vms-To: IN%"Linux-activists@joker.cs.hut.fi"
|
||
|
||
Has anyone had any luck installing Linux on a drive that uses a Future Domain
|
||
chipset?
|
||
|
||
I've got a 386/25 4MB ram, DOS 5.0, Maxtor 7120sr SCSI Hard drive, Future
|
||
Domain chipset SCSI controller.
|
||
|
||
I've gotten the boot and root disks to work, but when I run the fdisk, I get 5
|
||
errors. (I've got my drive partitioned into 4 32MB partitions)
|
||
|
||
I read that if FDISK cannot recognize my partitions, then I an "f**ked" (from
|
||
the documentation).
|
||
|
||
Basically, I'm asking if anyone has gotten such a setup to work, and if so,
|
||
what's the method. If not, is anyone working on a future domain compatible
|
||
version?
|
||
|
||
I understand that several people across the net are working on SCSI
|
||
implementations...do you think that they will work with a future domain
|
||
controller?
|
||
|
||
I'd dearly love to use Linux, (as it's a 32-bit OS from the start, rather than
|
||
a 16-bit emulating a 32-bit).
|
||
|
||
If anyone has run into this problem, either reply to the net, or to my 'home'
|
||
address.
|
||
|
||
Many thanks. Talk to y'all later.
|
||
|
||
, o <--- The too-many-hours-on-a-monitor blank stare
|
||
_ | Ken Corey aka kenc@vaxb.acs.unt.edu aka kenc@sol.acs.unt.edu
|
||
--[0189]--
|
||
|
||
[0190] daemon@ATHENA.MIT.EDU (John T Kohl) Linux_Activists 12/13/91 01:08 (17 lines)
|
||
Subject: uniq binary & source; perl?
|
||
Date: Thu, 12 Dec 91 22:01:08 PST
|
||
To: linux-activists@joker.cs.hut.fi
|
||
From: John T Kohl <jtkohl@cs.berkeley.edu>
|
||
Reply-To: jtkohl@cs.berkeley.edu
|
||
|
||
I've had uniq.Z and uniq.src.tar.Z (from the bsd-net-2 release) put onto
|
||
tsx-11.mit.edu:pub/linux/{binaries,sources} for your enjoyment.
|
||
|
||
Has anybody had luck in getting perl 4 working? I've tried various
|
||
things, most of which cause test/base/lex.t to fail.
|
||
-m80387 present/absent
|
||
-O/-g
|
||
-Dfloat=double
|
||
|
||
no combination of the above makes a working perl. ??
|
||
|
||
John
|
||
--[0190]--
|
||
|
||
[0191] daemon@ATHENA.MIT.EDU (Robert Blum) Linux_Activists 12/13/91 04:40 (125 lines)
|
||
Subject: New posting of INFO SHEET
|
||
Date: Fri, 13 Dec 91 10:28:00 +0100
|
||
From: blum@cip-s01.informatik.rwth-aachen.de (Robert Blum)
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
Hi Linuxers!
|
||
|
||
This is the corrected (Thanks for proofreading, tytso!) Linux
|
||
information sheet. If there are no further remarks to it, I will
|
||
post it to the following groups:
|
||
comp.binaries.ibm.pc.d
|
||
comp.os.coherent
|
||
comp.os.mach
|
||
comp.os.minix
|
||
comp.os.misc
|
||
comp.os.sysv.i386
|
||
comp.unix.programmers
|
||
|
||
Thanks, and see you!
|
||
Robert Blum
|
||
|
||
LINUX INFORMATION SHEET
|
||
|
||
1. WHAT IS LINUX 0.11
|
||
LINUX 0.11 is a freely distributable UNIX clone. It is almost fully
|
||
System V and POSIX compatible. LINUX has been written from scratch,
|
||
and therefore does not contain any AT&T or MINIX code - not in the
|
||
kernel, the compiler, the utilities, or the libraries. For this reason
|
||
it can be made available with the complete source code via anonymous
|
||
FTP. Sorrily it runs only on 386/486 AT-bus-machines.EISA will probably
|
||
do too, but you need an AT-Bus controller for your harddisk.
|
||
|
||
Version 0.11 is still a beta release, but it provides almost full
|
||
functionality. Various users have been able to compile bigger projects
|
||
like bison/flex by only changing the makefile to their needs, and these
|
||
tools are fully functional.
|
||
|
||
2. LINUX features
|
||
- System call compatible with System V and POSIX (well, almost..)
|
||
- Full multiprogramming (multiple programs can run at once)
|
||
- Memory paging with copy-on-write
|
||
- Demand loading of executables
|
||
- Page sharing of executables
|
||
- ANSI compliant C compiler (gcc)
|
||
- A complete set of compiler writing tools
|
||
(bison as yacc-replacement, flex as lex replacement)
|
||
- The gnu-born again shell (bash)
|
||
- Micro emacs
|
||
- most utilities you need for development
|
||
(cat, cp, kermit, ls, make, etc.)
|
||
- Over 200 library procedures (atoi, fork, malloc, read, stdio, etc.)
|
||
- Currently 4 national keyboards: finnish/us/german/french
|
||
- Full source code (in C) for the OS is freely distributable
|
||
- Full source code of the tools can be gotten from many anonymous ftp sites
|
||
(It's almost completely the GNU project)
|
||
- Runs in protected mode on 386 and above
|
||
- Support for extended memory up to 16M on 386 and above
|
||
- RS-232 serial line support with terminal emulation, kermit, zmodem, etc.
|
||
- Supports the real time clock
|
||
|
||
|
||
3. HARDWARE REQUIRED
|
||
- A 386 or 486 machine that is an AT-bus-machine. EISA will probably do
|
||
too.
|
||
- An IDE hard disk is required to use this system.
|
||
- Both 5.25" and 3.5" diskettes are supported
|
||
- At least 2 megabytes of RAM is required for LINUX to be operational,
|
||
but gcc will only work from 4 MB on.
|
||
- Any video card will do
|
||
- Up to two serial lines are supported
|
||
- The real time clock is supported
|
||
|
||
4. PARTIAL LIST OF UTILITIES INCLUDED IN OR AVAILABLE FOR LINUX 0.10
|
||
- The MTOOLS package (reading/writing to DOS)
|
||
- The complete GNU filetools (ls,cat,cp,mv,...)
|
||
- The GNU C compiler with GNU assembler,linker,ar,...
|
||
- bison
|
||
- flex
|
||
- rcs
|
||
- pmake (BSD 4.3 Reno/BSD 4.4 make)
|
||
- kermit
|
||
- Micro emacs
|
||
- less
|
||
- mkfs
|
||
- fsck
|
||
- mount/umount
|
||
|
||
|
||
5. LINUX BINARIES
|
||
The LINUX binaries (including all the tools) are available at three
|
||
anonymous FTP sites. These are:
|
||
nic.funet.fi:/pub/OS/Linux
|
||
tsx-11.mit.edu:/pub/linux
|
||
tupac-amaru.informatik.rwth-aachen.de:/pub/msdos/replace
|
||
|
||
|
||
6. LEGAL STATUS OF LINUX
|
||
Although LINUX is supplied with the complete source code, it is
|
||
copyrighted software. But it is, opposite to MINIX available for free,
|
||
provided you obey to the rules specified in the LINUX copyright.
|
||
|
||
|
||
7. NEWS ABOUT LINUX
|
||
Since LINUX's introduction to the public there has been a rapidly
|
||
growing mailing list, "linux-activists@joker.cs.hut.fi". To subscribe
|
||
to this list, mail to "linux-activists-requests@joker.cs.hut.fi". If
|
||
the traffic in this lists increases further, there are plans to swap
|
||
(at least partially) over to comp.os.misc, so watch out for any LINUX
|
||
articles in this group. If you simply want to know whats the current
|
||
state of the art, do a "finger torvalds@kruuna.helsinki.fi", and you'll
|
||
get some information.
|
||
|
||
|
||
8. FUTURE PLANS
|
||
The major current project is bringing LINUX to a version number
|
||
greater than 1.0. It has also to undergo some (minor) revisions to be
|
||
compatible to the IEEE POSIX P1003.1 and P1003.2 standards. Various
|
||
people are currently working on
|
||
- math support/fp emulation in the kernel
|
||
- Page swapping (since paging is alreay implemented)
|
||
- A virtual filesystem layer
|
||
- STREAMS
|
||
- POSIX job control (this is already alpha and will probably be
|
||
out with Version 0.12)
|
||
If you want to join the developers, join the mailing list
|
||
|
||
--[0191]--
|
||
|
||
[0192] daemon@ATHENA.MIT.EDU (Drew Eckhardt) Linux_Activists 12/14/91 15:07 (533 lines)
|
||
Subject: Dain bramaged boot sector and compatable clones
|
||
Date: Sat, 14 Dec 1991 12:57:14 -0700
|
||
From: Drew Eckhardt <drew@hazelrah.cs.Colorado.EDU>
|
||
To: linux-activists@joker.cs.hut.fi, torvalds@cc.helsinki.fi
|
||
Cc: drew@hazelrah.cs.Colorado.EDU
|
||
|
||
A few days ago, I mailed Linus about the bootsector not working on some
|
||
machines. Specifically, some 386/486 boxes with AMI BIOS, not exactly
|
||
rice paddy specials. The MS-DOS
|
||
boot sector handles reads in a similar way, and it worked fine.
|
||
|
||
The problem is some clones use the same messed up floppy disk parameter
|
||
tables that the original PC used. You have to change the byte
|
||
that reflects maximum sector number to something reasonable (18 works
|
||
good - #sectors on a 1.44, doesn't matter if its too high) to keep from
|
||
getting a sector not found error. MS-DOS does this, Linus's boot sector
|
||
didn't, and was dying.
|
||
|
||
I have changed the bootsector code to update this byte in the
|
||
diskette parameter table.
|
||
|
||
Also, I've made the following other changes :
|
||
|
||
- Added error dump code. The error code in ax is printed (in hex)
|
||
after any failed disk read. This contains an error code
|
||
in the high byte, sectors successfully read in the
|
||
low byte.
|
||
|
||
In the code that reads the kernel, an error also dumps the
|
||
registers that were used in the int 13h call - ie
|
||
an error code of 0407 - sector not found, read 7 sectors
|
||
might read
|
||
|
||
0407
|
||
AX:020F
|
||
BX:1400
|
||
CX:0001
|
||
DX:0100
|
||
|
||
- Added a Loading... where one dot is printed per track read.
|
||
Lets you know something is happening, and fills up some of
|
||
that vast empty space in the bootsector...
|
||
|
||
- Added conditional define to hard code #of sectors, and allow booting
|
||
from a 360K disk in a 1.2M drive, etc. The BIOS routines
|
||
return MAXIMUM number of sectors, not the actual count
|
||
of the media in the drive.
|
||
|
||
- Optimized. There are now two bytes free in the boot sector. Without
|
||
any optimization, there were negative bytes free.
|
||
|
||
The source code is currently only available in MASM format. This made
|
||
debugging under a monitor program loaded in high memory under DOS
|
||
quite simple.... some one (Eventually, I will. Before this is
|
||
finalized though, I'd like to look at booting of any drive) can
|
||
translate it back if they want it sooner...
|
||
|
||
The binary included below is set up with root=boot drive, autodetect floppy.
|
||
|
||
I had been testing it with HARD defined as 9, and root set as a 1.44 in
|
||
drive 1, a fairly normal configuraiton, so this explains any failures..
|
||
|
||
And, if you do get an error code, PLEASE report it.
|
||
|
||
-- bootsect.uue --
|
||
:
|
||
section 1 of uuencode 2.8 of file bootsect.bin by R.E.M.
|
||
|
||
begin 644 bootsect.bin
|
||
MN,`'CMBX`)".P+D``2OV*__\\Z7J&0``D/J,R([0O/3^,\".P`:[>``FQ3>,W
|
||
MR([`O_3^5[D&`/.E7R;&1002!R:)/XS()HE'`H[8CL#[,N0RTLT3,]*Y`@"[F
|
||
M``*X!`+-$W,24.A)`8OLZ%P!6#+2,\#-$^O?,M*X``C-$S+M+HD.[P&X`)"."
|
||
MP+0#,O_-$+D)`+L'`+WQ`;@!$\T0N``0CL#H/@#H/P&X#0Z[!P#-$+@*#LT0&
|
||
M+J'\`0O`=1<NBQ[O`;@(`H/[#W0*N!P"@_L2=`+K_BZC_`'J```@D`4`````,
|
||
M`(S`J?\/=?XSVXS`/0!`<@'#+J'O`2XK!MP`B\C!X0D#RW,)=`<SP"O#P>@)Q
|
||
MZ#D`B\@N`P;<`"X[!N\!=16X`0`N*P;>`'4%+O\&X``NH]X`,\`NH]P`P>$)'
|
||
M`]ESK(S`!0`0CL`SV^NA8%!3N"X.NP<`S1!;6"Z+%N``+HL.W`!!BNHNBQ;>*
|
||
M`(KR,M*!X@`!M`)245-0S1-R!8/$"&'#4.@,`#+D,M+-$X/$"F'KNKD%`(OLP
|
||
MZ!@`@/D%<R&*P;A%#BK!S1"X6`[-$+@Z#LT0N`T.NP<`S1"X"@[-$,.#Q0+HR
|
||
M!`!9XL[#N00`BU8`P<($M`Z*PB0/!#`\.78"!`>T#LT0XNG#4KKR`S+`[EK#Q
|
||
1```-"DQO861I;F<``!T"5:H"H
|
||
``
|
||
end
|
||
size 512
|
||
-- end --
|
||
|
||
You could write it with DEBUG like
|
||
DEBUG bootsect.bin
|
||
a 0300
|
||
mov ax, 0201
|
||
mov bx, 0100
|
||
mov cx, 0001
|
||
mov dx, 0000
|
||
int 13h
|
||
int 20h
|
||
^C
|
||
g=0300
|
||
q
|
||
|
||
And the source
|
||
-- bootsect.asm --
|
||
|
||
; Created by 2masm perl script by Drew Eckhardt
|
||
; bootsect.asm modified by Drew Eckhardt -
|
||
; support added for TRUELY compatable <And messed up>
|
||
; BIOS's as well as error dump code.
|
||
|
||
.286
|
||
|
||
;
|
||
; SYS_SIZE is the number of clicks (16 bytes) to be loaded.
|
||
; 3000h is 30000h bytes equ 196kB, more than enough for current
|
||
; versions of linux
|
||
;
|
||
SYSSIZE equ 3000h
|
||
;
|
||
; bootsect.s (C) 1991 Linus Torvalds
|
||
;
|
||
; bootsect.s is loaded at 7c00h by the bios-startup routines, and moves
|
||
; iself out of the way to address 90000h, and jumps there.
|
||
;
|
||
; It then loads 'setup' directly after itself (90200h), and the system
|
||
; at 10000h, using BIOS interrupts.
|
||
;
|
||
; NOTE; currently system is at most 8*65536 bytes long. This should be no
|
||
; problem, even in the future. I want to keep it simple. This 512 kB
|
||
; kernel size should be enough, especially as this doesn't contain the
|
||
; buffer cache as in minix
|
||
;
|
||
; The loader has been made as simple as possible, and continuos
|
||
; read errors will result in a unbreakable loop. Reboot by hand. It
|
||
; loads pretty fast by getting whole sectors at a time whenever possible.
|
||
|
||
|
||
_TEXT segment para public 'CODE'
|
||
assume cs:_TEXT
|
||
|
||
SETUPLEN equ 4 ; nr of setup-sectors
|
||
BOOTSEG equ 07c0h ; original address of boot-sector
|
||
INITSEG equ 9000h ; we move boot here - out of the way
|
||
SETUPSEG equ 9020h ; setup starts here
|
||
SYSSEG equ 1000h ; system loaded at 10000h (65536).
|
||
ENDSEG equ SYSSEG + SYSSIZE ; where to stop loading
|
||
|
||
; ROOT_DEV: 000h - same type of floppy as boot.
|
||
; 301h - first partition on first drive etc
|
||
ROOTDEV equ 21dh
|
||
|
||
|
||
|
||
start:
|
||
mov ax,offset BOOTSEG
|
||
mov ds,ax
|
||
mov ax,offset INITSEG
|
||
mov es,ax
|
||
mov cx,256
|
||
sub si,si
|
||
sub di,di
|
||
cld
|
||
rep movsw
|
||
|
||
db 0eah ; jmp INITSEG:go
|
||
dw offset go
|
||
dw INITSEG
|
||
|
||
go: cli
|
||
mov ax, cs
|
||
mov ss, ax
|
||
mov sp, 0ff00h - 12 ; arbitrary num - 512 - disk param size
|
||
|
||
xor ax, ax ; get diskette parameters from int 1eh
|
||
mov es, ax ; vector (or 78h)
|
||
push es ; save int table segment
|
||
mov bx, 78h
|
||
lds si, es:[bx] ; ds:si points to them
|
||
|
||
|
||
mov ax,cs ;
|
||
mov es,ax ; copy disk parameters
|
||
mov di, 0ff00h - 12 ; es:di points to dsk_tab
|
||
|
||
push di ; save dsk_tab offset
|
||
|
||
mov cx, 6h ; 12 bytes
|
||
rep movsw
|
||
|
||
pop di ; restore dsk_tab
|
||
mov byte ptr es:[di + 4], 18; set sectors
|
||
|
||
pop es ; reset 1eh vector
|
||
mov word ptr es:[bx], di ; offset
|
||
|
||
mov ax, cs
|
||
mov word ptr es:[bx+2], ax ; seg
|
||
mov ds,ax ; load seg regs
|
||
mov es,ax
|
||
sti
|
||
|
||
xor ah, ah ; reset FDC with no parameters.
|
||
xor dl, dl
|
||
int 13h
|
||
|
||
; load the setup-sectors directly after the bootblock.
|
||
; Note that 'es' is already set up.
|
||
|
||
load_setup:
|
||
xor dx,dx ; drive 0, head 0
|
||
mov cx,0002h ; sector 2, track 0
|
||
mov bx,0200h ; address equ 512, in INITSEG
|
||
mov ax,0200h+SETUPLEN ; service 2, nr of sectors
|
||
int 13h ; read it
|
||
jnc ok_load_setup ; ok - continue
|
||
|
||
push ax ; dump error code
|
||
call print_nl
|
||
mov bp, sp
|
||
call print_hex
|
||
pop ax
|
||
|
||
xor dl, dl
|
||
xor ax, ax ; reset the diskette
|
||
int 13h
|
||
jmp load_setup
|
||
|
||
|
||
ok_load_setup:
|
||
|
||
; Get disk drive parameters, specifically nr of sectors/track
|
||
|
||
IFDEF HARD
|
||
mov cx, HARD
|
||
ELSE
|
||
|
||
xor dl,dl
|
||
mov ax,0800h ; AH equ 8 is get drive parameters
|
||
int 13h
|
||
xor ch,ch
|
||
ENDIF
|
||
|
||
|
||
mov cs:sectors,cx
|
||
mov ax,offset INITSEG
|
||
mov es,ax
|
||
|
||
; Print some inane message
|
||
|
||
mov ah,03h ; read cursor pos
|
||
xor bh,bh
|
||
int 10h
|
||
|
||
mov cx,9
|
||
mov bx,0007h ; page 0, attribute 7 (normal)
|
||
mov bp,offset msg1
|
||
mov ax,1301h ; write string, move cursor
|
||
int 10h
|
||
|
||
; ok, we've written the message, now
|
||
; we want to load the system (at 10000h)
|
||
|
||
mov ax,offset SYSSEG
|
||
mov es,ax ; segment of 010000h
|
||
call read_it
|
||
call kill_motor
|
||
|
||
mov ax, 0e0dh
|
||
mov bx, 7
|
||
int 10h
|
||
mov ax, 0e0ah
|
||
int 10h
|
||
|
||
; After that we check which root-device to use. If the device is
|
||
; defined (; equ 0), nothing is done and the given device is used.
|
||
; Otherwise, either /dev/PS0 (2,28) or /dev/at0 (2,8), depending
|
||
; on the number of sectors that the BIOS reports currently.
|
||
|
||
|
||
mov ax,cs:root_dev
|
||
or ax, ax ; cmp ax, 0
|
||
jne root_defined
|
||
|
||
mov bx,cs:sectors
|
||
mov ax,0208h ; /dev/ps0 - 1.2Mb
|
||
cmp bx,15
|
||
je root_defined
|
||
mov ax,021ch ; /dev/PS0 - 1.44Mb
|
||
cmp bx,18
|
||
je root_defined
|
||
undef_root:
|
||
jmp undef_root
|
||
root_defined:
|
||
mov cs:root_dev,ax
|
||
|
||
|
||
; after that (everyting loaded), we jump to
|
||
; the setup-routine loaded directly after
|
||
; the bootblock:
|
||
|
||
db 0eah ; jmp SETUPSEG:0
|
||
dw 0
|
||
dw SETUPSEG
|
||
|
||
|
||
; This routine loads the system at address 10000h, making sure
|
||
; no 64kB boundaries are crossed. We try to load it as fast as
|
||
; possible, loading whole tracks whenever we can.
|
||
;
|
||
; in: es - starting address segment (normally 1000h)
|
||
;
|
||
sread dw 1+SETUPLEN ; sectors read of current track
|
||
head dw 0 ; current head
|
||
track dw 0 ; current track
|
||
|
||
read_it:
|
||
mov ax,es
|
||
test ax,0fffh
|
||
die: jne die ; es must be at 64kB boundary
|
||
xor bx,bx ; bx is starting address within segment
|
||
rp_read:
|
||
mov ax,es
|
||
cmp ax,ENDSEG ; have we loaded all yet?
|
||
jb ok1_read
|
||
ret
|
||
ok1_read:
|
||
|
||
mov ax,cs:sectors ; this is the number of sectors we will
|
||
sub ax,sread ; attempt to read
|
||
|
||
; mov ax, 1
|
||
|
||
mov cx,ax ;
|
||
shl cx,9 ; * 512 bytes
|
||
add cx,bx ; if overflow, then next segment
|
||
jnc ok2_read
|
||
je ok2_read
|
||
|
||
xor ax,ax
|
||
sub ax,bx
|
||
shr ax,9
|
||
|
||
ok2_read:
|
||
call read_track ; is called with num sectors wanted in al
|
||
mov cx,ax
|
||
add ax,sread ; add actual number read to ax
|
||
|
||
cmp ax,cs:sectors
|
||
jne ok3_read
|
||
mov ax,1
|
||
sub ax,head
|
||
jne ok4_read
|
||
inc track
|
||
ok4_read:
|
||
mov head,ax
|
||
|
||
xor ax,ax
|
||
ok3_read:
|
||
mov sread,ax
|
||
|
||
shl cx,9
|
||
add bx,cx
|
||
jnc rp_read
|
||
mov ax,es
|
||
add ax,1000h
|
||
mov es,ax
|
||
xor bx,bx
|
||
jmp rp_read
|
||
|
||
read_track:
|
||
pusha
|
||
|
||
push ax ; print loading...
|
||
push bx
|
||
mov ax, (0e00h + '.')
|
||
mov bx, 7
|
||
int 10h
|
||
pop bx
|
||
pop ax
|
||
|
||
mov dx,track
|
||
mov cx,sread
|
||
inc cx
|
||
mov ch,dl
|
||
mov dx,head
|
||
mov dh,dl
|
||
xor dl,dl
|
||
and dx,0100h
|
||
mov ah,2
|
||
|
||
push dx ; save for possible register dump
|
||
push cx
|
||
push bx
|
||
push ax
|
||
|
||
int 13h
|
||
|
||
jc bad_rt
|
||
add sp, 8
|
||
|
||
popa
|
||
ret
|
||
|
||
bad_rt: push ax ; save AX return -
|
||
; AH = errore code
|
||
; AL = successfully read.
|
||
|
||
call print_all
|
||
|
||
xor ah, ah ; reset FDC
|
||
xor dl, dl
|
||
int 13h
|
||
|
||
add sp, 10
|
||
popa
|
||
jmp read_track
|
||
|
||
;
|
||
; print_all is for debugging purposes.
|
||
; It will print out all of the registers. The assumtion is that this
|
||
; is called from the track read routine, with a stack frame like
|
||
; dx
|
||
; cx
|
||
; bx
|
||
; ax
|
||
; error
|
||
; ret <- sp
|
||
|
||
print_all:
|
||
mov cx, 5 ; error code +
|
||
mov bp, sp
|
||
|
||
print_loop:
|
||
call print_nl
|
||
|
||
cmp cl, 5
|
||
jae no_reg
|
||
mov al, cl
|
||
|
||
mov ax, 0e05h + 'A' - 1
|
||
sub al, cl
|
||
int 10h
|
||
|
||
mov ax, 0e00h + 'X'
|
||
int 10h
|
||
|
||
mov ax, 0e00h + ':'
|
||
int 10h
|
||
|
||
print_nl:
|
||
mov ax, 0e0dh
|
||
mov bx, 7
|
||
int 10h
|
||
mov ax, 0e0ah
|
||
int 10h
|
||
ret
|
||
|
||
no_reg:
|
||
add bp, 2
|
||
call print_hex
|
||
pop cx
|
||
loop print_loop
|
||
|
||
ret
|
||
|
||
;
|
||
; print_hex is for debugging purposes. It will print out the hex
|
||
; number pointed to by ss:[bp].
|
||
;
|
||
|
||
print_hex:
|
||
mov cx, 4 ; 4 hex digits
|
||
mov dx, word ptr [bp] ; load word into dx
|
||
print_digit:
|
||
rol dx, 4 ; will rotate, 4 bits will be highest
|
||
mov ah, 0eh ; nibble, lowest nibble, etc.
|
||
|
||
mov al, dl
|
||
and al, 0fh
|
||
add al, '0'
|
||
cmp al, '9'
|
||
jbe good_digit
|
||
add al, 'A' - '0' - 0ah
|
||
|
||
good_digit:
|
||
mov ah, 0eh
|
||
int 10h
|
||
loop print_digit
|
||
ret
|
||
|
||
|
||
; * This procedure turns off the floppy drive motor, so
|
||
; * that we enter the kernel in a known state, and
|
||
; * don't have to worry about it later.
|
||
;
|
||
kill_motor:
|
||
push dx
|
||
mov dx,3f2h
|
||
xor al,al
|
||
out dx, al
|
||
|
||
pop dx
|
||
ret
|
||
|
||
sectors dw 0
|
||
|
||
msg1 db 13,10
|
||
db "Loading"
|
||
|
||
|
||
org 508
|
||
root_dev dw ROOTDEV
|
||
boot_flag:
|
||
dw 0AA55h
|
||
|
||
_TEXT ends
|
||
end
|
||
-- ends --
|
||
|
||
Build with
|
||
MASM, link, then exe2bin
|
||
|
||
HARD may be defined with
|
||
MASM bootsect.asm /DHARD=9;
|
||
|
||
To get it to use the hardcoded sector count.
|
||
|
||
TASM should also work, a86 will work if you change to its conditional
|
||
define syntax.
|
||
|
||
There are a few glitches there <It works, but comments may have been garbled,
|
||
etc> from my 2masm perl script - but it will assemble without warnings.
|
||
|
||
Also note that the code will require more squeezing if more changes are made :
|
||
there are 2 bytes free.
|
||
|
||
|
||
--[0192]--
|
||
|
||
[0193] daemon@ATHENA.MIT.EDU (Drew Eckhardt) Linux_Activists 12/14/91 15:20 (15 lines)
|
||
Subject: DEBUG stuff from my post
|
||
Date: Sat, 14 Dec 1991 13:13:39 -0700
|
||
From: Drew Eckhardt <drew@hazelrah.cs.Colorado.EDU>
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
|
||
In hind sight, the
|
||
|
||
mov ax, 0201
|
||
|
||
should be a
|
||
|
||
mov ax, 0301 ....
|
||
|
||
Write, not read. 7:30 am finals sort of have a way of doing things to a guy's
|
||
mind....
|
||
--[0193]--
|
||
|
||
[0194] daemon@ATHENA.MIT.EDU (Peter MacDonald) Linux_Activists 12/15/91 13:56 (7 lines)
|
||
Subject: Is anyone working on pseudo ttys
|
||
Date: Sun, 15 Dec 91 10:49:00 PST
|
||
From: pmacdona@sol.UVic.CA (Peter MacDonald)
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
Please let me know if someone is working on ptys.
|
||
pmacdona@sol.uvic.ca
|
||
Peter.MacDonald@bcsystems.gov.bc.ca
|
||
--[0194]--
|
||
|
||
[0195] daemon@ATHENA.MIT.EDU (Linus Benedict Torvalds) Linux_Activists 12/16/91 12:25 (56 lines)
|
||
Subject: Complete library source available
|
||
Date: Mon, 16 Dec 1991 19:07:47 +0200
|
||
From: Linus Benedict Torvalds <torvalds@cc.helsinki.fi>
|
||
To: Linux-activists@joker.cs.hut.fi
|
||
|
||
Well, I just put out the full source to my library for ftp. Parts of it
|
||
have been available before, but the package "library.tar.Z" should
|
||
include everything.
|
||
|
||
The library is meant to be installed in /usr/src/lib, but use your own
|
||
directory structure if you find this impractical. It is further
|
||
subdivided into more or less (mostly less) logical subdirectories:
|
||
partly similar to minix, partly depending on where I got the source, and
|
||
partly just on how it happened to be written :-)
|
||
|
||
There are 4 major sources of library functions and they all have
|
||
slightly different copyrights, but all should be freely distributable
|
||
within the linux copyright rules:
|
||
|
||
- Earl Chews estdio (estdio)
|
||
- The GNU library (malloc, pwd, grp and misc)
|
||
- me (dirent, unistd, misc)
|
||
- some PD minix libs (at least termcap)
|
||
|
||
I haven't really ported as much of the GNU libc.a as I would want, as
|
||
it's not very interesting. Things that should still be done:
|
||
|
||
- time functions. I haven't got the slightest idea about how
|
||
they work, so the result is accordingly. GNU seems the best
|
||
bet to find correct functions.
|
||
|
||
- unistd will be slightly changed with the advent of job
|
||
control. I am assuming that tytso will send diffs, and that
|
||
some programs will have to be recompiled to correctly work
|
||
with the new signals (among them gcc).
|
||
|
||
- locale etc. Again gnu seems the best bet. Happily nobody uses
|
||
locale anyway, so this isn't that much of a problem :-)
|
||
|
||
Additionally I have also sent out a new include.tar.Z - it's mostly
|
||
bug-corrections and a few new files that the GNU library functions want.
|
||
|
||
Recompiling the library is easy: go to /usr/src/lib, and then do a make
|
||
in all the subdirectories. The result should be a Libc.a file in
|
||
/usr/src/lib. Run ranlib on it (ie "ranlib Libc.a"), and you have a new
|
||
library. Just move it to the library directory (usually /usr/local/lib,
|
||
but it depends on how you have installed gcc). It might be a good idea
|
||
to save the old libc.a, in case something has gone wrong.
|
||
|
||
Note that you probably won't really need to compile your own library:
|
||
this one is a bit better than the original, but the changes shouldn't
|
||
show up in normal circumstances. Recompilation of the library is
|
||
usually only needed if you change the kernel heavily (new system calls
|
||
etc) or if you find better routines for something. This release is more
|
||
for the "completeness" of source availability for linux.
|
||
|
||
Linus
|
||
--[0195]--
|
||
|
||
[0196] daemon@ATHENA.MIT.EDU (Peter MacDonald) Linux_Activists 12/16/91 23:02 (14 lines)
|
||
Subject: man pages and ptys
|
||
Date: Mon, 16 Dec 91 19:19:01 PST
|
||
From: pmacdona@sol.UVic.CA (Peter MacDonald)
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
I have put together some man pages for some the GNU utilities together
|
||
with a PD version of man. Ted was kind enough to put it on tsx-11.mit.edu
|
||
for any interested party.
|
||
|
||
Also, Matthias Lautner has provided me with the source to his minix
|
||
ptys and select patch to Minix. It still has a bug with losing
|
||
messages from tty to FS. But I am looking at how hard it is
|
||
to port his design to Linux.
|
||
|
||
|
||
--[0196]--
|
||
|
||
[0197] daemon@ATHENA.MIT.EDU (Pietro Caselli) Linux_Activists 12/17/91 00:12 (19 lines)
|
||
Subject: Linux 0.11 is hard to die !
|
||
To: linux-activists@joker.cs.hut.fi
|
||
Date: 17 Dec 91 00:14:28 MET (Tue)
|
||
From: zaphod@petruz.sublink.org (Pietro Caselli)
|
||
|
||
Yeaaaah ... just like a ninja Linux 0.11 refuses to die. When I logout
|
||
from bash I login into bash again, and again, and ... quosque tandem Linuxe !
|
||
|
||
I like tenacity, but ... there is a limit !!! :-)
|
||
|
||
Hmmm ... I passed from gremlins to ninja, with Linux 0.12 I hope not to
|
||
deal with Godzilla :-)
|
||
|
||
Happy hacking to everyone ... and Merry Christmas.
|
||
|
||
Pietro Caselli |
|
||
internet: zaphod@petruz.sublink.org | IF YOU MEET THE BUDDHA
|
||
: pietro@deis33.cineca.it | ON THE ROAD,KILL HIM.
|
||
Mail : V. Pietro Mattiolo, 4 |
|
||
40139 Bologna ITALY |
|
||
--[0197]--
|
||
|
||
[0198] daemon@ATHENA.MIT.EDU ("Mark W. Eichin") Linux_Activists 12/17/91 05:23 (26 lines)
|
||
Subject: getting started...
|
||
Date: Tue, 17 Dec 91 05:15:12 -0500
|
||
From: eichin@ATHENA.MIT.EDU ("Mark W. Eichin")
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
I'm going to buy myself a 386 system some time after 1992 Jan 1 mostly
|
||
for Linux hacking (if I can avoid DOS I will -- but I need a machine
|
||
big enough to do GCC hacking on :-) I'll probably work on getting a
|
||
socket library working, and probably stuff NOS or some of the other
|
||
Amateur TCP/IP code behind it.
|
||
I'm looking to spend between US$2500 and US$3000 on a system.
|
||
Since this is a good deal of money, I'd like to hear any stories
|
||
you've got (both good and bad) about buying such systems, and about
|
||
getting Linux up on them. (Note that I'm soliciting *information*
|
||
here, not actual systems, though of course you're free to send me
|
||
email about anything you'd like, within Acceptable Use constraints of
|
||
the networks you traverse...)
|
||
Since I'm in the US, stories from over here are probably more
|
||
useful -- but if you're outside the US and bought something from one
|
||
of the big mail-order places, I'd appreciate any comments.
|
||
Please be careful to email directly to me <eichin@athena.mit.edu>
|
||
rather than to the list at large; I'll summarize what info I get (so if
|
||
you've got a story you'd rather not have repeated, please note it in the
|
||
message.)
|
||
_Mark_ <eichin@athena.mit.edu>
|
||
MIT Student Information Processing Board
|
||
Cygnus Support <eichin@cygnus.com>
|
||
--[0198]--
|
||
|
||
[0199] daemon@ATHENA.MIT.EDU (Ari Lemmke) Linux_Activists 12/17/91 10:02 (27 lines)
|
||
Subject: Linux 0.11 is hard to die !
|
||
Date: Tue, 17 Dec 1991 16:46:33 +0200
|
||
From: Ari Lemmke <arl@zen.cs.hut.fi>
|
||
To: linux-activists@joker.cs.hut.fi
|
||
In-Reply-To: Pietro Caselli's message of 17 Dec 91 00:14:28 MET (Tue) <9112170014.AA00046@petruz.sublink.ORG>
|
||
|
||
|
||
>Yeaaaah ... just like a ninja Linux 0.11 refuses to die. When I logout
|
||
>from bash I login into bash again, and again, and ... quosque tandem Linuxe !
|
||
|
||
That's because kernel init has while loop like (hey, that's
|
||
pseudo-code, not the real one!):
|
||
|
||
while (1)
|
||
{
|
||
exec("/bin/sh");
|
||
sync();
|
||
}
|
||
|
||
So actually that was, what I did for 0.10 '/etc/init',
|
||
because atleast my shell is (maybe with 0.11 was) constantly
|
||
crashing.
|
||
|
||
So it is safe to power off after first logout.
|
||
|
||
arl
|
||
|
||
|
||
--[0199]--
|
||
|
||
[0200] daemon@ATHENA.MIT.EDU (Michael K. Johnson) Linux_Activists 12/17/91 14:34 (20 lines)
|
||
Subject: compress/out of memory
|
||
Date: Tue, 17 Dec 91 13:13:35 CST
|
||
From: johnsonm@stolaf.edu (Michael K. Johnson)
|
||
To: Linux-activists@joker.cs.hut.fi
|
||
|
||
|
||
This may have already been discussed, but I can't find it:
|
||
uncompress gives me "out of memory" "segmentation violation"
|
||
errors on some files, for instance uniq.Z as found on tsx-11.
|
||
I am running .11 on a 386sx-16. Anyone have any ideas? I had
|
||
no problems with compress under .10...
|
||
|
||
Also, just a note to whoever wants to know -- I made a new filesystem
|
||
with the mkfs distributed with .11, and used the -c flag, which was
|
||
supposeed to eliminate all my hd i/o errors when I was through. Now,
|
||
it may well be my hard drive, but I don't know. If anyone working on
|
||
filesystem stuff wants any details, I will be glad to provide them.
|
||
|
||
michaelkjohnson
|
||
johnsonm@stolaf.edu
|
||
I don't do .sig's
|
||
--[0200]--
|
||
|
||
[0201] daemon@ATHENA.MIT.EDU (Theodore Ts'o) Linux_Activists 12/17/91 14:47 (21 lines)
|
||
Subject: Re: compress/out of memory
|
||
Date: Tue, 17 Dec 91 14:30:10 -0500
|
||
From: tytso@ATHENA.MIT.EDU (Theodore Ts'o)
|
||
To: johnsonm@stolaf.edu
|
||
Cc: Linux-activists@joker.cs.hut.fi
|
||
In-Reply-To: Michael K. Johnson's message of Tue, 17 Dec 91 13:13:35 CST,
|
||
Reply-To: tytso@athena.mit.edu
|
||
|
||
Date: Tue, 17 Dec 91 13:13:35 CST
|
||
From: johnsonm@stolaf.edu (Michael K. Johnson)
|
||
|
||
This may have already been discussed, but I can't find it:
|
||
uncompress gives me "out of memory" "segmentation violation"
|
||
errors on some files, for instance uniq.Z as found on tsx-11.
|
||
|
||
One of the things that will cause that is a corrupted .Z file. Are you
|
||
sure you FTP'ed uniq.Z with the binary mode set? It is possible that
|
||
uniq.Z on tsx-11 is corrupted, but I would rather doubt it, since I've
|
||
been able to uncompress it using a unix zcat.
|
||
|
||
- Ted
|
||
|
||
--[0201]--
|
||
|
||
[0202] daemon@ATHENA.MIT.EDU (Michael K. Johnson) Linux_Activists 12/17/91 16:22 (20 lines)
|
||
Subject: kermit
|
||
Date: Tue, 17 Dec 91 15:13:15 CST
|
||
From: johnsonm@stolaf.edu (Michael K. Johnson)
|
||
To: Linux-activists@joker.cs.hut.fi
|
||
|
||
|
||
Regarding my mailing a few hours ago, apparently my "uniq.Z" was corrupted.
|
||
However, this is worth noting, because it is not corrupted on tsx-11, where
|
||
I got it, and it is not corrupted on the unix system I ftp'd to either. I
|
||
transfered it to my system using kermit, and it was apparently then that it
|
||
was corrupted. I used
|
||
kermit -i -s uniq.Z
|
||
to send the file, and thought that image or ascii is determined by the
|
||
sender. I *was* using the new kermit. Is this a misunderstanding, a bug,
|
||
or a feature?
|
||
|
||
thanks much!
|
||
|
||
michaelkjohnson
|
||
johnsonm@stolaf.edu
|
||
I don't do .sig's
|
||
--[0202]--
|
||
|
||
[0203] daemon@ATHENA.MIT.EDU (Ken Raeburn) Linux_Activists 12/17/91 17:04 (26 lines)
|
||
Subject: C++?
|
||
Date: Tue, 17 Dec 91 16:50:49 -0500
|
||
From: raeburn@ATHENA.MIT.EDU (Ken Raeburn)
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
Has anyone tried bringing up g++ on linux?
|
||
|
||
On a related note, are any other gcc2 developers or testers reading this
|
||
list, or should I start hacking on it when I get a machine (probably in
|
||
January or February)?
|
||
|
||
Ken
|
||
|
||
P.S. If I understand correctly, c386 works on the small-memory machines
|
||
but doesn't handle ANSI C. Has anyone tried using Ron Guilmette's
|
||
"unprotoize" program? It includes a set of patches to gcc 1.something
|
||
(which have also been incorporated in gcc2) and a program that can
|
||
rewrite source files to add or remove prototypes and change function
|
||
definition forms. A converted version of 0.11 might let the c386 users
|
||
get enough work done to get the VM system up to handling gcc. It'd just
|
||
require someone who can use gcc on their machine to do the conversion.
|
||
(I *don't* advocate making converted versions of every release, or even
|
||
necessarily more than one. If being able to use c386 is the goal, rather
|
||
than getting linux up so the VM system can be worked on, then c386 should
|
||
just be fixed.) I'd volunteer to do it myself, if I had a machine to
|
||
work on, and if I knew someone would do the VM work...unfortunately,
|
||
neither is the case right now.
|
||
--[0203]--
|
||
|
||
[0204] daemon@ATHENA.MIT.EDU (Linus Benedict Torvalds) Linux_Activists 12/17/91 18:00 (81 lines)
|
||
Subject: one bug, possible other problems
|
||
Date: Wed, 18 Dec 1991 00:48:24 +0200
|
||
From: Linus Benedict Torvalds <torvalds@cc.helsinki.fi>
|
||
To: Linux-activists@joker.cs.hut.fi
|
||
|
||
> This may have already been discussed, but I can't find it:
|
||
> uncompress gives me "out of memory" "segmentation violation"
|
||
> errors on some files, for instance uniq.Z as found on tsx-11.
|
||
> I am running .11 on a 386sx-16. Anyone have any ideas? I had
|
||
> no problems with compress under .10...
|
||
|
||
As already has been noted, this can be (and in this case seems to have
|
||
been) due to corrupted Z-files. However, if anybody else sees the "out
|
||
of memory" error, even though there should be enough memory there is
|
||
always another possibility: if your "/etc/passwd" (or possibly
|
||
"/etc/group") files are not in the right format, it triggers a bug in
|
||
the old library which will use up all your memory. Great fun. Check
|
||
that all entries in your "/etc/passwd" have the right nr of colons (even
|
||
if there is no shell name, the last colon is supposed to exist). This
|
||
same bug shows up in all programs that use the "getpwent()" library call
|
||
with the old lib: ls -l, chown et.al. Easy to correct the /etc/passwd
|
||
file, and then this should go away.
|
||
|
||
Then on to a /real/ bug, which needs kernel recompilation, but isn't
|
||
very noticeable: the execve system call incorrectly clears all signal
|
||
handler addresses. It should leave the "SIG_IGN" addresses as is: nohup
|
||
etc programs depend on that. The fix is easy:
|
||
|
||
linux/fs/exec.c: do_execve(), right after the comment "point of no
|
||
return" there is the for-loop that clears the sa.sa_handler entries.
|
||
Change it from (something like)
|
||
|
||
for (i=0 ; i<32 ; i++)
|
||
current->sa[i].sa_handler = NULL;
|
||
|
||
to
|
||
|
||
for (i=0 ; i<32 ; i++)
|
||
if (current->sa[i].sa_handler != SIG_IGN)
|
||
current->sa[i].sa_handler = NULL;
|
||
|
||
Additionally you need to include signal.h at the top of the file. (Note
|
||
that this "patch" may not be exact - this is from memory).
|
||
|
||
> [ kermit send/receive binary ]
|
||
|
||
I use kermit to receive files, and even for terminal emulation, now that
|
||
linux correctly handles the ISIG flag. I always "set filetype binary" in
|
||
both ends, but don't know if it's really necessary (but it's easy to
|
||
make a ".kermrc" file in your home-directory to do these kinds of setups
|
||
automatically). I'd suggest you do likewise: then I know it works.
|
||
|
||
> Has anyone tried bringing up g++ on linux? [ gcc2 and c386 ]
|
||
|
||
I've been thinking about this (hi tytso :), and I will port gcc-2.0 (or
|
||
1.99) as soon as it is available. That should contain g++. Probably in
|
||
january-february says tytso. During the holiday, I will implement VM
|
||
(real paging to disk): I've been going over the algorithms in my head,
|
||
and I think it can be done relatively easily, so hopefully we can scrap
|
||
the c386 compiler (sorry, blum). The paging algorithm will at least in
|
||
the beginning be extremely simple: no LRU or similar, just a simple "get
|
||
next page in the VM-space". Note that VM isn't (even with a good
|
||
algorithm) a "holy grail" - I don't want to be on the same machine when
|
||
someone uses gcc in 2M real mem. Slooooowww. 4M will definitely be
|
||
recommended even with VM, and 1M machines won't work with linux even
|
||
with the VM (you /do/ need some real memory too :-).
|
||
|
||
I have this small question when it comes to the swap-space setup - two
|
||
different possibilities:
|
||
|
||
1 - a swap-device of it's own (ie own partition)
|
||
|
||
2 - file-system swap-area.
|
||
|
||
There are a number of pros and cons: (1) is faster, easier to implement,
|
||
and will need no changes when the filesystem eventually is changed to
|
||
accept >64M etc. (2) has the good side that it means that it would be
|
||
easy to change the size of the swap-area, but if something bad happens,
|
||
it could probably trash the filesystem easily. I'll probably implement
|
||
only (1) for now, but I'd like to hear what you say (and ignore it :-).
|
||
|
||
Linus
|
||
--[0204]-- (nref = [0207])
|
||
|
||
[0205] daemon@ATHENA.MIT.EDU (Peter MacDonald) Linux_Activists 12/17/91 18:16 (18 lines)
|
||
Subject: compress and VM
|
||
Date: Tue, 17 Dec 91 15:08:24 PST
|
||
From: pmacdona@sol.UVic.CA (Peter MacDonald)
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
I have seen a small problem with compress. uncompress *.Z fails to
|
||
uncompress some of the files specified. Failure prints some
|
||
message like EINVAL or something (-; sorry, its been weeks)
|
||
But using uncompress afterwards on the individual file works.
|
||
I wouldn't mention it, but for the compress problems posted.
|
||
|
||
Certainly the easiest swap to disk to implement is the best,
|
||
but using fdisk can be traumatic. Perhaps the way MS Windows
|
||
(shudder) does it would be acceptable. ie. use the file system
|
||
but set the swap size at the boot up time (a number in the kernel
|
||
ala root device?) and allocate a single large file.
|
||
|
||
Thus changing the swap size
|
||
requires only a reboot - after modifying the kernel.
|
||
--[0205]--
|
||
|
||
[0206] daemon@ATHENA.MIT.EDU (Jim Winstead Jr.) Linux_Activists 12/17/91 18:52 (31 lines)
|
||
Subject: Re: compress, and other stuff
|
||
Date: Tue, 17 Dec 91 15:40:55 PST
|
||
From: "Jim Winstead Jr." <jwinstea@jarthur.Claremont.edu>
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
Peter MacDonald says:
|
||
> I have seen a small problem with compress. uncompress *.Z fails to
|
||
> uncompress some of the files specified. Failure prints some
|
||
> message like EINVAL or something (-; sorry, its been weeks)
|
||
|
||
I've seen this problem, too, but it's a little more consistent than
|
||
one might normally think: compress fails (EINVAL) on every other if
|
||
passed a wildcarded argument. That is "uncompress *Z" will give a
|
||
EINVAL error on every other file it tries.
|
||
|
||
> But using uncompress afterwards on the individual file works.
|
||
|
||
It also works to repeat the command, answering yes to the questions
|
||
it asks, as it will on try and decompress the files that have been
|
||
decompressed. It still misses every other file of the repeated
|
||
command, though.
|
||
|
||
Perhaps it's a bug in the port of compress?
|
||
|
||
Also, I've ported unzip, zoo, (un)yabba and a few other things to
|
||
Linux. Any interest in putting these on tsx-11? They were all pretty
|
||
painless, but it might save some people the trouble of compiling them.
|
||
---
|
||
Jim Winstead Jr. (CSci '95) 3 "We are only immortal
|
||
Harvey Mudd College 3 for a limited time..
|
||
jwinstea@jarthur.Claremont.EDU 3 when we are young."
|
||
Disclaimer: Mine, not theirs! 3 -Rush, Dreamline
|
||
--[0206]--
|
||
|
||
[0207] daemon@ATHENA.MIT.EDU ("Mark W. Eichin") Linux_Activists 12/17/91 19:02 (29 lines)
|
||
Subject: Re: one bug, possible other problems (Swapping)
|
||
Date: Tue, 17 Dec 91 18:52:53 -0500
|
||
From: eichin@ATHENA.MIT.EDU ("Mark W. Eichin")
|
||
To: Linus Benedict Torvalds <torvalds@cc.helsinki.fi>
|
||
Cc: Linux-activists@joker.cs.hut.fi
|
||
In-Reply-To: [204]
|
||
|
||
>> I have this small question when it comes to the swap-space setup - two
|
||
>> different possibilities:
|
||
>> 1 - a swap-device of it's own (ie own partition)
|
||
>> 2 - file-system swap-area.
|
||
I'd argue for both, but do swap partition first because it'll
|
||
be done sooner that way. Under SunOS, you get your swap partition
|
||
which is big enough for normal work (and I think is faster but I could
|
||
be wrong) and then when you need more space for a special project, you
|
||
just create a big file and swap from that until next reboot.
|
||
One of the biggest losses with the NeXT machine (at least up
|
||
to OS 2.1) is that it uses in-file-system swapping. When disk space is
|
||
tight, the OS heads for Mars... this is exacerbated by the fact that
|
||
NeXT OS can grab more space dynamically, but never gives it back, and
|
||
*can't control how much it will try to grab*. A good example of how a
|
||
well intentioned design can turn around and bite you.
|
||
_Mark_ <eichin@athena.mit.edu>
|
||
MIT Student Information Processing Board
|
||
(Another interesting feature of SunOS is the "tmpfs" temporary file
|
||
system... it's like a ram disk, but it's in VM so it can get swapped
|
||
out. It makes a rather fast /tmp since it doesn't have any of the
|
||
guaranteed write-to-disk semantics of UFS, and in fact any actual disk
|
||
writes get done "later". The problem is when you've got something both
|
||
memory *and* disk intensive using it.)
|
||
--[0207]-- (pref = [0204])
|
||
|
||
[0208] daemon@ATHENA.MIT.EDU (Tony Travis) Linux_Activists 12/18/91 06:23 (34 lines)
|
||
Subject: Re: kermit
|
||
Date: Wed, 18 Dec 1991 10:35:00 +0000
|
||
From: Tony Travis <ajt@rowett.scot-agric-res-inst.ac.uk>
|
||
To: Linux-activists@joker.cs.hut.fi
|
||
|
||
Michael,
|
||
|
||
In my experience, both ends need to be set to 'i'mage (binary) mode with
|
||
the single exception of MSDOS kermit which treats all files the same.
|
||
|
||
Tony
|
||
|
||
-------------------------------------------------------------------------------
|
||
Dr. A.J.Travis <ajt@uk.ac.sari.rri> | Rowett Research Institute,
|
||
| Greenburn Road, Bucksburn, Aberdeen,
|
||
| AB2 9SB. UK. tel 0224-712751
|
||
|
||
|
||
>
|
||
> Regarding my mailing a few hours ago, apparently my "uniq.Z" was corrupted.
|
||
> However, this is worth noting, because it is not corrupted on tsx-11, where
|
||
> I got it, and it is not corrupted on the unix system I ftp'd to either. I
|
||
> transfered it to my system using kermit, and it was apparently then that it
|
||
> was corrupted. I used
|
||
> kermit -i -s uniq.Z
|
||
> to send the file, and thought that image or ascii is determined by the
|
||
> sender. I *was* using the new kermit. Is this a misunderstanding, a bug,
|
||
> or a feature?
|
||
>
|
||
> thanks much!
|
||
>
|
||
> michaelkjohnson
|
||
> johnsonm@stolaf.edu
|
||
> I don't do .sig's
|
||
>
|
||
--[0208]--
|
||
|
||
[0209] daemon@ATHENA.MIT.EDU (John T Kohl) Linux_Activists 12/18/91 18:43 (13 lines)
|
||
Subject: GNU find 2.1 on tsx-11
|
||
Date: Wed, 18 Dec 91 15:25:23 PST
|
||
To: linux-activists@joker.cs.hut.fi
|
||
From: John T Kohl <jtkohl@cs.berkeley.edu>
|
||
Reply-To: jtkohl@cs.berkeley.edu
|
||
|
||
You'll find GNU find 2.1 and associated tools, a README file, and diffs
|
||
from the GNU distribution in
|
||
tsx-11.mit.edu:/pub/linux/binaries/find-2.1/
|
||
|
||
[yes, I know that gnu find 1.2 is also there, but I figured why not use
|
||
the latest & greatest]
|
||
|
||
John
|
||
--[0209]--
|
||
|
||
[0210] daemon@ATHENA.MIT.EDU (Robert Blum) Linux_Activists 12/19/91 01:39 (253 lines)
|
||
Subject: A FAQ is coming...
|
||
Date: Thu, 19 Dec 91 07:29:21 +0100
|
||
From: blum@cip-s01.informatik.rwth-aachen.de (Robert Blum)
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
Hi Linuxers!
|
||
|
||
Following is a FAQ-compilation (most credits to Linus) for Linux.
|
||
Mail me, if you like it, and mail me, if you dislike it or have
|
||
any ideas on changing this.
|
||
|
||
Thanks in advance,
|
||
Robert Blum
|
||
|
||
|
||
QUESTION: What is linux?
|
||
|
||
ANSWER: Linux is a small unix for 386-AT computers, that has the added
|
||
advantage of being free. It is still in beta-testing, but is slowly
|
||
getting useful even for somewhat real developement.
|
||
|
||
|
||
QUESTION: Does it run on my computer?
|
||
|
||
ANSWER: Linux has been written on a clone-386, with IDE drives and a VGA
|
||
screen. It should work on most similar setups. The harddisk should be
|
||
AT-standard (ie not SCSI, ESDI), and the system must be ISA. Otherwise
|
||
the requirements seem relatively small: a 386 (SX, DX or any 486). The
|
||
current version (0.10) needs a colour screen adapter, but this is not
|
||
the case with the next version.
|
||
|
||
It needs at least 2M to run, and 4M is definitely a plus. It can happily
|
||
use up to 16M (and more if you change some things).
|
||
|
||
|
||
QUESTION: Will linux run on a PC or 286-AT? If not, why?
|
||
|
||
ANSWER: Linux uses the 386 chip protected mode functions extensively,
|
||
and is a true 32-bit operating system. Thus x86 chips, x<3, will simply
|
||
not run it.
|
||
|
||
|
||
QUESTION: Does linux do paging? Can I have virtual memory on my small
|
||
machine?
|
||
|
||
ANSWER: Linux does use the 386 paging unit, but currently only for
|
||
memory management. No use of disks as expansion RAM. This is one of the
|
||
things that will be implemented sometime in the (far?) future. Linux
|
||
also uses the paging unit to share pages between several processes after
|
||
a fork: thus it needs less memory. However, almost all the user programs
|
||
available for linux are GNU software, which want gobs and gobs of
|
||
memory. This is the reason at least 4M is recommended: GNU cc (gcc)
|
||
simply won't run in less.
|
||
|
||
|
||
QUESTION: Can I have tasks spanning the full 4GB of addressable 386
|
||
memory? No more 64kB limits like in coherent or standard minix?
|
||
|
||
ANSWER: Linux does limit the task-size, but at a much more reasonable
|
||
64MB (MEGA-byte, not kilos), so bigger programs are no problem.
|
||
|
||
|
||
QUESTION: Does the bigger program sizes mean I can run X?
|
||
|
||
ANSWER: X is not ported to linux, and though I hope it will be some day,
|
||
I cannot guarantee it. It's big, and wants a lot from the system.
|
||
|
||
|
||
QUESTION: Where can I get linux? Is there a mailserver?
|
||
|
||
ANSWER: Linux can be gotten by anonymous ftp from
|
||
nic.funet.fi (128.214.6.100):
|
||
directory /pub/OS/Linux
|
||
Tupac-Amaru.Informatik.RWTH-Aachen.DE (137.226.112.31):
|
||
directory /pub/msdos/replace
|
||
tsx-11.mit.edu (18.172.1.2):
|
||
directory /pub/linux
|
||
ftp.eecs.umich.edu (141.212.99.7):
|
||
directory linux
|
||
You might want to check out which of these is the most up-to-date.
|
||
|
||
If you don't have ftp-capability, you are in trouble. You might try
|
||
mailing "mailserver@nic.funet.fi" with "help" in the body of the mail.
|
||
|
||
|
||
QUESTION: Is there a newsgroup or mailing-list about linux? Where can I
|
||
get my questions answered? How about bug-reports?
|
||
|
||
ANSWER: There is a mailing list set up at the address
|
||
'Linux-activists@niksula.hut.fi'. To join, mail a request to
|
||
'Linux-activists-request@niksula.hut.fi'. DO NOT mail "I want to
|
||
[un]subscribe" to the mailing-list, use the request-address.
|
||
|
||
Questions and bug-reports can be sent either to the mailing-list or to
|
||
"torvalds@kruuna.helsinki.fi", depending on which you find more
|
||
appropriate.
|
||
|
||
|
||
QUESTION: I got the minix-demo, but it won't boot. Linux boots from
|
||
floppy. What's wrong?
|
||
|
||
ANSWER: You probably wrote the minix demo to a 1.44M disk, which (for
|
||
some unfathomable reason) doesn't work. The minix demo wants a 720kB or
|
||
1.2M disk.
|
||
|
||
|
||
QUESTION: The minix-demo boots all right, but doesn't seem to recognize
|
||
my second harddisk. What's up?
|
||
|
||
ANSWER: The minix-demo does support a second harddisk, but there are no
|
||
special files made for it, and the minix demo doesn't include the
|
||
"mknod" command. Mount the linux root-floppy, and use the devices on
|
||
that.
|
||
|
||
|
||
QUESTION: How can I be sure I won't be writing over anything important?
|
||
I have to use DOS in on my machine, and I don't want to lose any files.
|
||
|
||
ANSWER: Back up everything. Just in case. Then, write some easily
|
||
recognizable pattern to the partition you have reserved for linux, using
|
||
some DOS tool. You can then use "cat /dev/hdX" under minix to examine
|
||
which of the partitions you used.
|
||
|
||
|
||
QUESTION: Minix mkfs doesn't accept the size I give the device, although
|
||
I double-checked with fdisk, and it's correct.
|
||
|
||
ANSWER: Be sure you give the size in BLOCKS, ie 1024 bytes, not sectors.
|
||
Also, make doubly certain that you have the correct partition.
|
||
|
||
|
||
QUESTION: I used the minix mkfs to make a filesystem on /dev/hd3 after
|
||
having checked that this was indeed the partition I had reserved. Minix
|
||
mounts the new partition ok, but linux doesn't. What gives?
|
||
|
||
ANSWER: In some cases partitions are numbered differently under minix
|
||
and linux. This seems to correlate to the FDISK version you have used.
|
||
/dev/hd3 under minix may be /dev/hd2 under linux etc.
|
||
|
||
There are a few rules about this: /dev/hd0 and /dev/hd5 are always the
|
||
same under linux and minix. DO NOT USE THEM, they are the whole raw
|
||
disk, not partitions. Also if a partition is on drive 1 under minix (ie
|
||
/dev/hd1-4), it is drive 1 under linux as well.
|
||
|
||
|
||
QUESTION: I mounted the linux filesystem, and copied the files from the
|
||
root-disk to the harddisk. Now I cannot find them any more, and
|
||
somethimes linux dies with a "panic: trying to free unused inode".
|
||
|
||
ANSWER: You have probably forgot to sync before rebooting. Linux, like
|
||
all unices, use a "buffer cache" to speed up reads and writes to disk.
|
||
On a machine that has enough memory, this buffer-cache is 1.5MB, and if
|
||
you forget to sync before exiting, it may not be fully written out to
|
||
disk. Re-mkfs and re-install (or try to use the preliminary fsck, but
|
||
remeber that although fsck tries to correct the faults it finds, it may
|
||
fail.)
|
||
|
||
|
||
QUESTION: the mtools package on the root-disk won't work. I get an
|
||
ENOENT error message for all devices.
|
||
|
||
ANSWER: mtools needs to be told which device to look for. Use 'ln' or
|
||
'mknod' to create a sepcial file called "/dev/dosX", where X is A, B or
|
||
C. This file should point to the device you want to read.
|
||
|
||
|
||
QUESTION: Turbo (Microsoft) Assembler won't compile the Linux boot code.
|
||
In fact, some of the opcodes in these files look completely unfamiliar. Why?
|
||
|
||
ANSWER: The Linux boot codes are written in Bruce Evans' minix assembler,
|
||
which has the same opcodes as the original minix assembler. There are a few
|
||
differences between these and normal DOS assemblers:
|
||
|
||
- No segments - everything is in the same segment (at least in the
|
||
bootsectors and setup, as they don't use the .data segments)
|
||
|
||
- mov[b|w|l] are shorter versions of mov ax,[byte|word|long] ptr [XXX].
|
||
This is how unix assemblers normally give the size (byte, word or long).
|
||
Gas has similar constructs.
|
||
|
||
- There is no "jmp short", the opcodes are "j" for a short jump and
|
||
"jmp" for a long one.
|
||
|
||
- "jmpi" is a jump with a segment:offset pair. I don't know how this is
|
||
written in DOS assembly.
|
||
|
||
|
||
QUESTION: While running du I get "Kernel panic: free_inode: bit already
|
||
cleared". Also, du produces a ENOENT error for all the files in certain
|
||
of my directories. What's going on?
|
||
|
||
ANSWER: These are both consistent with a bad file-system. That's relatively
|
||
easy to produce by not syncing before rebooting, as linux usually has 1.5MB
|
||
of buffer space held in memory (unless you have <=4M RAM, in which case
|
||
the buffers are only about 0.5MB). Also linux doesn't do anything
|
||
special about the bit-map blocks, and as they are used often, those are
|
||
the thing most likely to be in memory. If you reboot, and they haven't
|
||
been written to disk ...
|
||
|
||
I'm afraid that as long as there is no fsck for linux there is no way to
|
||
correct the matter (unless you have minix and can run minix fsck), and
|
||
the only thing to do is to reinstall the filesystem from scratch (ie do
|
||
a mkfs from the minix demodisk and reboot from the original
|
||
linux-floppy).
|
||
|
||
A sync is done only every 30 seconds normally (standard unix practice),
|
||
so do one by hand (some people think you should do 3 syncs after each
|
||
other, but that's superstition), or by logging out from the
|
||
startup-shell, which automatically syncs the system. Unmounting a
|
||
filesystem also syncs it (but of course you can never unmount root).
|
||
|
||
Another (sad) possibility is that you have bad blocks on your disk. Not
|
||
very probable, as they would have to be in the inode-tables, just a
|
||
couple of blocks in size. Again there aren't programs available to read
|
||
a disk for bad sectors and put them in some kind of "bad-sector-file".
|
||
On IDE drives this is no problem (bad sectors are automatically mapped
|
||
away).
|
||
|
||
|
||
QUESTION: What is the "em" binary?
|
||
|
||
ANSWER: Em is micro-EMacs (probably version 3.10).
|
||
|
||
QUESTION: I seem to be unable to compile anythong with gcc. Why?
|
||
|
||
ANSWER: If you have only 2 MB RAM, gcc will die silently without compiling
|
||
anything. You must have at least 4 MB to do compilations
|
||
|
||
|
||
QUESTION: I'm using a program that uses signal handlers which are installed
|
||
using sigaction() with the SA_NOMASK, and they get a general protection
|
||
error right after the signal handler tries to return. What's going
|
||
wrong?
|
||
|
||
ANSWER: You are using a libc.a that has an out-of-date signal.o and
|
||
sig_restore.o file, and they don't know how to deal with SA_NOMASK.
|
||
(The one in gccbin.tar.Z is out-of-date.) You can obtain the newer
|
||
signal.c from the unistd.tar.Z file, but don't use the associated
|
||
sig_restore.c from there; the FTP sites should have a separate
|
||
sig_restore.c which is up to date. While you're at it, you should also
|
||
get an updated crt0.c file as well, and install your new crt0.o and
|
||
libc.a in /usr/lib.
|
||
|
||
(This answer will likely change in the near future, since there are
|
||
plans to change the format of the signal trampoline code yet again....
|
||
but for now, this should be an accurate description of how things stand
|
||
now.)
|
||
|
||
|
||
QUESTION: gcc complains about not finding crt0.o and the system include files
|
||
What am i doing wrong ?
|
||
|
||
ANSWER: The include files normal place is in /usr/include. libc.a and *.a
|
||
should be in /usr/lib
|
||
--[0210]--
|
||
|
||
[0211] daemon@ATHENA.MIT.EDU (Robert Blum) Linux_Activists 12/19/91 01:42 (143 lines)
|
||
Subject: And another version of the INFO sheet
|
||
Date: Thu, 19 Dec 91 07:34:10 +0100
|
||
From: blum@cip-s01.informatik.rwth-aachen.de (Robert Blum)
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
Hi Linuxers!
|
||
|
||
Here is the re-edited version of the Linux info sheet.
|
||
Thank you for all your replies, especially to the guy who sent me the
|
||
diff. (Sorry, forgot your name)
|
||
The list of groups it will be posted to has changed to:
|
||
|
||
comp.binaries.ibm.pc.d
|
||
comp.os.coherent
|
||
comp.os.mach
|
||
comp.os.minix
|
||
comp.os.misc
|
||
comp.unix.sysv386
|
||
comp.unix.programmers
|
||
gnu.misc.discuss
|
||
|
||
If you haven't any further additions or corrections, I'll send out the
|
||
INFO sheet thursday, the 26th of december.
|
||
|
||
Have a merry Xmas!
|
||
Robert Blum
|
||
|
||
LINUX INFORMATION SHEET
|
||
(last updated 19 Dec 1991)
|
||
|
||
1. WHAT IS LINUX 0.11
|
||
LINUX 0.11 is a freely distributable UNIX clone. It implements a
|
||
subset of System V and POSIX functionality. LINUX has been written
|
||
from scratch, and therefore does not contain any AT&T or MINIX
|
||
code--not in the kernel, the compiler, the utilities, or the libraries.
|
||
For this reason it can be made available with the complete source code
|
||
via anonymous FTP. LINUX runs only on 386/486 AT-bus machines; porting
|
||
to non-Intel architectures is likely to be difficult, as the kernel
|
||
makes extensive use of 386 memory management and task primitives.
|
||
|
||
Version 0.11 is still a beta release, but it already provides much
|
||
of the functionality of a System V.3 kernel. For example, various
|
||
users have been able to port programs such as bison/flex without having
|
||
to modify code at all. Another indication of its maturity is that
|
||
it is now possible to do LINUX kernel development using LINUX itself
|
||
and freely-available programming tools.
|
||
|
||
2. LINUX features
|
||
- System call compatible with a subset of System V and POSIX
|
||
- Full multiprogramming (multiple programs can run at once)
|
||
- Memory paging with copy-on-write
|
||
- Demand loading of executables
|
||
- Page sharing of executables
|
||
- ANSI compliant C compiler (gcc)
|
||
- A complete set of compiler writing tools
|
||
(bison as yacc-replacement, flex as lex replacement)
|
||
- The GNU 'Bourne again' shell (bash)
|
||
- Micro emacs
|
||
- most utilities you need for development
|
||
(cat, cp, kermit, ls, make, etc.)
|
||
- Over 200 library procedures (atoi, fork, malloc, read, stdio, etc.)
|
||
- Currently 4 national keyboards: Finnish/US/German/French
|
||
- Full source code (in C) for the OS is freely distributable
|
||
- Full source code of the tools can be gotten from many anonymous ftp sites
|
||
(Almost the entire suite of GNU programs has been ported to Linux.)
|
||
- Runs in protected mode on 386 and above
|
||
- Support for extended memory up to 16M on 386 and above
|
||
- RS-232 serial line support with terminal emulation, kermit, zmodem, etc.
|
||
- Supports the real time clock
|
||
|
||
|
||
3. HARDWARE REQUIRED
|
||
- A 386 or 486 machine with an AT-bus. (EISA will probably work, also,
|
||
but you will need an AT-bus hard disk controller.)
|
||
Both DX and SX processors will work.
|
||
- A hard disk implementing the standard AT hard disk interface--
|
||
for example, an IDE drive. SCSI drives are not supported yet.
|
||
- A high-density disk drive--either 5.25" (1.2MB) or 3.5" (1.44MB).
|
||
- At least 2 megabytes of RAM. (LINUX will boot in 2 Mb. To use
|
||
gcc at least 4 MB are required.)
|
||
- Any video card of the following: Hercules,CGA,EGA,VGA
|
||
|
||
In addition, LINUX supports
|
||
- Up to two serial lines
|
||
- A real time clock
|
||
|
||
4. PARTIAL LIST OF UTILITIES INCLUDED IN OR AVAILABLE FOR LINUX 0.11
|
||
- The MTOOLS package (reading/writing to DOS filesystems)
|
||
- The complete GNU filetools (ls, cat, cp, mv, ...)
|
||
- The GNU C compiler with GNU assembler, linker, ar, ...
|
||
- bison
|
||
- flex
|
||
- rcs
|
||
- pmake (BSD 4.3 Reno/BSD 4.4 make)
|
||
- kermit
|
||
- Micro emacs
|
||
- less
|
||
- mkfs
|
||
- fsck
|
||
- mount/umount
|
||
|
||
|
||
5. LINUX BINARIES
|
||
The LINUX binaries and sources are available at three
|
||
anonymous FTP sites. These are:
|
||
|
||
nic.funet.fi:/pub/OS/Linux
|
||
tsx-11.mit.edu:/pub/linux
|
||
tupac-amaru.informatik.rwth-aachen.de:/pub/msdos/replace
|
||
|
||
|
||
6. LEGAL STATUS OF LINUX
|
||
Although LINUX is supplied with the complete source code, it is
|
||
copyrighted software. Unlike MINIX, however, it is available for free,
|
||
provided you obey to the rules specified in the LINUX copyright.
|
||
|
||
|
||
7. NEWS ABOUT LINUX
|
||
Since LINUX's introduction to the public there has been a rapidly
|
||
growing mailing list, "linux-activists@niksula.hut.fi". To subscribe to
|
||
this list, mail to "linux-activists-requests@niksula.hut.fi". If the
|
||
traffic in this lists increases further, there are plans to swap ( at
|
||
least partially ) over to comp.os.misc, so watch out for any LINUX
|
||
articles in this group. For the current status of LINUX, do "finger
|
||
torvalds@kruuna.helsinki.fi".
|
||
|
||
|
||
8. FUTURE PLANS
|
||
Work is underway on LINUX version 1.0, which will close some of the
|
||
gaps in the present implementation. Various people are currently working
|
||
on:
|
||
- Math support/fp emulation in the kernel
|
||
- Page swapping (since paging is already implemented)
|
||
- A virtual filesystem layer
|
||
- STREAMS
|
||
- POSIX job control (This is already alpha and will probably be
|
||
out with Version 0.12.)
|
||
- init/getty/login
|
||
- symbolic links
|
||
- Interprocess communication
|
||
- IEEE POSIX P1003.1 / P1003.2 compatibility
|
||
- SCSI support
|
||
If you want to help, join the mailing list.
|
||
|
||
--[0211]--
|
||
|
||
[0212] daemon@ATHENA.MIT.EDU (Linus Benedict Torvalds) Linux_Activists 12/19/91 13:25 (41 lines)
|
||
Subject: VM, version 0.12
|
||
Date: Thu, 19 Dec 1991 19:51:45 +0200
|
||
From: Linus Benedict Torvalds <torvalds@cc.helsinki.fi>
|
||
To: Linux-activists@joker.cs.hut.fi
|
||
|
||
|
||
/\
|
||
/ \
|
||
/ \
|
||
/ \ Seasons Greetings
|
||
/ \
|
||
||
|
||
|
||
Ho, ho ho, and a happy X-mas/chanukah/whatever to you all. I'm probably
|
||
mailing to a lot of non-listening mail-boxes, but who cares.
|
||
|
||
This is a warning for all you out there making changes to the linux
|
||
kernel: if you want your changes to be in 0.12, I want them by early
|
||
January (5th-10th ta the latest). As it looks now, 0.12 will be out
|
||
about 15th of January, and will contain at least these new things:
|
||
|
||
- POSIX job control (by tytso, alpha-release available already)
|
||
- VM (by me - I'll probably make alphas available after X-mas)
|
||
- Various small corrections (by me, tytso, jtkohl, drew etc)
|
||
- Anything else people send me.
|
||
|
||
I got VM working today (not bad in two days if I may say so :-), but
|
||
haven't really tested extensively. I tried some compilations (I remade
|
||
uemacs) on a 2M machine (or rather a 8M machine, of which Linux sees
|
||
only 2M), and it worked (gcc, make, bash etc in memory ar the same
|
||
time), albeit slowly. There are probably still problems, but it seems
|
||
VM will definitely be in 0.12.
|
||
|
||
Note that the earlier I get your fixes, the easier it will be to
|
||
implement them all: if I get many fixes 0.12 may be a little late, so
|
||
the January 15th date isn't really fixed. Also, after releasing 0.12
|
||
I'll probably have to study a bit harder than I did this autumn (which
|
||
isn't hard per se :-), which may mean that the new releases won't be
|
||
coming once per month or so any more. Hopefully 0.12 will be good
|
||
enough to use.
|
||
|
||
Linus "Ugly X-mas trees are my speciality" Torvalds
|
||
--[0212]--
|
||
|
||
[0213] daemon@ATHENA.MIT.EDU (Pietro Caselli) Linux_Activists 12/20/91 00:07 (23 lines)
|
||
Subject: Re: Re: compress, and other stuff
|
||
To: linux-activists@joker.cs.hut.fi
|
||
Date: 18 Dec 91 19:22:50 MET (Wed)
|
||
From: zaphod@petruz.sublink.org (Pietro Caselli)
|
||
|
||
|
||
> From: "Jim Winstead Jr."
|
||
>
|
||
> Also, I've ported unzip, zoo, (un)yabba and a few other things to
|
||
> Linux. Any interest in putting these on tsx-11? They were all pretty
|
||
> painless, but it might save some people the trouble of compiling them.
|
||
> ---
|
||
|
||
I ported zip 1.0 if there is interest I'll post it on funet.
|
||
( Zip1.0 works great, I had just to discard encryption/decription from
|
||
it. )
|
||
|
||
Ciao.
|
||
|
||
Pietro Caselli |
|
||
internet: zaphod@petruz.sublink.org | IF YOU MEET THE BUDDHA
|
||
: pietro@deis33.cineca.it | ON THE ROAD,KILL HIM.
|
||
Mail : V. Pietro Mattiolo, 4 |
|
||
40139 Bologna ITALY |
|
||
--[0213]--
|
||
|
||
[0214] daemon@ATHENA.MIT.EDU (Pietro Caselli) Linux_Activists 12/20/91 00:09 (49 lines)
|
||
Subject: Re: one bug, possible other problems
|
||
To: linux-activists@joker.cs.hut.fi
|
||
Date: 18 Dec 91 19:18:14 MET (Wed)
|
||
From: zaphod@petruz.sublink.org (Pietro Caselli)
|
||
|
||
|
||
> > Has anyone tried bringing up g++ on linux? [ gcc2 and c386 ]
|
||
|
||
Hmmmm, I'd like to test myself on gcc2 but ... where can I find it ?
|
||
( I asked archie but got no response :-( )
|
||
|
||
> I have this small question when it comes to the swap-space setup - two
|
||
> different possibilities:
|
||
>
|
||
> 1 - a swap-device of it's own (ie own partition)
|
||
>
|
||
> 2 - file-system swap-area.
|
||
>
|
||
> There are a number of pros and cons: (1) is faster, easier to implement,
|
||
> and will need no changes when the filesystem eventually is changed to
|
||
> accept >64M etc. (2) has the good side that it means that it would be
|
||
> easy to change the size of the swap-area, but if something bad happens,
|
||
> it could probably trash the filesystem easily. I'll probably implement
|
||
> only (1) for now, but I'd like to hear what you say (and ignore it :-).
|
||
|
||
Ok, start discarding my hints :-).
|
||
|
||
Solution 1) is the best, is faster, cleaner and easyer to mantain. But with
|
||
the fu###ing limitation of four partition for HD it gives to me a lot of
|
||
trouble. ( And think to many other ) Now I've a Dos partition, 2 Minix
|
||
partitions ( root and /usr ) and a Linux partition. I can't add any more :-(
|
||
When Linux gets older, i.e when it'll have virtual consoles, pttys etc
|
||
I'll be pleased to kill minix but ... I know It needs time.
|
||
|
||
So, why not add both 1) and 2) ?
|
||
|
||
( Christmass holidays are long, I'll go skiing but I think you'll have
|
||
plainty of time to make both :-) )
|
||
|
||
> Linus
|
||
|
||
Ciao.
|
||
Pietro
|
||
|
||
|
||
Pietro Caselli |
|
||
internet: zaphod@petruz.sublink.org | IF YOU MEET THE BUDDHA
|
||
: pietro@deis33.cineca.it | ON THE ROAD,KILL HIM.
|
||
Mail : V. Pietro Mattiolo, 4 |
|
||
40139 Bologna ITALY |
|
||
--[0214]--
|
||
|
||
[0215] daemon@ATHENA.MIT.EDU (Hakkarainen Kimmo) Linux_Activists 12/20/91 06:12 (20 lines)
|
||
Subject: less version 177
|
||
From: Hakkarainen Kimmo <h108373@cc.tut.fi>
|
||
To: linux-activists@joker.cs.hut.fi (Linux activists)
|
||
Date: Fri, 20 Dec 91 12:59:21 EET
|
||
|
||
Hello,
|
||
|
||
I found sources for less 177 in garbo.uwasa.fi. I compiled it and
|
||
noticed it being better than the version we already have (0.97).
|
||
I will put both sources and binaries in nic.funet.fi. I hope
|
||
those will show up in couple of days.
|
||
|
||
BTW less 177 supports editor-escape (or what should it be called)
|
||
and I changed the default editor to be emacs not "vi". If you
|
||
have any questions, please feel fre to ask me.
|
||
|
||
PS. Merry christmas to everyone.
|
||
--
|
||
Kimmo Hakkarainen (h108373@cc.tut.fi)
|
||
|
||
Fire, walk with me.
|
||
--[0215]--
|
||
|
||
[0216] daemon@ATHENA.MIT.EDU (Ari Lemmke) Linux_Activists 12/20/91 10:39 (22 lines)
|
||
Subject: less version 177
|
||
Date: Fri, 20 Dec 1991 17:29:19 +0200
|
||
From: Ari Lemmke <arl@zen.cs.hut.fi>
|
||
To: linux-activists@joker.cs.hut.fi
|
||
In-Reply-To: Hakkarainen Kimmo's message of Fri, 20 Dec 91 12:59:21 EET <9112201059.AA09690@cc.tut.fi>
|
||
|
||
|
||
Kimmo Hakkarainen writes:
|
||
>I found sources for less 177 in garbo.uwasa.fi. I compiled it and
|
||
>noticed it being better than the version we already have (0.97).
|
||
>I will put both sources and binaries in nic.funet.fi. I hope
|
||
>those will show up in couple of days.
|
||
|
||
Available in nic.funet.fi:/pub/OS/Linux/bin
|
||
|
||
less-177.bin.tar.Z
|
||
less-177.src.tar.Z
|
||
|
||
I really like version numbers within names ...
|
||
|
||
arl
|
||
|
||
PS. merry Xmas ...
|
||
--[0216]--
|
||
|
||
[0217] daemon@ATHENA.MIT.EDU (Theodore Ts'o) Linux_Activists 12/20/91 11:14 (26 lines)
|
||
Subject: Re: one bug, possible other problems
|
||
Date: Fri, 20 Dec 91 11:03:59 -0500
|
||
From: tytso@ATHENA.MIT.EDU (Theodore Ts'o)
|
||
To: linux-activists@joker.cs.hut.fi
|
||
In-Reply-To: Pietro Caselli's message of 18 Dec 91 19:18:14 MET (Wed),
|
||
Reply-To: tytso@athena.mit.edu
|
||
|
||
X-Mailer: W-MAIL 3.64/MINIX (11/13/90)
|
||
Date: 18 Dec 91 19:18:14 MET (Wed)
|
||
From: zaphod@petruz.sublink.org (Pietro Caselli)
|
||
|
||
Solution 1) is the best, is faster, cleaner and easyer to mantain. But with
|
||
the fu###ing limitation of four partition for HD it gives to me a lot of
|
||
trouble. ( And think to many other ) Now I've a Dos partition, 2 Minix
|
||
partitions ( root and /usr ) and a Linux partition. I can't add any more :-(
|
||
When Linux gets older, i.e when it'll have virtual consoles, pttys etc
|
||
I'll be pleased to kill minix but ... I know It needs time.
|
||
|
||
One solution to this which I've been kicking about, but haven't had time
|
||
to implement, is run-time configurable partitions. So you could set up
|
||
a 96 meg partition for Linux (at least as far as the MS-LOSS
|
||
partitioning scheme is concerned) and have /dev/hd3 refer to it. Then
|
||
in /etc/rc, you call a program which configures /dev/hd16 to be the last
|
||
32 megs of /dev/hd3, using ioctl's. Turn on swapping on /dev/hd16, and
|
||
you're all set.
|
||
|
||
- Ted
|
||
--[0217]--
|
||
|
||
[0218] daemon@ATHENA.MIT.EDU (Robert Blum) Linux_Activists 12/20/91 14:05 (17 lines)
|
||
Subject: gcc barfs at string.h
|
||
Date: Fri, 20 Dec 91 19:56:31 +0100
|
||
From: blum@cip-s01.informatik.rwth-aachen.de (Robert Blum)
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
|
||
Hi Linuxers!
|
||
While I was alpha-testing VM, the following occured:
|
||
I compiled the kernel, and the first file to include string.h wouldn't compile
|
||
at the line
|
||
extern int __res __asm("ax");
|
||
(just quoted from mind, may not be exact, can be found first with strcmp)
|
||
this gives a "parse error before )", and later on, an
|
||
undefined __res
|
||
Any clues what this could be? Is it me or is it a broken gcc or is it VM?
|
||
Thanks for your help, and have a merry christmas
|
||
|
||
Robert "blow it all" Blum
|
||
--[0218]--
|
||
|
||
[0219] daemon@ATHENA.MIT.EDU (Bruce Evans) Linux_Activists 12/20/91 22:17 (17 lines)
|
||
Subject: Re: less version 177
|
||
Date: Sat, 21 Dec 91 03:24:10 +1100
|
||
From: Bruce Evans <bde@runx.oz.au>
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
>I found sources for less 177 in garbo.uwasa.fi. I compiled it and
|
||
>noticed it being better than the version we already have (0.97).
|
||
|
||
I think version 0.97 is much better than 177 :-), mainly because my
|
||
version of it has hacks to read compressed files. I seem to remember
|
||
that the author of less strongly objected to such impurities, but
|
||
when your disk has a lot of compressed files it's nice to be able to
|
||
say "less *" and not get garbage or useless warnings about binary
|
||
files. I looked at putting decompression in version 177 but the
|
||
changes in buffering stdin made things too difficult considering
|
||
that 0.97 already works.
|
||
|
||
Bruce
|
||
--[0219]--
|
||
|
||
[0220] daemon@ATHENA.MIT.EDU (Jim Winstead Jr.) Linux_Activists 12/20/91 23:01 (31 lines)
|
||
Subject: Re: less v1.77
|
||
Date: Fri, 20 Dec 91 19:50:59 PST
|
||
From: "Jim Winstead Jr." <jwinstea@jarthur.Claremont.edu>
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
You can set up a small shell script to view compressed files via less, as
|
||
well. I have one called zless that is simply 'zcat $* | less', and it works
|
||
wonders.
|
||
|
||
Does the less v1.77 available include regular-expression searching? When
|
||
I tried compiling less v1.77, I found that I had to replace the included
|
||
regex.[ch] with ones from another GNU utility.
|
||
|
||
Speaking of GNU utilities, someone mentioned making find 2.1 available,
|
||
because it was the "latest and greatest". I looked on prep.ai.mit.edu,
|
||
the official distribution point of GNU stuff, and it has find-3.2.tar.Z.
|
||
Is there any interest in getting this ported to Linux?
|
||
|
||
Has anyone had any luck porting gawk more successfully? The current port
|
||
fails to pass the test programs included with the current GNU distribution,
|
||
and when I've tried to build that version (3.?), it fails on eval.c due to
|
||
error 32 or something nice and cryptic like that. I would assume it's trying
|
||
to compile floating-point stuff, and since I lack a math coprocessor....
|
||
|
||
My main interest in getting a (better-)working gawk is to use awf as a
|
||
replacement for nroff, at least until some maniac ports gtroff (which
|
||
requires porting g++ first :)
|
||
---
|
||
Jim Winstead Jr. (CSci '95) 3 "We are only immortal
|
||
Harvey Mudd College 3 for a limited time..
|
||
jwinstea@jarthur.Claremont.EDU 3 when we are young."
|
||
Disclaimer: Mine, not theirs! 3 -Rush, Dreamline
|
||
--[0220]--
|
||
|
||
[0221] daemon@ATHENA.MIT.EDU (John T Kohl) Linux_Activists 12/21/91 00:03 (61 lines)
|
||
Subject: Re: Serial Communications...
|
||
Date: Fri, 20 Dec 91 20:56:14 PST
|
||
To: mpeters@polyslo.csc.calpoly.edu (Marc Peters)
|
||
Cc: linux-activists@joker.cs.hut.fi
|
||
In-Reply-To: [180]
|
||
From: John T Kohl <jtkohl@cs.berkeley.edu>
|
||
Reply-To: jtkohl@cs.berkeley.edu
|
||
|
||
re: weirdness with 2-char things for serial lines.
|
||
|
||
I just saw the same thing for the first time. It appears to be a
|
||
problem with the both sending and receiving data, as I saw weirdness
|
||
with output from the far end of the call as well as weirdness with stuff
|
||
I typed.
|
||
|
||
To get the serial line in this pickle, I started up a tcsh shell on that
|
||
line while I had a terminal connected, and then I turned up the baudrate
|
||
to 9600. I then put my modem back on, ran kermit (which reset the baud
|
||
rate to 2400), and saw the problem. I then rebooted, and it cleared.
|
||
This is reproducible.
|
||
|
||
Linus (or anybody who knows details on the serial lines), is this enough
|
||
info to debug the problem?
|
||
|
||
John
|
||
|
||
P.S. If you have a terminal and want to spawn a shell on it, here's a
|
||
program to do that. Just running the shell with redirected input/output
|
||
doesn't work right, as the controlling terminal doesn't get set right.
|
||
|
||
#include <stdio.h>
|
||
#include <sys/file.h>
|
||
#include <errno.h>
|
||
|
||
extern char *sys_errlist[];
|
||
|
||
main(int argc, char *argv[])
|
||
{
|
||
|
||
if (argc != 3) {
|
||
fprintf(stderr, "usage: doshell <ttyname> <shellname> &\n");
|
||
exit(1);
|
||
}
|
||
|
||
/* close down fd's */
|
||
close(0);
|
||
close(1);
|
||
close(2);
|
||
|
||
/* detach from parent process's group */
|
||
setsid();
|
||
|
||
/* open new tty */
|
||
if (open(argv[1], O_RDWR, 0) == -1)
|
||
exit(2);
|
||
dup(0);
|
||
dup(0);
|
||
execlp(argv[2], "-", 0);
|
||
/* should appear on new tty...: */
|
||
fprintf(stderr, "can't exec shell: %s\n", sys_errlist[errno]);
|
||
exit(3);
|
||
}
|
||
--[0221]-- (pref = [0180])
|
||
|
||
[0222] daemon@ATHENA.MIT.EDU (Bruce Evans) Linux_Activists 12/21/91 10:14 (32 lines)
|
||
Subject: Re: less v1.77
|
||
Date: Sat, 21 Dec 91 15:25:34 +1100
|
||
From: Bruce Evans <bde@runx.oz.au>
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
Jim Winstead Jr. writes:
|
||
|
||
>You can set up a small shell script to view compressed files via less, as
|
||
>well. I have one called zless that is simply 'zcat $* | less', and it works
|
||
|
||
This doesn't work so well for browsing through a lot of files. Working
|
||
through the files in linear order is not so good either, but my system
|
||
is fast enough to skip through files (even compressed) with the N and P
|
||
keys - in less 0.97. Another thing I didn't like about 177 was the change
|
||
on these keys to be like more (:n and something or other).
|
||
|
||
>Speaking of GNU utilities, someone mentioned making find 2.1 available,
|
||
>because it was the "latest and greatest". I looked on prep.ai.mit.edu,
|
||
>the official distribution point of GNU stuff, and it has find-3.2.tar.Z.
|
||
|
||
Perhaps someone got the version numbers confused. 3.2 has been out for a
|
||
couple of months, and 3.1 was around for a long time before that. I have
|
||
3.2 on Minix.
|
||
|
||
BTW, bash-1.10 broke updatedb in find, because
|
||
|
||
x=y export x
|
||
|
||
fails to set x. updatedb has a statement like this to set the PATH. Isn't
|
||
this supposed to work? It worked for bash-1.08 and works for ksh on ISC
|
||
Unix. It doesn't work for bash-1.10 on Minix or ISC Unix.
|
||
|
||
Bruce
|
||
--[0222]--
|
||
|
||
[0223] daemon@ATHENA.MIT.EDU (Drew Eckhardt) Linux_Activists 12/21/91 14:13 (472 lines)
|
||
Subject: Boot sector
|
||
Date: Sat, 21 Dec 1991 12:05:12 -0700
|
||
From: Drew Eckhardt <drew@ophelia.cs.Colorado.EDU>
|
||
To: drew@ophelia.cs.Colorado.EDU, linux-activists@joker.cs.hut.fi,
|
||
|
||
Well, I was sitting around, running end-of-semester level 0 dumps on
|
||
several gigs of disk space, and started looking at converting my
|
||
MASM bootsector code back to the Unix assembler format....
|
||
|
||
To refresh everyone's memory :
|
||
|
||
The original Linux boot sector had problems on some clones. Basically,
|
||
what happens is the default floppy diskette parameter table specifies
|
||
a low number of sectors. A multi-sector read involving a higher sector results
|
||
in a sector not found error, and the boot sector goes into an infinite loop...
|
||
|
||
I sent out a boot sector that corrected this problem. For me, it
|
||
worked. I never got any complaints, so either it worked for other
|
||
people, no one tried it, or it got lost.
|
||
|
||
However, some how after I got the code working 100%, I dammaged
|
||
the error dump routine. No more errors, error dump nolonger called....
|
||
never saw the problem.
|
||
|
||
The following source code fixes the bunged error dump. With an
|
||
added push, it should be within 1 byte of overflowing..... almost time
|
||
for more pruning.
|
||
|
||
Unfortunately, my SCSI host / floppy controller fried itself. Although
|
||
Linux is on its own MFM drive - I can't boot the floppy , and can't run the
|
||
DOS stuff (including assembler) - meaning this is totally untested. If
|
||
some one wants to do the honors....
|
||
|
||
--bootsect.asm--
|
||
|
||
; Created by 2masm perl script by Drew Eckhardt
|
||
; bootsect.asm modified by Drew Eckhardt -
|
||
; support added for TRUELY compatable <And messed up>
|
||
; BIOS's as well as error dump code.
|
||
|
||
.286
|
||
|
||
;
|
||
; SYS_SIZE is the number of clicks (16 bytes) to be loaded.
|
||
; 3000h is 30000h bytes equ 196kB, more than enough for current
|
||
; versions of linux
|
||
;
|
||
SYSSIZE equ 3000h
|
||
;
|
||
; bootsect.s (C) 1991 Linus Torvalds
|
||
;
|
||
; bootsect.s is loaded at 7c00h by the bios-startup routines, and moves
|
||
; iself out of the way to address 90000h, and jumps there.
|
||
;
|
||
; It then loads 'setup' directly after itself (90200h), and the system
|
||
; at 10000h, using BIOS interrupts.
|
||
;
|
||
; NOTE; currently system is at most 8*65536 bytes long. This should be no
|
||
; problem, even in the future. I want to keep it simple. This 512 kB
|
||
; kernel size should be enough, especially as this doesn't contain the
|
||
; buffer cache as in minix
|
||
;
|
||
; The loader has been made as simple as possible, and continuos
|
||
; read errors will result in a unbreakable loop. Reboot by hand. It
|
||
; loads pretty fast by getting whole sectors at a time whenever possible.
|
||
|
||
|
||
_TEXT segment para public 'CODE'
|
||
assume cs:_TEXT
|
||
|
||
SETUPLEN equ 4 ; nr of setup-sectors
|
||
BOOTSEG equ 07c0h ; original address of boot-sector
|
||
INITSEG equ 9000h ; we move boot here - out of the way
|
||
SETUPSEG equ 9020h ; setup starts here
|
||
SYSSEG equ 1000h ; system loaded at 10000h (65536).
|
||
ENDSEG equ SYSSEG + SYSSIZE ; where to stop loading
|
||
|
||
; ROOT_DEV: 000h - same type of floppy as boot.
|
||
; 301h - first partition on first drive etc
|
||
ROOTDEV equ 21dh
|
||
|
||
|
||
|
||
start:
|
||
mov ax,offset BOOTSEG
|
||
mov ds,ax
|
||
mov ax,offset INITSEG
|
||
mov es,ax
|
||
mov cx,256
|
||
sub si,si
|
||
sub di,di
|
||
cld
|
||
rep movsw
|
||
|
||
db 0eah ; jmp INITSEG:go
|
||
dw offset go
|
||
dw INITSEG
|
||
|
||
go: cli ; don't want interrupts when stack moves
|
||
mov ax, cs
|
||
mov ss, ax
|
||
mov sp, 0ff00h - 12 ; arbitrary num - 512 - disk param size
|
||
|
||
;
|
||
; Many BIOS's default disk parameter tables will not recognize multi-
|
||
; sector reads beyond the maximum sector specified in the default
|
||
; diskette parameter talbes - this means 7 sectors :(
|
||
;
|
||
; Since single sector reads are ... slow, we must patch this. We
|
||
; simply set the max sector count to the most we will expect - 18.
|
||
; High doesn't hurt. Low does.
|
||
;
|
||
|
||
xor ax, ax ; get diskette parameters from int 1eh
|
||
mov es, ax ; vector (or 78h)
|
||
push es ; save int table segment
|
||
mov bx, 78h
|
||
lds si, es:[bx] ; ds:si points to actual parameter table
|
||
|
||
|
||
mov ax,cs ;
|
||
mov es,ax ; copy disk parameters to RAM
|
||
mov di, 0ff00h - 12 ; es:di points to dsk_tab
|
||
|
||
push di ; save dsk_tab offset
|
||
|
||
mov cx, 6h ; 12 bytes
|
||
rep movsw
|
||
|
||
pop di ; restore dsk_tab offset
|
||
mov byte ptr es:[di + 4], 18; set sectors
|
||
|
||
pop es ; set 1eh vector to disk_tab
|
||
mov word ptr es:[bx], di ; offset
|
||
|
||
mov ax, cs
|
||
mov word ptr es:[bx+2], ax ; seg
|
||
mov ds,ax ; load seg regs
|
||
mov es,ax
|
||
sti ; stack & disk parms are good.
|
||
|
||
xor ah, ah ; reset FDC with new parameters.
|
||
xor dl, dl
|
||
int 13h
|
||
|
||
; load the setup-sectors directly after the bootblock.
|
||
; Note that 'es' is already set up.
|
||
|
||
load_setup:
|
||
xor dx,dx ; drive 0, head 0
|
||
mov cx,0002h ; sector 2, track 0
|
||
mov bx,0200h ; address equ 512, in INITSEG
|
||
mov ax,0200h+SETUPLEN ; service 2, nr of sectors
|
||
int 13h ; read it
|
||
jnc ok_load_setup ; ok - continue
|
||
|
||
push ax ; dump error code
|
||
call print_nl
|
||
mov bp, sp
|
||
call print_hex
|
||
pop ax
|
||
|
||
xor dl, dl
|
||
xor ax, ax ; reset the diskette
|
||
int 13h
|
||
jmp load_setup
|
||
|
||
|
||
ok_load_setup:
|
||
|
||
; Get disk drive parameters, specifically nr of sectors/track
|
||
|
||
IFDEF HARD
|
||
mov cx, HARD
|
||
ELSE
|
||
|
||
xor dl,dl
|
||
mov ax,0800h ; AH equ 8 is get drive parameters
|
||
int 13h
|
||
xor ch,ch
|
||
ENDIF
|
||
|
||
|
||
mov cs:sectors,cx
|
||
mov ax,offset INITSEG
|
||
mov es,ax
|
||
|
||
; Print some inane message
|
||
|
||
mov ah,03h ; read cursor pos
|
||
xor bh,bh
|
||
int 10h
|
||
|
||
mov cx,9
|
||
mov bx,0007h ; page 0, attribute 7 (normal)
|
||
mov bp,offset msg1
|
||
mov ax,1301h ; write string, move cursor
|
||
int 10h
|
||
|
||
; ok, we've written the message, now
|
||
; we want to load the system (at 10000h)
|
||
|
||
mov ax,offset SYSSEG
|
||
mov es,ax ; segment of 010000h
|
||
call read_it
|
||
call kill_motor
|
||
|
||
mov ax, 0e0dh
|
||
mov bx, 7
|
||
int 10h
|
||
mov ax, 0e0ah
|
||
int 10h
|
||
|
||
; After that we check which root-device to use. If the device is
|
||
; defined (; equ 0), nothing is done and the given device is used.
|
||
; Otherwise, either /dev/PS0 (2,28) or /dev/at0 (2,8), depending
|
||
; on the number of sectors that the BIOS reports currently.
|
||
|
||
|
||
mov ax,cs:root_dev
|
||
or ax, ax ; cmp ax, 0
|
||
jne root_defined
|
||
|
||
mov bx,cs:sectors
|
||
mov ax,0208h ; /dev/ps0 - 1.2Mb
|
||
cmp bx,15
|
||
je root_defined
|
||
mov ax,021ch ; /dev/PS0 - 1.44Mb
|
||
cmp bx,18
|
||
je root_defined
|
||
undef_root:
|
||
jmp undef_root
|
||
root_defined:
|
||
mov cs:root_dev,ax
|
||
|
||
|
||
; after that (everyting loaded), we jump to
|
||
; the setup-routine loaded directly after
|
||
; the bootblock:
|
||
|
||
db 0eah ; jmp SETUPSEG:0
|
||
dw 0
|
||
dw SETUPSEG
|
||
|
||
|
||
; This routine loads the system at address 10000h, making sure
|
||
; no 64kB boundaries are crossed. We try to load it as fast as
|
||
; possible, loading whole tracks whenever we can.
|
||
;
|
||
; in: es - starting address segment (normally 1000h)
|
||
;
|
||
sread dw 1+SETUPLEN ; sectors read of current track
|
||
head dw 0 ; current head
|
||
track dw 0 ; current track
|
||
|
||
read_it:
|
||
mov ax,es
|
||
test ax,0fffh
|
||
die: jne die ; es must be at 64kB boundary
|
||
xor bx,bx ; bx is starting address within segment
|
||
rp_read:
|
||
mov ax,es
|
||
cmp ax,ENDSEG ; have we loaded all yet?
|
||
jb ok1_read
|
||
ret
|
||
ok1_read:
|
||
|
||
mov ax,cs:sectors ; this is the number of sectors we will
|
||
sub ax,sread ; attempt to read
|
||
|
||
; mov ax, 1 ; single sector read - testing only
|
||
|
||
mov cx,ax ;
|
||
shl cx,9 ; * 512 bytes
|
||
add cx,bx ; if overflow, then next segment
|
||
jnc ok2_read
|
||
je ok2_read
|
||
|
||
xor ax,ax
|
||
sub ax,bx
|
||
shr ax,9
|
||
|
||
ok2_read:
|
||
call read_track ; is called with num sectors wanted in al
|
||
mov cx,ax
|
||
add ax,sread ; add actual number read to ax
|
||
|
||
cmp ax,cs:sectors
|
||
jne ok3_read
|
||
mov ax,1
|
||
sub ax,head
|
||
jne ok4_read
|
||
inc track
|
||
ok4_read:
|
||
mov head,ax
|
||
|
||
xor ax,ax
|
||
ok3_read:
|
||
mov sread,ax
|
||
|
||
shl cx,9
|
||
add bx,cx
|
||
jnc rp_read
|
||
mov ax,es
|
||
add ax,1000h
|
||
mov es,ax
|
||
xor bx,bx
|
||
jmp rp_read
|
||
|
||
read_track:
|
||
pusha
|
||
|
||
push ax ; print loading...
|
||
push bx
|
||
mov ax, (0e00h + '.')
|
||
mov bx, 7
|
||
int 10h
|
||
pop bx
|
||
pop ax
|
||
|
||
mov dx,track
|
||
mov cx,sread
|
||
inc cx
|
||
mov ch,dl
|
||
mov dx,head
|
||
mov dh,dl
|
||
xor dl,dl
|
||
and dx,0100h
|
||
mov ah,2
|
||
|
||
push dx ; save for possible register dump
|
||
push cx
|
||
push bx
|
||
push ax
|
||
|
||
int 13h
|
||
|
||
jc bad_rt
|
||
add sp, 8
|
||
|
||
popa
|
||
ret
|
||
|
||
bad_rt: push ax ; save AX return -
|
||
; AH = errore code
|
||
; AL = successfully read.
|
||
|
||
call print_all
|
||
|
||
xor ah, ah ; reset FDC
|
||
xor dl, dl
|
||
int 13h
|
||
|
||
add sp, 10
|
||
popa
|
||
jmp read_track
|
||
|
||
;
|
||
; print_all is for debugging purposes.
|
||
; It will print out all of the registers. The assumtion is that this
|
||
; is called from the track read routine, with a stack frame like
|
||
; dx
|
||
; cx
|
||
; bx
|
||
; ax
|
||
; error
|
||
; ret <- sp
|
||
|
||
print_all:
|
||
mov cx, 5 ; error code + 4 registers
|
||
mov bp, sp ; first one starts sp + 1 word
|
||
|
||
print_loop:
|
||
push cx ; preserve count left
|
||
call print_nl ; new line for readability
|
||
|
||
cmp cl, 5 ; first one printed is error code - no reg
|
||
jae no_reg
|
||
mov al, cl ; convert number to first register letter.
|
||
|
||
mov ax, 0e05h + 'A' - 1
|
||
sub al, cl
|
||
int 10h
|
||
|
||
mov ax, 0e00h + 'X'
|
||
int 10h
|
||
|
||
mov ax, 0e00h + ':'
|
||
int 10h
|
||
|
||
|
||
no_reg: ; print the next register value
|
||
add bp, 2
|
||
call print_hex
|
||
pop cx
|
||
loop print_loop
|
||
ret
|
||
|
||
print_nl:
|
||
mov ax, 0e0dh ; CR
|
||
mov bx, 7
|
||
int 10h
|
||
mov ax, 0e0ah ; LF
|
||
int 10h
|
||
ret
|
||
|
||
;
|
||
; print_hex is for debugging purposes. It will print out the hex
|
||
; number pointed to by ss:[bp].
|
||
;
|
||
|
||
print_hex:
|
||
mov cx, 4 ; 4 hex digits
|
||
mov dx, word ptr [bp] ; load word into dx
|
||
print_digit:
|
||
rol dx, 4 ; will rotate, 4 bits will be highest
|
||
mov ah, 0eh ; nibble, lowest nibble, etc.
|
||
|
||
mov al, dl ; convert to digit representation
|
||
and al, 0fh ; mask low nibble
|
||
add al, '0' ; convert to 0 based digit
|
||
cmp al, '9' ; if overflow, then go to letter
|
||
jbe good_digit
|
||
add al, 'A' - '0' - 0ah
|
||
|
||
good_digit:
|
||
mov ah, 0eh ; print it
|
||
int 10h
|
||
loop print_digit
|
||
ret
|
||
|
||
|
||
; * This procedure turns off the floppy drive motor, so
|
||
; * that we enter the kernel in a known state, and
|
||
; * don't have to worry about it later.
|
||
;
|
||
kill_motor:
|
||
push dx
|
||
mov dx,3f2h
|
||
xor al,al
|
||
out dx, al
|
||
|
||
pop dx
|
||
ret
|
||
|
||
sectors dw 0
|
||
|
||
msg1 db 13,10
|
||
db "Loading"
|
||
|
||
|
||
org 508
|
||
root_dev dw ROOTDEV
|
||
boot_flag:
|
||
dw 0AA55h
|
||
|
||
_TEXT ends
|
||
end
|
||
-- ends --
|
||
|
||
Build with
|
||
MASM, link, then exe2bin
|
||
|
||
HARD may be defined with
|
||
MASM bootsect.asm /DHARD=9;
|
||
|
||
To get it to use the hardcoded sector count.
|
||
|
||
TASM should also work, a86 will work if you change to its conditional
|
||
define syntax.
|
||
|
||
|
||
|
||
--[0223]--
|
||
|
||
[0224] daemon@ATHENA.MIT.EDU (0114) Linux_Activists 12/21/91 21:06 (54 lines)
|
||
Subject: No subject found in mail header
|
||
Date: Sun, 22 Dec 91 03:02:42 +0100
|
||
From: 0114 <upsyf108@unibi.hrz.uni-bielefeld.de>
|
||
Apparently-To: linux-activists@joker.cs.hut.fi
|
||
|
||
Hi,
|
||
As a X-mas present, you get a termcap cdif to make uemacs recognize
|
||
these nice keypads like page-up, home and the like.
|
||
I added a new terminal type called memacs to the termcap entries.
|
||
To use it, enter TERM=memacs;export TERM
|
||
Wolfgang Thiel 12/21/91=linux0.11
|
||
upsyf173@comparex.hrz.uni-bielefeld.de
|
||
|
||
table
|
||
!"#$%&'()*+,-./0123456789:;<=>?
|
||
@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_
|
||
begin 644 tcapdif
|
||
M*BHJ("]!+V5T8R]T97)M8V%P"5-U;B!$96,@(#@@,3,Z-3@Z,3D@,3DY,0HMz
|
||
M+2T@=&5R;6-A< E&<FD@1&5C(#(P(# V.C$P.C W(#$Y.3$**BHJ*BHJ*BHJy
|
||
M*BHJ*BHJ"BHJ*B U,BPU-" J*BHJ"BTM+2 U,BPX-2 M+2TM"B @"3II=",Xx
|
||
M.FMU/5Q%6T$Z:V0]7$5;0CIK<CU<15M#.FML/5Q%6T0Z:V(]7D@Z7 H@( DZw
|
||
M:&\]7$5;2#IK,3U<14]0.FLR/5Q%3U$Z:S,]7$5/4CIK-#U<14]3.G!T.G-Rv
|
||
M/5Q%33IV=",S.GAN.EP*(" ).G-C/5Q%-SIR8SU<13@Z8W,]7$5;)6DE9#LEu
|
||
M9'(Z"BL@"BL@(PHK(",@3F]W("T@;&EK92!C;VYS;VQE+"!B=70@=VET:"!Ft
|
||
M=6YC=&EO;B!K97ES"BL@(PHK(",@4W1A;F1A<F0@:V5Y(&-O9&4@9&5F:6YIs
|
||
M=&EO;G,Z"BL@(R!K=2QK9"QK;"QK<@ES96YT(&)Y('5P+2P@9&]W;BTL(&QEr
|
||
M9G0M+"!R:6=H="UA<G)O=PHK(",@:V()(" @('-E;G0@8GD@8F%C:W-P86-Eq
|
||
M"BL@(R!K,2XN:SDL:S @<V5N="!B>2!F=6YC=&EO;B!K97D@,2XN,3 **R Cp
|
||
M($LQ+BXU"2 @("!S96YT(&)Y(&ME>7!A9"!U<'!E<B!L969T+'5P<&5R(')Io
|
||
M9VAT+&-E;G1R92QL;W=E<B!L969T+&QO=V5R(')I9VAT"BL@(R!K82QK="QKn
|
||
M0B @<V5N="!B>2!C;&5A<BUA;&PM=&%B<RQC;&5A<BUT86(L8F%C:W1A8@HKm
|
||
M(",@:U0)(" @('-E;G0@8GD@<V5T+71A8BUS=&]P"BL@(R!K0RQK12QK4R @l
|
||
M<V5N="!B>2!C;&5A<BUS8W)E96XL8VQE87(M=&\M96]L+&-L96%R+71O+65Ok
|
||
M<PHK(",@:T0L:TP)(" @('-E;G0@8GD@9&5L971E+6-H87)A8W1E<BQD96QEj
|
||
M=&4M;&EN90HK(",@:V@L:T@)(" @('-E;G0@8GD@:&]M92QH;VUE+61O=VX*i
|
||
M*R C(&M)+&M!"2 @("!S96YT(&)Y(&EN<V5R="!C:&%R+V5N=&5R+6EN<V5Rh
|
||
M="UM;V1E+&EN<V5R="UL:6YE"BL@(R!K30D@(" @<V5N="!B>2!E>&ET+6ENg
|
||
M<V5R="UM;V1E"BL@(R!K3BQK4 D@(" @<V5N="!B>2!N97AT+7!A9V4L<')Ef
|
||
M=FEO=7,M<&%G90HK(",@:T8L:U()(" @('-E;G0@8GD@<V-R;VQL+69O<G=Ae
|
||
M<F0L<V-R;VQL+6)A8VMW87)D<PHK(&UE;6%C<SI<"BL@"3ID;SU>2CIC;R,Xd
|
||
M,#IL:2,R-3IC;#U<15M(7$5;2CIS9CU<140Z7 HK( DZ;&4]7D@Z8G,Z86TZc
|
||
M8VT]7$5;)6DE9#LE9$@Z;F0]7$5;0SIU<#U<15M!.EP**R ).F-E/5Q%6TLZb
|
||
M8V0]7$5;2CIS;SU<15LW;3IS93U<15MM.G5S/5Q%6S1M.G5E/5Q%6VTZ7 HKa
|
||
M( DZ;60]7$5;,6TZ;7(]7$5;-VTZ;6(]7$5;-6TZ;64]7$5;;3II<SU<15LQz
|
||
M.S(U<EQ%6S(U.S%(.EP**R ).FET(S@Z:W4]7$5;03IK9#U<15M".FMR/5Q%y
|
||
M6T,Z:VP]7$5;1#IK8CU>2#I<"BL@"3IH;SU<15M(.FM0/5Q%6S5^.FM./5Q%x
|
||
M6S9^.FM(/5Q%6UDZ:V@]7$5;2#IK1#U<15LS?CIK23U<15LR?CI<"BL@"3IKw
|
||
M,3U<15M;03IK,CU<15M;0CIK,SU<15M;0SIK-#U<15M;1#IK-3U<15M;13IKv
|
||
M-CU<15M;1CI<"BL@"3IK-SU<15M;1SIK.#U<15M;2#IK.3U<15M;23IK,#U<u
|
||
M15M;2CI<"BL@"3I+,3U<15M;2SI+,CU<15M;3#I<"BL@"3IP=#IS<CU<14TZt
|
||
M=G0C,SIX;CI<"BL@"3IS8SU<13<Z<F,]7$4X.F-S/5Q%6R5I)60[)61R.EP*s
|
||
$*R C"CIXr
|
||
q
|
||
end
|
||
|
||
--[0224]--
|
||
|
||
[0225] daemon@ATHENA.MIT.EDU (Yanek Martinson) Linux_Activists 12/22/91 21:35 (7 lines)
|
||
Subject: gccbin installation question
|
||
From: Yanek Martinson <yanek@mthvax.cs.miami.edu>
|
||
To: linux-activists@joker.cs.hut.fi
|
||
Date: Sun, 22 Dec 91 21:29:18 EST
|
||
|
||
Ok, I finally got the gccbin.tar to my linux system, and untar-red it.
|
||
Now, which files go where? Also what other files do I need for gcc to
|
||
work? What about header files?
|
||
--[0225]--
|
||
|
||
[0226] daemon@ATHENA.MIT.EDU (d88-man@nada.kth.se) Linux_Activists 12/23/91 05:47 (20 lines)
|
||
Subject: console
|
||
Date: Mon, 23 Dec 91 11:39:44 +0100
|
||
From: d88-man@nada.kth.se
|
||
To: Linux-activists@joker.cs.hut.fi
|
||
|
||
|
||
Hello Linuxers,
|
||
|
||
I have played around with the setup.s(/console.c) to initialize different
|
||
screenmodes with a supervga. Everything worked just fine, though 132x60 is a
|
||
bit hard to read :-) If there is interest I could write some general code to
|
||
detect what kind of SVGA-card installed and choose mode interactively.
|
||
I know it's kind of useless but it is rather neat (at least as I see it)
|
||
to have for example 80x43 mode which greatly improves the use of memacs
|
||
multiwindow feature. Suggestions welcome ! The question is do one want this
|
||
stuff in the kernel ? Is it usefull enough ?
|
||
|
||
/Mats Andersson (d88-man@nada.kth.se)
|
||
|
||
PS A merry christmas to all of you (probably not many reading their mail now
|
||
when you should be on holliday :-) and a happy new 1992
|
||
--[0226]--
|
||
|
||
[0227] daemon@ATHENA.MIT.EDU (Marc CORSINI) Linux_Activists 12/23/91 13:40 (21 lines)
|
||
Subject: gccbin installation question
|
||
Date: Mon, 23 Dec 91 19:32:50 EST
|
||
From: corsini@geocub.greco-prog.fr (Marc CORSINI)
|
||
To: yanek@mthvax.cs.miami.edu
|
||
In-Reply-To: Yanek Martinson's message of Sun, 22 Dec 91 21:29:18 EST <9112230229.AA18367@mthvax.cs.miami.edu>
|
||
Cc: linux-activists@joker.cs.hut.fi
|
||
|
||
|
||
About the headers just ftp-ize the include.tar from nic.funet.fi,
|
||
tsx-11.mit.edu or tupac-amaru.informatik.rwth-aachen.de
|
||
Another useful thing is to read INSTALL-0.11 0.10 and also linux.tex
|
||
also avilable on the different sites.
|
||
Finally (this was in an old post of Linus).
|
||
Most programs starting with a "g" are gnu software. U shoold have
|
||
unpack ur gccbin.tar in /usr/local/lib/gcc-xxx. U should link them as
|
||
/usr/local/bin/gxxx and /usr/local/bin/xxx
|
||
|
||
Hope this helps
|
||
[mmc]
|
||
|
||
PS1: Merry X-mas and happy new year.
|
||
PS2: May be this more or less should be added in the FAQ
|
||
--[0227]--
|
||
|
||
[0228] daemon@ATHENA.MIT.EDU (proven@Athena.MIT.EDU) Linux_Activists 12/23/91 16:56 (22 lines)
|
||
Subject: VFS
|
||
From: proven@Athena.MIT.EDU
|
||
Date: Mon, 23 Dec 91 16:49:41 -0500
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
|
||
For those interested, the VFS is currently in pre-alpha stage. I'll try to
|
||
have an alpha release Sunday night if anyone is interested. It's kinda messy
|
||
and half the files in the fs directory are unrecognizable from linux-0.11.
|
||
I plan to get it all cleaned up and ready for linux-0.12 release.
|
||
|
||
The VFS add functionallity to accomidate multiple filesystems, and I do plan
|
||
to implement a few when I'm done with the VFS. It will also have
|
||
functionallity for file types. It should contain all the functionallity
|
||
of the old linux fs and only two system calls will have different interfaces
|
||
mount and unmount. I have not put any hooks in for
|
||
select, so if someone wants to do them thats fine, but I'd suggest starting
|
||
with a kernel with the VFS in place or one of us is going to have
|
||
a royal good time incorporating the others modifications.
|
||
|
||
I'll work on additional fs functionallity when I'm done with the VFS, and
|
||
the list is quite long, but the first thing to do is finish what I've started.
|
||
CAP
|
||
--[0228]--
|
||
|
||
[0229] daemon@ATHENA.MIT.EDU (Peter MacDonald) Linux_Activists 12/23/91 20:06 (37 lines)
|
||
Subject: virtual consoles working.
|
||
Date: Mon, 23 Dec 91 17:00:15 PST
|
||
From: pmacdona@sol.UVic.CA (Peter MacDonald)
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
Hi and merry Xmas.
|
||
|
||
This note is coming to you from the virtual console of Linux.
|
||
Yep. I have virtual consoles working under linux.
|
||
|
||
Although this is based upon Gordon Irlams minix patches, virtually
|
||
no code from there was actually used. This is more a product of
|
||
minix's message passing kernel being so different from Linux's
|
||
unified approach than by design. But I am trying to adapt
|
||
as much of his setterm program as possible, so that a user interface
|
||
for setting colors and the like is available. To get around the
|
||
problem of no init/login I am using the "doshell" program
|
||
posted here earlier. Actually, for standalone machines I
|
||
think I prefer it over getty/login.
|
||
|
||
I will post the patches to 0.11 as soon as I have tested a little
|
||
more, and had a chance to bundle it up.
|
||
|
||
I also have done all of the design and coding, but none of the
|
||
testing on a select call, adapted from Mathius Lauttiners design.
|
||
But as Proven has requested, I will probably wait until after 0.12
|
||
is out before going any further with that. Getting a peek at your
|
||
VFS patches early, thought might help.
|
||
|
||
It's funny how things work out. I was working on select, started
|
||
eyeing how they might interact with pty's, and realized that
|
||
virtual consoles would probably still be desirable after ptys,
|
||
as well as being easier to do.
|
||
|
||
Anyways, have a good christmas all. I am heading to the ski slopes
|
||
so I know I'll have fun. Hope you do to.
|
||
|
||
|
||
--[0229]--
|
||
|
||
[0230] daemon@ATHENA.MIT.EDU (Peter MacDonald) Linux_Activists 12/24/91 04:00 (632 lines)
|
||
Subject: virtual consoles: part 2
|
||
Date: Tue, 24 Dec 91 00:50:21 PST
|
||
From: pmacdona@sol.UVic.CA (Peter MacDonald)
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
concatenate these to the previous message.
|
||
----SNIP HERE-------------------------------------
|
||
M"7!O<R M/2!X/#PQ.PI8(" )>#TP.PI8("!]"E@@( I8(2!S=&%T:6,@=F]If
|
||
M9"!D96PH:6YT(&-U<G)C;VYS*0I8("!["E@@( EI9B H>"D@>PI8(" )"7!Oe
|
||
M<R M/2 R.PI8*BHJ*BHJ*BHJ*BHJ*BHJ"E@J*BH@,C,V+#(T-R J*BHJ"E@@d
|
||
M( E]"E@@('T*6" @"E@A('-T871I8R!V;VED(&-S:5]**&EN="!P87(I"E@@c
|
||
M('L*6" @"6QO;F<@8V]U;G0@7U]A<VU?7R@B8W@B*3L*6" @"6QO;F<@<W1Ab
|
||
M<G0@7U]A<VU?7R@B9&DB*3L*6" @"E@A( ES=VET8V@@*'!A<BD@>PI8(" )a
|
||
M"6-A<V4@,#H)+RH@97)A<V4@9G)O;2!C=7)S;W(@=&\@96YD(&]F(&1I<W!Lz
|
||
M87D@*B\*6" @"0D)8V]U;G0@/2 H<V-R7V5N9"UP;W,I/CXQ.PI8(" )"0ESy
|
||
M=&%R=" ]('!O<SL*6"TM+2 R-S8L,C@W("TM+2T*6" @"7T*6" @?0I8(" *x
|
||
M6"$@<W1A=&EC('9O:60@8W-I7THH:6YT(&-U<G)C;VYS+"!I;G0@=G!A<BD*w
|
||
M6" @>PI8(" );&]N9R!C;W5N="!?7V%S;5]?*")C>"(I.PI8(" );&]N9R!Sv
|
||
M=&%R="!?7V%S;5]?*")D:2(I.PI8(" *6"$@"7-W:71C:" H=G!A<BD@>PI8u
|
||
M(" )"6-A<V4@,#H)+RH@97)A<V4@9G)O;2!C=7)S;W(@=&\@96YD(&]F(&1It
|
||
M<W!L87D@*B\*6" @"0D)8V]U;G0@/2 H<V-R7V5N9"UP;W,I/CXQ.PI8(" )s
|
||
M"0ES=&%R=" ]('!O<SL*6"HJ*BHJ*BHJ*BHJ*BHJ*@I8*BHJ(#(V-2PR-S8@r
|
||
M*BHJ*@I8(" )"3HB8W@B+")D:2(I.PI8("!]"E@@( I8(2!S=&%T:6,@=F]Iq
|
||
M9"!C<VE?2RAI;G0@<&%R*0I8("!["E@@( EL;VYG(&-O=6YT(%]?87-M7U\Hp
|
||
M(F-X(BD["E@@( EL;VYG('-T87)T(%]?87-M7U\H(F1I(BD["E@@( I8(2 )o
|
||
M<W=I=&-H("AP87(I('L*6" @"0EC87-E(# Z"2\J(&5R87-E(&9R;VT@8W5Rn
|
||
M<V]R('1O(&5N9"!O9B!L:6YE("HO"E@@( D)"6EF("AX/CUV:61E;U]N=6U?m
|
||
M8V]L=6UN<RD*6" @"0D)"7)E='5R;CL*6"TM+2 S,#4L,S$V("TM+2T*6" @l
|
||
M"0DZ(F-X(BPB9&DB*3L*6" @?0I8(" *6"$@<W1A=&EC('9O:60@8W-I7TLHk
|
||
M:6YT(&-U<G)C;VYS+"!I;G0@=G!A<BD*6" @>PI8(" );&]N9R!C;W5N="!?j
|
||
M7V%S;5]?*")C>"(I.PI8(" );&]N9R!S=&%R="!?7V%S;5]?*")D:2(I.PI8i
|
||
M(" *6"$@"7-W:71C:" H=G!A<BD@>PI8(" )"6-A<V4@,#H)+RH@97)A<V4@h
|
||
M9G)O;2!C=7)S;W(@=&\@96YD(&]F(&QI;F4@*B\*6" @"0D):68@*'@^/79Ig
|
||
M9&5O7VYU;5]C;VQU;6YS*0I8(" )"0D)<F5T=7)N.PI8*BHJ*BHJ*BHJ*BHJf
|
||
M*BHJ"E@J*BH@,CDV+#,Q-R J*BHJ"E@@( D).B)C>"(L(F1I(BD["E@@('T*e
|
||
M6" @"E@A('9O:60@8W-I7VTH=F]I9"D*6" @>PI8(" ):6YT(&D["E@@( I8d
|
||
M(" )9F]R("AI/3 [:3P];G!A<CMI*RLI"E@@( D)<W=I=&-H("AP87);:5TIc
|
||
M('L*6"$@"0D)8V%S92 P.F%T='(],'@P-SMB<F5A:SL*6"$@"0D)8V%S92 Qb
|
||
M.F%T='(],'@P9CMB<F5A:SL*6"$@"0D)8V%S92 T.F%T='(],'@P9CMB<F5Aa
|
||
M:SL*6"$@"0D)8V%S92 W.F%T='(],'@W,#MB<F5A:SL*6"$@"0D)8V%S92 Rz
|
||
M-SIA='1R/3!X,#<[8G)E86L["E@@( D)?0I8("!]"E@@( I8(2!S=&%T:6,@y
|
||
M:6YL:6YE('9O:60@<V5T7V-U<G-O<BAV;VED*0I8("!["E@@( EC;&DH*3L*x
|
||
M6" @"6]U=&)?<"@Q-"P@=FED96]?<&]R=%]R96<I.PI8(" );W5T8E]P*#!Xw
|
||
M9F8F*"AP;W,M=FED96]?;65M7W-T87)T*3X^.2DL('9I9&5O7W!O<G1?=F%Lv
|
||
M*3L*6"TM+2 S,S8L,S<Y("TM+2T*6" @"0DZ(F-X(BPB9&DB*3L*6" @?0I8u
|
||
M(" *6"$@=F]I9"!C<VE?;2AI;G0@8W5R<F-O;G,@*0I8("!["E@@( EI;G0@t
|
||
M:3L*6" @"E@@( EF;W(@*&D],#MI/#UN<&%R.VDK*RD*6" @"0ES=VET8V@@s
|
||
M*'!A<EMI72D@>PI8(2 )"0EC87-E(# Z(&%T='(]*&ES8V]L;W(_9&5F7V%Tr
|
||
M='(Z,'@P-RD[8G)E86L[(" O*B!D969A=6QT("HO"E@A( D)"6-A<V4@,3H@q
|
||
M871T<CTH:7-C;VQO<C]D969?871T<GPP># X.C!X,&8I.V)R96%K.R @+RH@p
|
||
M8F]L9" J+PI8(2 )"0EC87-E(#0Z(&%T='(]*&ES8V]L;W(_9&5F7V%T=')\o
|
||
M,'@P.#HP>#!F*3MB<F5A:SL@("\J('5N9&5R;&EN92 J+PI8(2 )"0EC87-En
|
||
M(#<Z(&%T='(]*&ES8V]L;W(_*&1E9E]A='1R/#PT*7PH9&5F7V%T='(^/C0Im
|
||
M.C!X-S I.V)R96%K.R @+RH@;F5G871I=F4@*B\*6"$@"0D)8V%S92 R,CH@l
|
||
M("\J(&YO="!B;VQD("HO( I8(2 )"0EC87-E(#(T.B @+RH@;F]T('5N9&5Rk
|
||
M;&EN92 J+PI8(2 )"0EC87-E(#(U.B @+RH@;F]T(&)L:6YK:6YG("HO"E@Aj
|
||
M( D)"2 @8G)E86L["E@A( D)"6-A<V4@,C<Z(&%T='(]*&ES8V]L;W(_9&5Fi
|
||
M7V%T='(Z,'@P-RD[8G)E86L[("\J('!O<VET:79E(&EM86=E("HO"E@A( D)h
|
||
M"6-A<V4@,SDZ(&EF("AI<V-O;&]R*2!A='1R/2AA='1R("8@,'AF,"D@?" Hg
|
||
M9&5F7V%T='(@)B P>#!F*3L@8G)E86L["E@A( D)"6-A<V4@-#DZ(&EF("AIf
|
||
M<V-O;&]R*2!A='1R/2AA='1R("8@,'@P9BD@?" H9&5F7V%T='(@)B P>&8Pe
|
||
M*3L@8G)E86L["E@A( D)"61E9F%U;'0Z"E@A( D)"2 @:68@*"%C86YD;V-Od
|
||
M;&]R*0I8(2 )"0D@(" @8G)E86L["E@A( D)"2 @:7-C;VQO<B ](#$["E@Ac
|
||
M( D)"2 @:68@*"AP87);:5T^/3,P*2 F)B H<&%R6VE=/#TS."DI"E@A( D)b
|
||
M"2 @("!D969?871T<B ]("AD969?871T<B F(#!X9C I('P@*'!A<EMI72TSa
|
||
M,"D["E@A( D)"2 @96QS92 @+RH@0F%C:V=R;W5N9"!C;VQO<B J+PI8(2 )z
|
||
M"0D@(" @:68@*"AP87);:5T^/30P*2 F)B H<&%R6VE=/#TT."DI"E@A( D)y
|
||
M"2 @("![(&1E9E]A='1R(#T@*&1E9E]A='1R("8@,'@P9BD@?" H*'!A<EMIx
|
||
M72TT,"D\/#0I.PI8(2 )"0D@(" @("!V:61E;U]E<F%S95]C:&%R(#T@*'9Iw
|
||
M9&5O7V5R87-E7V-H87(F,'@P9F8I('P@*&1E9E]A='1R/#PX*3L*6"$@"0D)v
|
||
M(" @('T*6"$@"0D)(" @(&5L<V4*6"$@"0D)"6)R96%K.PI8(2 )"0D@871Tu
|
||
M<B ](&1E9E]A='1R.PI8(" )"7T*6" @?0I8(" *6"$@<W1A=&EC(&EN;&ENt
|
||
M92!V;VED('-E=%]C=7)S;W(H:6YT(&-U<G)C;VYS*0I8("!["E@K( EI9B Hs
|
||
M8W5R<F-O;G,@(3T@9F=?8V]N<V]L92D*6"L@"2 @<F5T=7)N.PI8(" )8VQIr
|
||
M*"D["E@@( EO=71B7W H,30L('9I9&5O7W!O<G1?<F5G*3L*6" @"6]U=&)?q
|
||
M<"@P>&9F)B@H<&]S+79I9&5O7VUE;5]S=&%R="D^/CDI+"!V:61E;U]P;W)Tp
|
||
M7W9A;"D["E@J*BHJ*BHJ*BHJ*BHJ*BH*6"HJ*B S,C L,S(V("HJ*BH*6" @o
|
||
M"7-T:2@I.PI8("!]"E@@( I8(2!S=&%T:6,@=F]I9"!R97-P;VYD*'-T<G5Cn
|
||
M="!T='E?<W1R=6-T("H@='1Y*0I8("%4U!/m
|
||
M3E-%.PI8(" *6"TM+2 S.#(L,S@X("TM+2T*6" @"7-T:2@I.PI8("!]"E@@l
|
||
M( I8(2!S=&%T:6,@=F]I9"!R97-P;VYD*&EN="!C=7)R8V]N<RP@<W1R=6-Tk
|
||
M('1T>5]S=')U8W0@*B!T='DI"E@@('L*6" @"6-H87(@*B!P(#T@4D534$].j
|
||
M4T4["E@@( I8*BHJ*BHJ*BHJ*BHJ*BHJ"E@J*BH@,S,S+#,S.2 J*BHJ"E@@i
|
||
M( EC;W!Y7W1O7V-O;VME9"AT='DI.PI8("!]"E@@( I8(2!S=&%T:6,@=F]Ih
|
||
M9"!I;G-E<G1?8VAA<BAV;VED*0I8("!["E@@( EI;G0@:3UX.PI8(" )=6YSg
|
||
M:6=N960@<VAO<G0@=&UP+"!O;&0@/2!V:61E;U]E<F%S95]C:&%R.PI8+2TMf
|
||
M(#,Y-2PT,#$@+2TM+0I8(" )8V]P>5]T;U]C;V]K960H='1Y*3L*6" @?0I8e
|
||
M(" *6"$@<W1A=&EC('9O:60@:6YS97)T7V-H87(H:6YT(&-U<G)C;VYS*0I8d
|
||
M("!["E@@( EI;G0@:3UX.PI8(" )=6YS:6=N960@<VAO<G0@=&UP+"!O;&0@c
|
||
M/2!V:61E;U]E<F%S95]C:&%R.PI8*BHJ*BHJ*BHJ*BHJ*BHJ"E@J*BH@,S0Wb
|
||
M+#,U,R J*BHJ"E@@( E]"E@@('T*6" @"E@A('-T871I8R!V;VED(&EN<V5Ra
|
||
M=%]L:6YE*'9O:60I"E@@('L*6" @"6EN="!O;&1T;W L;VQD8F]T=&]M.PI8z
|
||
M(" *6"TM+2 T,#DL-#$U("TM+2T*6" @"7T*6" @?0I8(" *6"$@<W1A=&ECy
|
||
M('9O:60@:6YS97)T7VQI;F4H:6YT(&-U<G)C;VYS*0I8("!["E@@( EI;G0@x
|
||
M;VQD=&]P+&]L9&)O='1O;3L*6" @"E@J*BHJ*BHJ*BHJ*BHJ*BH*6"HJ*B Sw
|
||
M-34L,S8V("HJ*BH*6" @"6]L9&)O='1O;3UB;W1T;VT["E@@( ET;W ]>3L*v
|
||
M6" @"6)O='1O;2 ]('9I9&5O7VYU;5]L:6YE<SL*6"$@"7-C<F1O=VXH*3L*u
|
||
M6" @"71O<#UO;&1T;W ["E@@( EB;W1T;VT];VQD8F]T=&]M.PI8("!]"E@@t
|
||
M( I8(2!S=&%T:6,@=F]I9"!D96QE=&5?8VAA<BAV;VED*0I8("=&]P/7D["E@@( EB;W1T;VT@/2!V:61E;U]N=6U?;&EN97,[p
|
||
M"E@A( ES8W)D;W=N*&-U<G)C;VYS*3L*6" @"71O<#UO;&1T;W ["E@@( EBo
|
||
M;W1T;VT];VQD8F]T=&]M.PI8("!]"E@@( I8(2!S=&%T:6,@=F]I9"!D96QEn
|
||
M=&5?8VAA<BAI;G0@8W5R<F-O;G,I"E@@('L*6" @"6EN="!I.PI8(" )=6YSm
|
||
M:6=N960@<VAO<G0@*B!P(#T@*'5N<VEG;F5D('-H;W)T("HI('!O<SL*6"HJl
|
||
M*BHJ*BHJ*BHJ*BHJ*@I8*BHJ(#,W-2PS.#$@*BHJ*@I8(" )*G @/2!V:61Ek
|
||
M;U]E<F%S95]C:&%R.PI8("!]"E@@( I8(2!S=&%T:6,@=F]I9"!D96QE=&5?j
|
||
M;&EN92AV;VED*0I8("!["E@@( EI;G0@;VQD=&]P+&]L9&)O='1O;3L*6" @i
|
||
M"E@M+2T@-#,W+#0T,R M+2TM"E@@( DJ<" ]('9I9&5O7V5R87-E7V-H87([h
|
||
M"E@@('T*6" @"E@A('-T871I8R!V;VED(&1E;&5T95]L:6YE*&EN="!C=7)Rg
|
||
M8V]N<RD*6" @>PI8(" ):6YT(&]L9'1O<"QO;&1B;W1T;VT["E@@( I8*BHJf
|
||
M*BHJ*BHJ*BHJ*BHJ"E@J*BH@,S@S+#,Y-" J*BHJ"E@@( EO;&1B;W1T;VT]e
|
||
M8F]T=&]M.PI8(" )=&]P/7D["E@@( EB;W1T;VT@/2!V:61E;U]N=6U?;&ENd
|
||
M97,["E@A( ES8W)U<"@I.PI8(" )=&]P/6]L9'1O<#L*6" @"6)O='1O;3UOc
|
||
M;&1B;W1T;VT["E@@('T*6" @"E@A('-T871I8R!V;VED(&-S:5]A="AU;G-Ib
|
||
M9VYE9"!I;G0@;G(I"E@@('L*6" @"6EF("AN<B ^('9I9&5O7VYU;5]C;VQUa
|
||
M;6YS*0I8(" )"6YR(#T@=FED96]?;G5M7V-O;'5M;G,["E@M+2T@-#0U+#0Uz
|
||
M-B M+2TM"E@@( EO;&1B;W1T;VT]8F]T=&]M.PI8(" )=&]P/7D["E@@( EBy
|
||
M;W1T;VT@/2!V:61E;U]N=6U?;&EN97,["E@A( ES8W)U<"AC=7)R8V]N<RD[x
|
||
M"E@@( ET;W ];VQD=&]P.PI8(" )8F]T=&]M/6]L9&)O='1O;3L*6" @?0I8w
|
||
M(" *6"$@<W1A=&EC('9O:60@8W-I7V%T*&EN="!C=7)R8V]N<RP@=6YS:6=Nv
|
||
M960@:6YT(&YR*0I8("!["E@@( EI9B H;G(@/B!V:61E;U]N=6U?8V]L=6UNu
|
||
M<RD*6" @"0EN<B ]('9I9&5O7VYU;5]C;VQU;6YS.PI8*BHJ*BHJ*BHJ*BHJt
|
||
M*BHJ"E@J*BH@,SDU+#0P-" J*BHJ"E@@( EE;'-E(&EF("@A;G(I"E@@( D)s
|
||
M;G(@/2 Q.PI8(" )=VAI;&4@*&YR+2TI"E@A( D):6YS97)T7V-H87(H*3L*r
|
||
M6" @?0I8(" *6"$@<W1A=&EC('9O:60@8W-I7TPH=6YS:6=N960@:6YT(&YRq
|
||
M*0I8("!["E@@( EI9B H;G(@/B!V:61E;U]N=6U?;&EN97,I"E@@( D);G(@p
|
||
M/2!V:61E;U]N=6U?;&EN97,["E@M+2T@-#4W+#0V-B M+2TM"E@@( EE;'-Eo
|
||
M(&EF("@A;G(I"E@@( D);G(@/2 Q.PI8(" )=VAI;&4@*&YR+2TI"E@A( D)n
|
||
M:6YS97)T7V-H87(H8W5R<F-O;G,I.PI8("!]"E@@( I8(2!S=&%T:6,@=F]Im
|
||
M9"!C<VE?3"AI;G0@8W5R<F-O;G,L('5N<VEG;F5D(&EN="!N<BD*6" @>PI8l
|
||
M(" ):68@*&YR(#X@=FED96]?;G5M7VQI;F5S*0I8(" )"6YR(#T@=FED96]?k
|
||
M;G5M7VQI;F5S.PI8*BHJ*BHJ*BHJ*BHJ*BHJ"E@J*BH@-# U+#0Q-" J*BHJj
|
||
M"E@@( EE;'-E(&EF("@A;G(I"E@@( D);G(@/2 Q.PI8(" )=VAI;&4@*&YRi
|
||
M+2TI"E@A( D):6YS97)T7VQI;F4H*3L*6" @?0I8(" *6"$@<W1A=&EC('9Oh
|
||
M:60@8W-I7U H=6YS:6=N960@:6YT(&YR*0I8("!["E@@( EI9B H;G(@/B!Vg
|
||
M:61E;U]N=6U?8V]L=6UN<RD*6" @"0EN<B ]('9I9&5O7VYU;5]C;VQU;6YSf
|
||
M.PI8+2TM(#0V-RPT-S8@+2TM+0I8(" )96QS92!I9B H(6YR*0I8(" )"6YRe
|
||
M(#T@,3L*6" @"7=H:6QE("AN<BTM*0I8(2 )"6EN<V5R=%]L:6YE*&-U<G)Cd
|
||
M;VYS*3L*6" @?0I8(" *6"$@<W1A=&EC('9O:60@8W-I7U H:6YT(&-U<G)Cc
|
||
M;VYS+"!U;G-I9VYE9"!I;G0@;G(I"E@@('L*6" @"6EF("AN<B ^('9I9&5Ob
|
||
M7VYU;5]C;VQU;6YS*0I8(" )"6YR(#T@=FED96]?;G5M7V-O;'5M;G,["E@Ja
|
||
M*BHJ*BHJ*BHJ*BHJ*BH*6"HJ*B T,34L-#(T("HJ*BH*6" @"65L<V4@:68@z
|
||
M*"%N<BD*6" @"0EN<B ](#$["E@@( EW:&EL92 H;G(M+2D*6"$@"0ED96QEy
|
||
M=&5?8VAA<B@I.PI8("!]"E@@( I8(2!S=&%T:6,@=F]I9"!C<VE?32AU;G-Ix
|
||
M9VYE9"!I;G0@;G(I"E@@('L*6" @"6EF("AN<B ^('9I9&5O7VYU;5]L:6YEw
|
||
M<RD*6" @"0EN<B ]('9I9&5O7VYU;5]L:6YE<SL*6"TM+2 T-S<L-#@V("TMv
|
||
M+2T*6" @"65L<V4@:68@*"%N<BD*6" @"0EN<B ](#$["E@@( EW:&EL92 Hu
|
||
M;G(M+2D*6"$@"0ED96QE=&5?8VAA<BAC=7)R8V]N<RD["E@@('T*6" @"E@At
|
||
M('-T871I8R!V;VED(&-S:5]-*&EN="!C=7)R8V]N<RP@=6YS:6=N960@:6YTs
|
||
M(&YR*0I8("!["E@@( EI9B H;G(@/B!V:61E;U]N=6U?;&EN97,I"E@@( D)r
|
||
M;G(@/2!V:61E;U]N=6U?;&EN97,["E@J*BHJ*BHJ*BHJ*BHJ*BH*6"HJ*B Tq
|
||
M,C4L-#4R("HJ*BH*6" @"65L<V4@:68@*"%N<BD*6" @"0EN<CTQ.PI8(" )p
|
||
M=VAI;&4@*&YR+2TI"E@A( D)9&5L971E7VQI;F4H*3L*6" @?0I8(" *6"$@o
|
||
M<W1A=&EC(&EN="!S879E9%]X/3 ["E@A('-T871I8R!I;G0@<V%V961?>3TPn
|
||
M.PI8(2 *6"$@<W1A=&EC('9O:60@<V%V95]C=7(H=F]I9"D*6" @>PI8(" )m
|
||
M<V%V961?>#UX.PI8(" )<V%V961?>3UY.PI8("!]"E@@( I8(2!S=&%T:6,@l
|
||
M=F]I9"!R97-T;W)E7V-U<BAV;VED*0I8("!["E@A( EG;W1O>'DH<V%V961?k
|
||
M>"P@<V%V961?>2D["E@@('T*6" @"E@@('9O:60@8V]N7W=R:71E*'-T<G5Cj
|
||
M="!T='E?<W1R=6-T("H@='1Y*0I8("!["E@@( EI;G0@;G(["E@@( EC:&%Ri
|
||
M(&,["E@@( I8(" );G(@/2!#2$%24RAT='DM/G=R:71E7W$I.PI8(" )=VAIh
|
||
M;&4@*&YR+2TI('L*6" @"0E'151#2"AT='DM/G=R:71E7W$L8RD["E@M+2T@g
|
||
M-#@W+#4R-2 M+2TM"E@@( EE;'-E(&EF("@A;G(I"E@@( D);G(],3L*6" @f
|
||
M"7=H:6QE("AN<BTM*0I8(2 )"61E;&5T95]L:6YE*&-U<G)C;VYS*3L*6" @e
|
||
M?0I8(" *6"$@<W1A=&EC('9O:60@<V%V95]C=7(H:6YT(&-U<G)C;VYS*0I8d
|
||
M("!["E@@( ES879E9%]X/7@["E@@( ES879E9%]Y/7D["E@@('T*6" @"E@Ac
|
||
M('-T871I8R!V;VED(')E<W1O<F5?8W5R*&EN="!C=7)R8V]N<RD*6" @>PI8b
|
||
M(2 )9V]T;WAY*&-U<G)C;VYS+'-A=F5D7W@L('-A=F5D7WDI.PI8("!]"E@@a
|
||
M( I8*R!S=&%T:6,@:6YT(&UY871T<CL*6" @=F]I9"!C;VY?=W)I=&4H<W1Rz
|
||
M=6-T('1T>5]S=')U8W0@*B!T='DI"E@@('L*6" @"6EN="!N<CL*6" @"6-Hy
|
||
M87(@8SL*6" @"E@K( EI;G0@8W5R<F-O;G,["E@K(" @(" @"E@K( EF;W(@x
|
||
M*&-U<G)C;VYS(#T@,#L@8W5R<F-O;G,\/4Y27T-/3E-/3$53.R!C=7)R8V]Nw
|
||
M<RLK*0I8*R )("!I9B H='1Y(#T](%1465]404),12AC=7)R8V]N<RDI"E@Kv
|
||
M( D@(" @8G)E86L["E@K( EI9B H8W5R<F-O;G,^3E)?0T].4T],15,I"E@Ku
|
||
M( D@('!A;FEC*")C;VY?=W)I=&4Z(&EL;&5G86P@='1Y(BD["E@K( EI9B Ht
|
||
M(6-U<G)C;VYS*2 @+RH@='1Y,"!A;'=A>7,@=W)I=&5S('1O('1H92!C=7)Rs
|
||
M96YT(&]N92X@*B\*6"L@"2 @8W5R<F-O;G,@/2!F9U]C;VYS;VQE.PI8*R )r
|
||
M96QS92 *6"L@"2 @8W5R<F-O;G,M+3L*6"L@( D@(" *6"L@(" @(" @("!Mq
|
||
M>6%T='(@/2!A='1R.PI8(" );G(@/2!#2$%24RAT='DM/G=R:71E7W$I.PI8p
|
||
M(" )=VAI;&4@*&YR+2TI('L*6" @"0E'151#2"AT='DM/G=R:71E7W$L8RD[o
|
||
M"E@J*BHJ*BHJ*BHJ*BHJ*BH*6"HJ*B T-38L-#8T("HJ*BH*6" @"0D)"0EIn
|
||
M9B H>#X]=FED96]?;G5M7V-O;'5M;G,I('L*6" @"0D)"0D)>" M/2!V:61Em
|
||
M;U]N=6U?8V]L=6UN<SL*6" @"0D)"0D)<&]S("T]('9I9&5O7W-I>F5?<F]Wl
|
||
M.PI8(2 )"0D)"0EL9B@I.PI8(" )"0D)"7T*6"$@"0D)"0E?7V%S;5]?*")Mk
|
||
M;W9B(%]A='1R+"4E86A<;EQT(@I8(" )"0D)"0DB;6]V=R E)6%X+"4Q7&Y<j
|
||
M="(*6" @"0D)"0D).CHB82(@*&,I+")M(B H*BAS:&]R=" J*7!O<RD*6" @i
|
||
M"0D)"0D).B)A>"(I.PI8+2TM(#4R.2PU,S<@+2TM+0I8(" )"0D)"6EF("AXh
|
||
M/CUV:61E;U]N=6U?8V]L=6UN<RD@>PI8(" )"0D)"0EX("T]('9I9&5O7VYUg
|
||
M;5]C;VQU;6YS.PI8(" )"0D)"0EP;W,@+3T@=FED96]?<VEZ95]R;W<["E@Af
|
||
M( D)"0D)"6QF*&-U<G)C;VYS*3L*6" @"0D)"0E]"E@A( D)"0D)7U]A<VU?e
|
||
M7R@B;6]V8B!?;7EA='1R+"4E86A<;EQT(@I8(" )"0D)"0DB;6]V=R E)6%Xd
|
||
M+"4Q7&Y<="(*6" @"0D)"0D).CHB82(@*&,I+")M(B H*BAS:&]R=" J*7!Oc
|
||
M<RD*6" @"0D)"0D).B)A>"(I.PI8*BHJ*BHJ*BHJ*BHJ*BHJ"E@J*BH@-#8Wb
|
||
M+#0W-R J*BHJ"E@@( D)"0E](&5L<V4@:68@*&,]/3(W*0I8(" )"0D)"7-Ta
|
||
M871E/3$["E@@( D)"0EE;'-E(&EF("AC/3TQ,"!\?"!C/3TQ,2!\?"!C/3TQz
|
||
M,BD*6"$@"0D)"0EL9B@I.PI8(" )"0D)96QS92!I9B H8ST],3,I"E@A( D)y
|
||
M"0D)8W(H*3L*6" @"0D)"65L<V4@:68@*&,]/45205-%7T-(05(H='1Y*2D*x
|
||
M6"$@"0D)"0ED96PH*3L*6" @"0D)"65L<V4@:68@*&,]/3@I('L*6" @"0D)w
|
||
M"0EI9B H>"D@>PI8(" )"0D)"0EX+2T["E@M+2T@-30P+#4U," M+2TM"E@@v
|
||
M( D)"0E](&5L<V4@:68@*&,]/3(W*0I8(" )"0D)"7-T871E/3$["E@@( D)u
|
||
M"0EE;'-E(&EF("AC/3TQ,"!\?"!C/3TQ,2!\?"!C/3TQ,BD*6"$@"0D)"0ELt
|
||
M9BAC=7)R8V]N<RD["E@@( D)"0EE;'-E(&EF("AC/3TQ,RD*6"$@"0D)"0ECs
|
||
M<BAC=7)R8V]N<RD["E@@( D)"0EE;'-E(&EF("AC/3U%4D%315]#2$%2*'1Tr
|
||
M>2DI"E@A( D)"0D)9&5L*&-U<G)C;VYS*3L*6" @"0D)"65L<V4@:68@*&,]q
|
||
M/3@I('L*6" @"0D)"0EI9B H>"D@>PI8(" )"0D)"0EX+2T["E@J*BHJ*BHJp
|
||
M*BHJ*BHJ*BH*6"HJ*B T.#0L-#DP("HJ*BH*6" @"0D)"0EI9B H>#YV:61Eo
|
||
M;U]N=6U?8V]L=6UN<RD@>PI8(" )"0D)"0EX("T]('9I9&5O7VYU;5]C;VQUn
|
||
M;6YS.PI8(" )"0D)"0EP;W,@+3T@=FED96]?<VEZ95]R;W<["E@A( D)"0D)m
|
||
M"6QF*"D["E@@( D)"0D)?0I8(" )"0D)"6,].3L*6" @"0D)"7T@96QS92!Il
|
||
M9B H8ST]-RD*6"TM+2 U-3<L-38S("TM+2T*6" @"0D)"0EI9B H>#YV:61Ek
|
||
M;U]N=6U?8V]L=6UN<RD@>PI8(" )"0D)"0EX("T]('9I9&5O7VYU;5]C;VQUj
|
||
M;6YS.PI8(" )"0D)"0EP;W,@+3T@=FED96]?<VEZ95]R;W<["E@A( D)"0D)i
|
||
M"6QF*&-U<G)C;VYS*3L*6" @"0D)"0E]"E@@( D)"0D)8STY.PI8(" )"0D)h
|
||
M?2!E;'-E(&EF("AC/3TW*0I8*BHJ*BHJ*BHJ*BHJ*BHJ"E@J*BH@-#DU+#4Qg
|
||
M,2 J*BHJ"E@@( D)"0EI9B H8ST])ULG*0I8(" )"0D)"7-T871E/3(["E@@f
|
||
M( D)"0EE;'-E(&EF("AC/3TG12<I"E@A( D)"0D)9V]T;WAY*# L>2LQ*3L*e
|
||
M6" @"0D)"65L<V4@:68@*&,]/2=-)RD*6"$@"0D)"0ER:2@I.PI8(" )"0D)d
|
||
M96QS92!I9B H8ST])T0G*0I8(2 )"0D)"6QF*"D["E@@( D)"0EE;'-E(&EFc
|
||
M("AC/3TG6B<I"E@A( D)"0D)<F5S<&]N9"AT='DI.PI8(" )"0D)96QS92!Ib
|
||
M9B H>#T])S<G*0I8(2 )"0D)"7-A=F5?8W5R*"D["E@@( D)"0EE;'-E(&EFa
|
||
M("AX/3TG."<I"E@A( D)"0D)<F5S=&]R95]C=7(H*3L*6" @"0D)"6)R96%Kz
|
||
M.PI8(" )"0EC87-E(#(Z"E@@( D)"0EF;W(H;G!A<CTP.VYP87(\3E!!4CMNy
|
||
M<&%R*RLI"E@M+2T@-38X+#4X-" M+2TM"E@@( D)"0EI9B H8ST])ULG*0I8x
|
||
M(" )"0D)"7-T871E/3(["E@@( D)"0EE;'-E(&EF("AC/3TG12<I"E@A( D)w
|
||
M"0D)9V]T;WAY*&-U<G)C;VYS+# L>2LQ*3L*6" @"0D)"65L<V4@:68@*&,]v
|
||
M/2=-)RD*6"$@"0D)"0ER:2AC=7)R8V]N<RD["E@@( D)"0EE;'-E(&EF("ACu
|
||
M/3TG1"<I"E@A( D)"0D);&8H8W5R<F-O;G,I.PI8(" )"0D)96QS92!I9B Ht
|
||
M8ST])UHG*0I8(2 )"0D)"7)E<W!O;F0H8W5R<F-O;G,L='1Y*3L*6" @"0D)s
|
||
M"65L<V4@:68@*'@]/2<W)RD*6"$@"0D)"0ES879E7V-U<BAC=7)R8V]N<RD[r
|
||
M"E@@( D)"0EE;'-E(&EF("AX/3TG."<I"E@A( D)"0D)<F5S=&]R95]C=7(Hq
|
||
M8W5R<F-O;G,I.PI8(" )"0D)8G)E86L["E@@( D)"6-A<V4@,CH*6" @"0D)p
|
||
M"69O<BAN<&%R/3 [;G!A<CQ.4$%2.VYP87(K*RD*6"HJ*BHJ*BHJ*BHJ*BHJo
|
||
M*@I8*BHJ(#4Q,BPU,3<@*BHJ*@I8+2TM(#4X-2PU.30@+2TM+0I8(" )"0D)n
|
||
M"7!A<EMN<&%R73TP.PI8(" )"0D);G!A<CTP.PI8(" )"0D)<W1A=&4],SL*m
|
||
M6"L@"0D)"2\J:68@*&,@/3TG6R<I"E@K( D)"0E[('-T871E/34["E@K( D)l
|
||
M"0D@(&)R96%K.PI8*R )"0D)?2 J+R *6" @"0D)"6EF("AQ=65S/2AC/3TGk
|
||
M/R<I*0I8(" )"0D)"6)R96%K.PI8(" )"0EC87-E(#,Z"E@J*BHJ*BHJ*BHJj
|
||
M*BHJ*BH*6"HJ*B U,C<L-3@W("HJ*BH*6" @"0D)"7-W:71C:"AC*2!["E@@i
|
||
M( D)"0D)8V%S92 G1R<Z(&-A<V4@)V G.@I8(" )"0D)"0EI9B H<&%R6S!=h
|
||
M*2!P87);,%TM+3L*6"$@"0D)"0D)9V]T;WAY*'!A<ELP72QY*3L*6" @"0D)g
|
||
M"0D)8G)E86L["E@@( D)"0D)8V%S92 G02<Z"E@@( D)"0D)"6EF("@A<&%Rf
|
||
M6S!=*2!P87);,%TK*SL*6"$@"0D)"0D)9V]T;WAY*'@L>2UP87);,%TI.PI8e
|
||
M(" )"0D)"0EB<F5A:SL*6" @"0D)"0EC87-E("=")SH@8V%S92 G92<Z"E@@d
|
||
M( D)"0D)"6EF("@A<&%R6S!=*2!P87);,%TK*SL*6"$@"0D)"0D)9V]T;WAYc
|
||
M*'@L>2MP87);,%TI.PI8(" )"0D)"0EB<F5A:SL*6" @"0D)"0EC87-E("=#b
|
||
M)SH@8V%S92 G82<Z"E@@( D)"0D)"6EF("@A<&%R6S!=*2!P87);,%TK*SL*a
|
||
M6"$@"0D)"0D)9V]T;WAY*'@K<&%R6S!=+'DI.PI8(" )"0D)"0EB<F5A:SL*z
|
||
M6" @"0D)"0EC87-E("=$)SH*6" @"0D)"0D):68@*"%P87);,%TI('!A<ELPy
|
||
M72LK.PI8(2 )"0D)"0EG;W1O>'DH>"UP87);,%TL>2D["E@@( D)"0D)"6)Rx
|
||
M96%K.PI8(" )"0D)"6-A<V4@)T4G.@I8(" )"0D)"0EI9B H(7!A<ELP72D@w
|
||
M<&%R6S!=*RL["E@A( D)"0D)"6=O=&]X>2@P+'DK<&%R6S!=*3L*6" @"0D)v
|
||
M"0D)8G)E86L["E@@( D)"0D)8V%S92 G1B<Z"E@@( D)"0D)"6EF("@A<&%Ru
|
||
M6S!=*2!P87);,%TK*SL*6"$@"0D)"0D)9V]T;WAY*# L>2UP87);,%TI.PI8t
|
||
M(" )"0D)"0EB<F5A:SL*6" @"0D)"0EC87-E("=D)SH*6" @"0D)"0D):68@s
|
||
M*'!A<ELP72D@<&%R6S!=+2T["E@A( D)"0D)"6=O=&]X>2AX+'!A<ELP72D[r
|
||
M"E@@( D)"0D)"6)R96%K.PI8(" )"0D)"6-A<V4@)T@G.B!C87-E("=F)SH*q
|
||
M6" @"0D)"0D):68@*'!A<ELP72D@<&%R6S!=+2T["E@@( D)"0D)"6EF("APp
|
||
M87);,5TI('!A<ELQ72TM.PI8(2 )"0D)"0EG;W1O>'DH<&%R6S%=+'!A<ELPo
|
||
M72D["E@@( D)"0D)"6)R96%K.PI8(" )"0D)"6-A<V4@)THG.@I8(2 )"0D)n
|
||
M"0EC<VE?2BAP87);,%TI.PI8(" )"0D)"0EB<F5A:SL*6" @"0D)"0EC87-Em
|
||
M("=+)SH*6"$@"0D)"0D)8W-I7TLH<&%R6S!=*3L*6" @"0D)"0D)8G)E86L[l
|
||
M"E@@( D)"0D)8V%S92 G3"<Z"E@A( D)"0D)"6-S:5],*'!A<ELP72D["E@@k
|
||
M( D)"0D)"6)R96%K.PI8(" )"0D)"6-A<V4@)TTG.@I8(2 )"0D)"0EC<VE?j
|
||
M32AP87);,%TI.PI8(" )"0D)"0EB<F5A:SL*6" @"0D)"0EC87-E("=0)SH*i
|
||
M6"$@"0D)"0D)8W-I7U H<&%R6S!=*3L*6" @"0D)"0D)8G)E86L["E@@( D)h
|
||
M"0D)8V%S92 G0"<Z"E@A( D)"0D)"6-S:5]A="AP87);,%TI.PI8(" )"0D)g
|
||
M"0EB<F5A:SL*6" @"0D)"0EC87-E("=M)SH*6"$@"0D)"0D)8W-I7VTH*3L*f
|
||
M6" @"0D)"0D)8G)E86L["E@@( D)"0D)8V%S92 G<B<Z"E@@( D)"0D)"6EFe
|
||
M("AP87);,%TI('!A<ELP72TM.PI8+2TM(#8P-"PV-C0@+2TM+0I8(" )"0D)d
|
||
M<W=I=&-H*&,I('L*6" @"0D)"0EC87-E("=')SH@8V%S92 G8"<Z"E@@( D)c
|
||
M"0D)"6EF("AP87);,%TI('!A<ELP72TM.PI8(2 )"0D)"0EG;W1O>'DH8W5Rb
|
||
M<F-O;G,L<&%R6S!=+'DI.PI8(" )"0D)"0EB<F5A:SL*6" @"0D)"0EC87-Ea
|
||
M("=!)SH*6" @"0D)"0D):68@*"%P87);,%TI('!A<ELP72LK.PI8(2 )"0D)z
|
||
M"0EG;W1O>'DH8W5R<F-O;G,L>"QY+7!A<ELP72D["E@@( D)"0D)"6)R96%Ky
|
||
M.PI8(" )"0D)"6-A<V4@)T(G.B!C87-E("=E)SH*6" @"0D)"0D):68@*"%Px
|
||
M87);,%TI('!A<ELP72LK.PI8(2 )"0D)"0EG;W1O>'DH8W5R<F-O;G,L>"QYw
|
||
M*W!A<ELP72D["E@@( D)"0D)"6)R96%K.PI8(" )"0D)"6-A<V4@)T,G.B!Cv
|
||
M87-E("=A)SH*6" @"0D)"0D):68@*"%P87);,%TI('!A<ELP72LK.PI8(2 )u
|
||
M"0D)"0EG;W1O>'DH8W5R<F-O;G,L>"MP87);,%TL>2D["E@@( D)"0D)"6)Rt
|
||
M96%K.PI8(" )"0D)"6-A<V4@)T0G.@I8(" )"0D)"0EI9B H(7!A<ELP72D@s
|
||
M<&%R6S!=*RL["E@A( D)"0D)"6=O=&]X>2AC=7)R8V]N<RQX+7!A<ELP72QYr
|
||
M*3L*6" @"0D)"0D)8G)E86L["E@@( D)"0D)8V%S92 G12<Z"E@@( D)"0D)q
|
||
M"6EF("@A<&%R6S!=*2!P87);,%TK*SL*6"$@"0D)"0D)9V]T;WAY*&-U<G)Cp
|
||
M;VYS+# L>2MP87);,%TI.PI8(" )"0D)"0EB<F5A:SL*6" @"0D)"0EC87-Eo
|
||
M("=&)SH*6" @"0D)"0D):68@*"%P87);,%TI('!A<ELP72LK.PI8(2 )"0D)n
|
||
M"0EG;W1O>'DH8W5R<F-O;G,L,"QY+7!A<ELP72D["E@@( D)"0D)"6)R96%Km
|
||
M.PI8(" )"0D)"6-A<V4@)V0G.@I8(" )"0D)"0EI9B H<&%R6S!=*2!P87);l
|
||
M,%TM+3L*6"$@"0D)"0D)9V]T;WAY*&-U<G)C;VYS+'@L<&%R6S!=*3L*6" @k
|
||
M"0D)"0D)8G)E86L["E@@( D)"0D)8V%S92 G2"<Z(&-A<V4@)V8G.@I8(" )j
|
||
M"0D)"0EI9B H<&%R6S!=*2!P87);,%TM+3L*6" @"0D)"0D):68@*'!A<ELQi
|
||
M72D@<&%R6S%=+2T["E@A( D)"0D)"6=O=&]X>2AC=7)R8V]N<RQP87);,5TLh
|
||
M<&%R6S!=*3L*6" @"0D)"0D)8G)E86L["E@@( D)"0D)8V%S92 G2B<Z"E@Ag
|
||
M( D)"0D)"6-S:5]**&-U<G)C;VYS+'!A<ELP72D["E@@( D)"0D)"6)R96%Kf
|
||
M.PI8(" )"0D)"6-A<V4@)TLG.@I8(2 )"0D)"0EC<VE?2RAC=7)R8V]N<RQPe
|
||
M87);,%TI.PI8(" )"0D)"0EB<F5A:SL*6" @"0D)"0EC87-E("=,)SH*6"$@d
|
||
M"0D)"0D)8W-I7TPH8W5R<F-O;G,L<&%R6S!=*3L*6" @"0D)"0D)8G)E86L[c
|
||
M"E@@( D)"0D)8V%S92 G32<Z"E@A( D)"0D)"6-S:5]-*&-U<G)C;VYS+'!Ab
|
||
M<ELP72D["E@@( D)"0D)"6)R96%K.PI8(" )"0D)"6-A<V4@)U G.@I8(2 )a
|
||
M"0D)"0EC<VE?4"AC=7)R8V]N<RQP87);,%TI.PI8(" )"0D)"0EB<F5A:SL*z
|
||
M6" @"0D)"0EC87-E("= )SH*6"$@"0D)"0D)8W-I7V%T*&-U<G)C;VYS+'!Ay
|
||
M<ELP72D["E@@( D)"0D)"6)R96%K.PI8(" )"0D)"6-A<V4@)VTG.@I8(2 )x
|
||
M"0D)"0EC<VE?;2AC=7)R8V]N<RD["E@@( D)"0D)"6)R96%K.PI8(" )"0D)w
|
||
M"6-A<V4@)W(G.@I8(" )"0D)"0EI9B H<&%R6S!=*2!P87);,%TM+3L*6"HJv
|
||
M*BHJ*BHJ*BHJ*BHJ*@I8*BHJ(#4Y,RPV,#<@*BHJ*@I8(" )"0D)"0E]"E@@u
|
||
M( D)"0D)"6)R96%K.PI8(" )"0D)"6-A<V4@)W,G.@I8(2 )"0D)"0ES879Et
|
||
M7V-U<B@I.PI8(" )"0D)"0EB<F5A:SL*6" @"0D)"0EC87-E("=U)SH*6"$@s
|
||
M"0D)"0D)<F5S=&]R95]C=7(H*3L*6" @"0D)"0D)8G)E86L["E@@( D)"0E]r
|
||
M"E@@( D)?0I8(" )?0I8(2 )<V5T7V-U<G-O<B@I.PI8("!]"E@@( I8(" Oq
|
||
M*@I8+2TM(#8W,"PV.#@@+2TM+0I8(" )"0D)"0E]"E@@( D)"0D)"6)R96%Kp
|
||
M.PI8(" )"0D)"6-A<V4@)W,G.@I8(2 )"0D)"0ES879E7V-U<BAC=7)R8V]No
|
||
M<RD["E@@( D)"0D)"6)R96%K.PI8(" )"0D)"6-A<V4@)W4G.@I8(2 )"0D)n
|
||
M"0ER97-T;W)E7V-U<BAC=7)R8V]N<RD["E@@( D)"0D)"6)R96%K.PI8(" )m
|
||
M"0D)?0I8*R )"0D)8G)E86L["E@K( D)"6-A<V4@-3H*6"L@"0D)(" @+RH@l
|
||
M1G5N8W1I;VX@2V5Y("HO"E@K( D)"2 @8G)E86L["E@@( D)?0I8(" )?0I8k
|
||
M(2 )<V5T7V-U<G-O<BAC=7)R8V]N<RD["E@@('T*6" @"E@@("\J"E@J*BHJj
|
||
M*BHJ*BHJ*BHJ*BH*6"HJ*B V,3DL-C(T("HJ*BH*6"TM+2 W,# L-S V("TMi
|
||
M+2T*6" @"7)E9VES=&5R('5N<VEG;F5D(&-H87(@83L*6" @"6-H87(@*F1Ih
|
||
M<W!L87E?9&5S8R ]("(_/S\_(CL*6" @"6-H87(@*F1I<W!L87E?<'1R.PI8g
|
||
M*R ):6YT(&-U<G)C;VYS(#T@,"P@:2P@:BP@;6%X:CL@"E@@( I8(" )=FEDf
|
||
M96]?;G5M7V-O;'5M;G,@/2!/4DE'7U9)1$5/7T-/3%,["E@@( EV:61E;U]Se
|
||
M:7IE7W)O=R ]('9I9&5O7VYU;5]C;VQU;6YS("H@,CL*6"HJ*BHJ*BHJ*BHJd
|
||
M*BHJ*@I8*BHJ(#8T-BPV-3$@*BHJ*@I8+2TM(#<R."PW,S0@+2TM+0I8(" )c
|
||
M?0I8(" )96QS90D)"0D)"0D)+RH@268@;F]T+"!I="!I<R!C;VQO<BX@*B\*b
|
||
M6" @"7L*6"L@"0EC86YD;V-O;&]R(#T@,3L*6" @"0EV:61E;U]M96U?<W1Aa
|
||
M<G0@/2 P>&(X,# P.PI8(" )"79I9&5O7W!O<G1?<F5G"3T@,'@S9#0["E@@z
|
||
M( D)=FED96]?<&]R=%]V86P)/2 P>#-D-3L*6"HJ*BHJ*BHJ*BHJ*BHJ*@I8y
|
||
M*BHJ(#8V,BPV-C<@*BHJ*@I8+2TM(#<T-2PW-3(@+2TM+0I8(" )"0ED:7-Px
|
||
M;&%Y7V1E<V,@/2 B*D-'02(["E@@( D)?0I8(" )?0I8*R )=FED96]?;65Mw
|
||
M7V)A<V4@/2!V:61E;U]M96U?<W1A<G0["E@K( EV:61E;U]M96U?=&5R;2 ]v
|
||
M('9I9&5O7VUE;5]E;F0["E@@( I8(" )+RH@3&5T('1H92!U<V5R(&MN;W=Nu
|
||
M('=H870@:VEN9"!O9B!D:7-P;&%Y(&1R:79E<B!W92!A<F4@=7-I;F<@*B\*t
|
||
M6" @"0I8*BHJ*BHJ*BHJ*BHJ*BHJ"E@J*BH@-C<X+#8Y," J*BHJ"E@@( ESs
|
||
M8W)?96YD"3T@=FED96]?;65M7W-T87)T("L@=FED96]?;G5M7VQI;F5S("H@r
|
||
M=FED96]?<VEZ95]R;W<["E@@( ET;W )/2 P.PI8(" )8F]T=&]M"3T@=FEDq
|
||
M96]?;G5M7VQI;F5S.PI8(" *6"$@"6=O=&]X>2A/4DE'7U@L3U))1U]9*3L*p
|
||
M6" @"7-E=%]T<F%P7V=A=&4H,'@R,2PF:V5Y8F]A<F1?:6YT97)R=7!T*3L*o
|
||
M6" @"6]U=&)?<"AI;F)?<"@P>#(Q*28P>&9D+#!X,C$I.PI8(" )83UI;F)?n
|
||
M<"@P>#8Q*3L*6" @"6]U=&)?<"AA?#!X.# L,'@V,2D["E@A( EO=71B*&$Lm
|
||
M,'@V,2D["E@@('T*6" @+RH@9G)O;2!B<V0M;F5T+3(Z("HO"E@@( I8+2TMl
|
||
M(#<V,RPW.3$@+2TM+0I8(" )<V-R7V5N9 D]('9I9&5O7VUE;5]S=&%R=" Kk
|
||
M('9I9&5O7VYU;5]L:6YE<R J('9I9&5O7W-I>F5?<F]W.PI8(" )=&]P"3T@j
|
||
M,#L*6" @"6)O='1O;0D]('9I9&5O7VYU;5]L:6YE<SL*6"L@(" )871T<CTPi
|
||
M># W.PI8*R @( ED969?871T<CTP># W.PI8*R @(" @(" @('-T871E/3 [h
|
||
M"E@K( EQ=65S(#T@,#L*6"L@"6ES8V]L;W(@/2 P.PI8(" *6"$@"6=O=&]Xg
|
||
M>2AC=7)R8V]N<RQ/4DE'7U@L3U))1U]9*3L*6" @"7-E=%]T<F%P7V=A=&4Hf
|
||
M,'@R,2PF:V5Y8F]A<F1?:6YT97)R=7!T*3L*6" @"6]U=&)?<"AI;F)?<"@Pe
|
||
M>#(Q*28P>&9D+#!X,C$I.PI8(" )83UI;F)?<"@P>#8Q*3L*6" @"6]U=&)?d
|
||
M<"AA?#!X.# L,'@V,2D["E@A( EO=71B7W H82PP>#8Q*3L*6"$@(" )9F]Rc
|
||
M("AI/3$[(&D\3E)?0T].4T],15,[(&DK*RD*6"$@(" @(" @("![('9C7V-Ob
|
||
M;G-;:5T@/2!V8U]C;VYS6S!=.PI8(2 )("!V8U]C;VYS6VE=+G9C7V]R:6=Ia
|
||
M;@D]("AU;G-I9VYE9"!L;VYG*79C7W-C<F)U9EMI72YS8W)E96X["E@A( D@z
|
||
M('9C7V-O;G-;:5TN=F-?<V-R7V5N9 D]('9C7V-O;G-;:5TN=F-?;W)I9VENy
|
||
M("L@=FED96]?;G5M7VQI;F5S("H@=FED96]?<VEZ95]R;W<["E@A( D@('9Cx
|
||
M7V-O;G-;:5TN=F-?=FED96]?;65M7W-T87)T(#T@=F-?8V]N<UMI72YV8U]Ow
|
||
M<FEG:6X["E@A( D@('9C7V-O;G-;:5TN=F-?=FED96]?;65M7V5N9" ]("AIv
|
||
M(#\@=F-?8V]N<UMI72YV8U]S8W)?96YD(#H@=FED96]?;65M7W1E<FTI.PI8u
|
||
M(2 )("!V8U]C;VYS6VE=+G9C7W!O<SUV8U]C;VYS6VE=+G9C7W9I9&5O7VUEt
|
||
M;5]S=&%R=" K('DJ=FED96]?<VEZ95]R;W<@*R H>#P\,2D["E@A( D@(&UAs
|
||
M>&H@/2!V:61E;U]N=6U?;&EN97,J=FED96]?;G5M7V-O;'5M;G,["E@A( D@r
|
||
M(&9O<B H:CTP.R!J/&UA>&H[(&HK*RD*6"$@(" @(" @(" @(" @=F-?<V-Rq
|
||
M8G5F6VE=+G-C<F5E;EMJ72 ]('9I9&5O7V5R87-E7V-H87(["E@A(" @(" @p
|
||
M(" @?0I8("!]"E@@("\J(&9R;VT@8G-D+6YE="TR.B J+PI8(" *6"HJ*BHJo
|
||
M*BHJ*BHJ*BHJ*@I8*BHJ(#<P-RPW,3 @*BHJ*@I8+2TM(#@P."PY-3<@+2TMn
|
||
M+0I8(" );W5T8B@P># V+" P>#0R*3L*6" @"2\J(#$O."!S96-O;F0@*B\*m
|
||
M6" @"6)E97!C;W5N=" ]($A:+S@["0I8*R!]"E@K( I8*R *6"L@"E@K('-Tl
|
||
M871I8R!I;G0@:V)?86-K*"!I;G0@9&%T85]P;W)T*0I8*R!["E@K(" @:6YTk
|
||
M(')E=')I97,["E@K( I8*R @(')E=')I97,@/2 P>#$P,# ["E@K(" @=VAIj
|
||
M;&4@*"TM<F5T<FEE<R A/2 P("8F(&EN8E]P*&1A=&%?<&]R="D@(3T@,'A&i
|
||
M02D*6"L@"3L)"0DO*B!W86ET(&9O<B!A8VL@*B\*6"L@("!R971U<FXH<F5Th
|
||
M<FEE<RD["0DO*B!N;VYZ97)O(&EF(&%C:R!R96-E:79E9" J+PI8*R!]"E@Kg
|
||
M( I8*R!S=&%T:6,@:6YT(&MB7W=A:70H:6YT('-T871U<U]P;W)T*0I8*R![f
|
||
M"E@K(" @:6YT(')E=')I97,@/2 P>#$P,# ["E@K(" @=VAI;&4@*"@M+7)Ee
|
||
M=')I97,@(3T@,"D@)B8@*&EN8E]P*'-T871U<U]P;W)T*2 F(#!X,#(I*0I8d
|
||
M*R @(" @.PI8*R @(')E='5R;BAR971R:65S*3L*6"L@?0I8*R *6"L@+RH@c
|
||
M4V5T('1H92!,141S(&]N('1H92!C87!S(&QO8VL@86YD(&YU;2!L;V-K(&MEb
|
||
M>7,N( I8*R!S=&%T:6,@=F]I9"!S971?;&5D<R@@:6YT(&-U<G)C;VYS+"!Ia
|
||
M;G0@;VQD8V]N<R I"E@K('L*6"L@"E@K(" @:6YT(&QE9',L(&UO9&4L(&1Az
|
||
M=&%?<&]R="P@<W1A='5S7W!O<G0["E@K(" @97AT97)N('5N<VEG;F5D(&-Hy
|
||
M87(@:V)D7VQE9'-;,ET["E@K(" @97AT97)N('5N<VEG;F5D(&-H87(@:V)Dx
|
||
M7VUO9&5;,ET["E@K( I8*R @('9C7V-O;G-;;VQD8V]N<UTN<V%V96QE9" ]w
|
||
M(&MB9%]L961S6S!=.PI8*R @('9C7V-O;G-;;VQD8V]N<UTN<V%V96UO9&4@v
|
||
M/2!K8F1?;6]D95LP73L*6"L@("!L961S(#T@=F-?8V]N<UMC=7)R8V]N<UTNu
|
||
M<V%V96QE9#L*6"L@("!M;V1E(#T@=F-?8V]N<UMC=7)R8V]N<UTN<V%V96UOt
|
||
M9&4["E@K(" @:V)D7VQE9'-;,%T@/2!L961S.PI8*R @(&MB9%]M;V1E6S!=s
|
||
M(#T@;6]D93L*6"L@("!L961S(#T@*"@H;6]D93X^-BDF,BD@?" H*&UO9&4^r
|
||
M/C4I)C0I*3L*6"L@"E@K("-I9F1E9B!04U]45T\*6"L@("!I9B H<',I('L*q
|
||
M6"L@"61A=&%?<&]R=" ](#!X-C@["E@K( ES=&%T=7-?<&]R=" ](#!X-S([p
|
||
M"E@K(" @?2!E;'-E( I8*R C96YD:68*6"L@("!["E@K( ED871A7W!O<G0@o
|
||
M/2 P>#8P.PI8*R )<W1A='5S7W!O<G0@/2 P>#8T.PI8*R @('T*6"L@"E@Kn
|
||
M(" @:V)?=V%I="AS=&%T=7-?<&]R="D["0I8*R @(&]U=&)?<"AD871A7W!Om
|
||
M<G0L(#!X140I.PI8*R @(&MB7V%C:RAD871A7W!O<G0I.PI8*R *6"L@("!Kl
|
||
M8E]W86ET*'-T871U<U]P;W)T*3L)"E@K(" @;W5T8E]P*&1A=&%?<&]R="P@k
|
||
M;&5D<RD["E@K(" @:V)?86-K*&1A=&%?<&]R="D["0D*6"L@?2 J+PI8*R *j
|
||
M6"L@"E@K('-T871I8R!V;VED(&=E=%]S8W)M96TH:6YT(&-U<G)C;VYS*0I8i
|
||
M*R!["E@K(" @:68@*"AV:61E;U]T>7!E(#T](%9)1$5/7U194$5?14=!0R!\h
|
||
M?"!V:61E;U]T>7!E(#T](%9)1$5/7U194$5?14=!32D@)B8*6"L@(" @("AOg
|
||
M<FEG:6X@(3T@=FED96]?;65M7W-T87)T*2D*6"L@("![('5N<VEG;F5D(&QOf
|
||
M;F<@:3L*6"L@(" @(&D@/2!S8W)?96YD+6]R:6=I;CL*6"L@(" @(&UE;6-Pe
|
||
M>2@H=F]I9" J*79C7W-C<F)U9EMF9U]C;VYS;VQE72YS8W)E96XL("AV;VEDd
|
||
M("HI;W)I9VEN+"!I("D["E@K(" @("!M96UC<'DH("AV;VED*BDH*"AC:&%Rc
|
||
M*BEV8U]S8W)B=69;9F=?8V]N<V]L95TN<V-R965N*2MI*2P*6"L@(" @(" @b
|
||
M*'9O:60@*BEV:61E;U]M96U?8F%S92P@4T-27U-)6D4M:2D["E@K(" @?0I8a
|
||
M*R @(&5L<V4*6"L@(" @(&UE;6-P>2@H=F]I9" J*79C7W-C<F)U9EMF9U]Cz
|
||
M;VYS;VQE72YS8W)E96XL"E@K(" @(" @("AV;VED("HI=FED96]?;65M7V)Ay
|
||
M<V4L(%-#4E]325I%*3L*6"L@("!O<FEG:6X@"3T*6"L@("!V:61E;U]M96U?x
|
||
M<W1A<G0@/2 H=6YS:6=N960@;&]N9REV8U]S8W)B=69;9F=?8V]N<V]L95TNw
|
||
M<V-R965N.PI8*R @('9I9&5O7VUE;5]E;F0@/2!V:61E;U]M96U?<W1A<G0Kv
|
||
M<VEZ96]F*'9C7W-C<F)U9ELP72D["E@K(" @<V-R7V5N9 D]('9I9&5O7VUEu
|
||
M;5]S=&%R=" K('9I9&5O7VYU;5]L:6YE<R J('9I9&5O7W-I>F5?<F]W.PI8t
|
||
M*R @('1O< D)/2 P.PI8*R @('!O<SUO<FEG:6X@*R!Y*G9I9&5O7W-I>F5?s
|
||
M<F]W("L@*'@\/#$I.PI8*R @(&)O='1O;0D]('9I9&5O7VYU;5]L:6YE<SL*r
|
||
M6"L@?0I8*R *6"L@<W1A=&EC('9O:60@<V5T7W-C<FUE;2AI;G0@8W5R<F-Oq
|
||
M;G,I"E@K('L*6"L@("!V:61E;U]M96U?<W1A<G0@/2!V:61E;U]M96U?8F%Sp
|
||
M93L*6"L@("!V:61E;U]M96U?96YD(#T@=FED96]?;65M7W1E<FT["E@K(" @o
|
||
M;W)I9VEN"3T@=FED96]?;65M7W-T87)T.PI8*R @('-C<E]E;F0)/2!V:61En
|
||
M;U]M96U?<W1A<G0@*R!V:61E;U]N=6U?;&EN97,@*B!V:61E;U]S:7IE7W)Om
|
||
M=SL*6"L@("!T;W )"3T@,#L*6"L@("!B;W1T;VT)/2!V:61E;U]N=6U?;&ENl
|
||
M97,[( I8*R @('!O<SUO<FEG:6X@*R!Y*G9I9&5O7W-I>F5?<F]W("L@*'@\k
|
||
M/#$I.PI8*R @(&UE;6-P>2@H=F]I9" J*79I9&5O7VUE;5]B87-E+" H=F]Ij
|
||
M9" J*79C7W-C<F)U9EMF9U]C;VYS;VQE72YS8W)E96XL"E@K(" @("!30U)?i
|
||
M4TE:12D["E@K('T*6"L@"E@K('-T871I8R!V;VED('-W87!?<V-R965N*&ENh
|
||
M="!N=6TI"E@K('L*6"L@("!I9B H;G5M(#T](&9G7V-O;G-O;&4I"E@K(" @g
|
||
M("!R971U<FX["E@K(" @8VQI*"D["E@K(" @9V5T7W-C<FUE;2AF9U]C;VYSf
|
||
M;VQE*3L@"E@K(" @9F=?8V]N<V]L92 ](&YU;3L*6"L@("!T86)L95]L:7-Te
|
||
M6S!=(#T@)G1T>5]T86)L95MN=6TK,5TN<F5A9%]Q.R @"E@K(" @=&%B;&5?d
|
||
M;&ES=%LQ72 ]("9T='E?=&%B;&5;;G5M*S%=+G=R:71E7W$["E@K(" @<V5Tc
|
||
M7W-C<FUE;2AF9U]C;VYS;VQE*3L@"E@K(" @<W1I*"D["E@K(" @:68@*'9Ib
|
||
M9&5O7W1Y<&4@/3T@5DE$14]?5%E015]%1T%#('Q\('9I9&5O7W1Y<&4@/3T@a
|
||
M5DE$14]?5%E015]%1T%-*2 *6"L@(" @('-E=%]O<FEG:6XH9F=?8V]N<V]Lz
|
||
M92D["E@K(" @<V5T7V-U<G-O<BAN=6TI.PI8*R!]"E@K( I8*R!S=&%T:6,@y
|
||
M=F]I9"!C:&%N9V5?8V]N<V]L92AI;G0@;G5M*0I8*R!["E@K("\J($)R:6YGx
|
||
M('9I<G1U86P@8V]N<V]L92!N=6T@=&\@=&AE(&9O<F5G<F]U;F0L(&]R(&-Yw
|
||
M8VQE('1O(&YE>'0@8V]N<V]L92!I9@I8*R @*B!N=6T@:7,@+3$N"E@K(" Jv
|
||
M+PI8*R *6"L@("!I;G0@;F5W7V-O;G-O;&4L(&]L9%]C;VYS;VQE.PI8*R *u
|
||
M6"L@("!I9B H;G5M(#X]($Y27T-/3E-/3$53*2!R971U<FX["E@K( I8*R @t
|
||
M(&]L9%]C;VYS;VQE(#T@;F5W7V-O;G-O;&4@/2!F9U]C;VYS;VQE.PI8*R *s
|
||
M6"L@(" O*B!686QU92!O9B!F9U]C;VYS;VQE(&ES(&%C8V5S<V5D(&%S>6YCr
|
||
M:')O;F]U<VQY(&)Y(&ME>6)O87)D*"D@:6YT97)R=7!T"E@K(" @("H@<F]Uq
|
||
M=&EN92P@;F5E9"!T;R!P97)F;W)M(&QO8VL@8F5C875S92!U<&1A=&4@8V%Np
|
||
M)W0@8F4@9W5A<F%N=&5E9"!T;R!B90I8*R @(" J(&%T;VUI8RX*6"L@(" @o
|
||
M*B\*6"L@("!I9B H;G5M(#T]("TQ*2!["E@K( EN97=?8V]N<V]L92LK.PI8n
|
||
M*R ):68@*&YE=U]C;VYS;VQE(#X]($Y27T-/3E-/3$53*2!N97=?8V]N<V]Lm
|
||
M92 ](# ["E@K(" @?2!E;'-E"E@K( EN97=?8V]N<V]L92 ](&YU;3L*6"L@l
|
||
M"E@K(" @+RH@4V5T(&QE9',@86YD(&1I<W!L87D@9F]R(&YE=R!C;VYS;VQEk
|
||
M+B J+PI8*R @("\J('-E=%]L961S*&YE=U]C;VYS;VQE+&]L9%]C;VYS;VQEj
|
||
M*3L@*B\*6"L@("!S=V%P7W-C<F5E;BAN97=?8V]N<V]L92D["E@K('T*6"L@i
|
||
M"E@K( I8*R!E>'1E<FX@=F]I9"!S:&]W7W-T870H=F]I9"D["E@K( I8*R!Vh
|
||
M;VED(&1I<W!L87E?<W1A="@@;&]N9R!R96=E87@@*0I8*R![( I8*R @(&EFg
|
||
M("AR96=E87@\3E)?0T].4T],15,I"E@K(" @("!C:&%N9V5?8V]N<V]L92@@f
|
||
M<F5G96%X("D[( I8*R @(&5L<V4*6"L@(" @('-H;W=?<W1A="@I.PI8("!]e
|
||
M"E@J*BH@:V5R;F5L+V5X:70N8RYO<FEG"4UO;B!$96,@,38@,3,Z,S<Z,C8@d
|
||
M,3DY,0I8+2TM(&ME<FYE;"]E>&ET+F,)36]N($1E8R Q-B Q,SHS.#HU," Qc
|
||
M.3DQ"E@J*BHJ*BHJ*BHJ*BHJ*BH*6"HJ*B Q,C(L,3(X("HJ*BH*6" @"6EPb
|
||
M=70H8W5R<F5N="T^97AE8W5T86)L92D["E@@( EC=7)R96YT+3YE>&5C=71Aa
|
||
M8FQE/4Y53$P["E@@( EI9B H8W5R<F5N="T^;&5A9&5R("8F(&-U<G)E;G0Mz
|
||
M/G1T>2 ^/2 P*0I8(2 )"71T>5]T86)L95MC=7)R96YT+3YT='E=+G!G<G @y
|
||
M/2 P.PI8(" ):68@*&QA<W1?=&%S:U]U<V5D7VUA=&@@/3T@8W5R<F5N="D*x
|
||
M6" @"0EL87-T7W1A<VM?=7-E9%]M871H(#T@3E5,3#L*6" @"6EF("AC=7)Rw
|
||
M96YT+3YL96%D97(I"E@M+2T@,3(R+#$R." M+2TM"E@@( EI<'5T*&-U<G)Ev
|
||
M;G0M/F5X96-U=&%B;&4I.PI8(" )8W5R<F5N="T^97AE8W5T86)L93U.54Q,u
|
||
M.PI8(" ):68@*&-U<G)E;G0M/FQE861E<B F)B!C=7)R96YT+3YT='D@/CT@t
|
||
M,"D*6"$@"0E45%E?5$%"3$4H8W5R<F5N="T^='1Y*2T^<&=R<" ](# ["E@@s
|
||
M( EI9B H;&%S=%]T87-K7W5S961?;6%T:" ]/2!C=7)R96YT*0I8(" )"6QAr
|
||
M<W1?=&%S:U]U<V5D7VUA=&@@/2!.54Q,.PI8(" ):68@*&-U<G)E;G0M/FQEq
|
||
M861E<BD*6"HJ*B!K97)N96PO8VAR7V1R=B]K97EB;V%R9"Y3+F]R:6<)5V5Dp
|
||
M($1E8R @-" Q-3HP-SHU.2 Q.3DQ"E@M+2T@:V5R;F5L+V-H<E]D<G8O:V5Yo
|
||
M8F]A<F0N4PE-;VX@1&5C(#(S(#(Q.C4Y.C$R(#$Y.3$*6"HJ*BHJ*BHJ*BHJn
|
||
M*BHJ*@I8*BHJ(#(P."PR,C(@*BHJ*@I8(" @*B!T:&ES(')O=71I;F4@:&%Nm
|
||
M9&QE<R!F=6YC=&EO;B!K97ES"E@@(" J+PI8("!F=6YC.@I8(2 )<'5S:&P@l
|
||
M)65A> I8(" )<'5S:&P@)65C> I8(" )<'5S:&P@)65D> I8(2 )8V%L;"!?k
|
||
M<VAO=U]S=&%T"E@@( EP;W!L("5E9'@*6" @"7!O<&P@)65C> I8(2 )<&]Pj
|
||
M;" E96%X"E@A( ES=6)B("0P>#-"+"5A; I8(2 ):F(@96YD7V9U;F,*6" @i
|
||
M"6-M<&(@)#DL)6%L"E@@( EJ8F4@;VM?9G5N8PI8(" )<W5B8B D,3@L)6%Lh
|
||
M"E@M+2T@,C X+#(R,R M+2TM"E@@(" J('1H:7,@<F]U=&EN92!H86YD;&5Sg
|
||
M(&9U;F-T:6]N(&ME>7,*6" @("HO"E@@(&9U;F,Z"E@A( ES=6)B("0P>#-"f
|
||
M+"5A; I8(2 ):F(@96YD7V9U;F,*6" @"7!U<VAL("5E8W@*6" @"7!U<VALe
|
||
M("5E9'@*6"$@"7!U<VAL("5E87@*6"$@"6-A;&P@7V1I<W!L87E?<W1A= I8d
|
||
M(2 )<&]P;" E96%X"E@@( EP;W!L("5E9'@*6" @"7!O<&P@)65C> I8(2 )c
|
||
M:FUP("!E;F1?9G5N8PI8(" )8VUP8B D.2PE86P*6" @"6IB92!O:U]F=6YCb
|
||
M"E@@( ES=6)B("0Q."PE86P*6"HJ*B!I;FET+VUA:6XN8RYO<FEG"5-U;B!$a
|
||
M96,@,C(@,3DZ-30Z-3 @,3DY,0I8+2TM(&EN:70O;6%I;BYC"4UO;B!$96,@z
|
||
M,C,@,#DZ,S,Z,#(@,3DY,0I8*BHJ*BHJ*BHJ*BHJ*BHJ"E@J*BH@,3<P+#$Wy
|
||
M-B J*BHJ"E@@( EI;G0@<&ED+&D["E@@( I8(" )<V5T=7 H*'9O:60@*BD@x
|
||
M)F1R:79E7VEN9F\I.PI8(2 )*'9O:60I(&]P96XH(B]D978O='1Y,"(L3U]2w
|
||
M1%=2+# I.PI8(" )*'9O:60I(&1U<"@P*3L*6" @"2AV;VED*2!D=7 H,"D[v
|
||
M"E@@( EP<FEN=&8H(B5D(&)U9F9E<G,@/2 E9"!B>71E<R!B=69F97(@<W!Au
|
||
M8V5<;EQR(BQ.4E]"549&15)3+ I8+2TM(#$W,"PQ-S8@+2TM+0I8(" ):6YTt
|
||
M('!I9"QI.PI8(" *6" @"7-E='5P*"AV;VED("HI("9D<FEV95]I;F9O*3L*s
|
||
M6"$@"2AV;VED*2!O<&5N*"(O9&5V+W1T>3$B+$]?4D174BPP*3L*6" @"2AVr
|
||
M;VED*2!D=7 H,"D["E@@( DH=F]I9"D@9'5P*# I.PI8(" )<')I;G1F*"(Eq
|
||
M9"!B=69F97)S(#T@)60@8GET97,@8G5F9F5R('-P86-E7&Y<<B(L3E)?0E5&p
|
||
M1D524RP*6"HJ*BHJ*BHJ*BHJ*BHJ*@I8*BHJ(#$Y-"PR,# @*BHJ*@I8(" )o
|
||
M"6EF("@A<&ED*2!["E@@( D)"6-L;W-E*# I.V-L;W-E*#$I.V-L;W-E*#(In
|
||
M.PI8(" )"0ES971S:60H*3L*6"$@"0D)*'9O:60I(&]P96XH(B]D978O='1Ym
|
||
M,"(L3U]21%=2+# I.PI8(" )"0DH=F]I9"D@9'5P*# I.PI8(" )"0DH=F]Il
|
||
M9"D@9'5P*# I.PI8(" )"0E?97AI="AE>&5C=F4H(B]B:6XO<V@B+&%R9W8Lk
|
||
M96YV<"DI.PI8+2TM(#$Y-"PR,# @+2TM+0I8(" )"6EF("@A<&ED*2!["E@@j
|
||
M( D)"6-L;W-E*# I.V-L;W-E*#$I.V-L;W-E*#(I.PI8(" )"0ES971S:60Hi
|
||
M*3L*6"$@"0D)*'9O:60I(&]P96XH(B]D978O='1Y,2(L3U]21%=2+# I.PI8h
|
||
M(" )"0DH=F]I9"D@9'5P*# I.PI8(" )"0DH=F]I9"D@9'5P*# I.PI8(" )g
|
||
M"0E?97AI="AE>&5C=F4H(B]B:6XO<V@B+&%R9W8L96YV<"DI.PI8*BHJ(&9Sf
|
||
M+V]P96XN8RYO<FEG"4UO;B!$96,@,38@,3,Z,S<Z-# @,3DY,0I8+2TM(&9Se
|
||
M+V]P96XN8PE3=6X@1&5C(#(R(#(S.C W.C W(#$Y.3$*6"HJ*BHJ*BHJ*BHJd
|
||
M*BHJ*@I8*BHJ(#$V-"PQ-S @*BHJ*@I8(" )"6EF("A-04I/4BAI;F]D92T^c
|
||
M:5]Z;VYE6S!=*3T]-"D@>PI8(" )"0EI9B H8W5R<F5N="T^;&5A9&5R("8Fb
|
||
M(&-U<G)E;G0M/G1T>3PP*2!["E@@( D)"0EC=7)R96YT+3YT='D@/2!-24Y/a
|
||
M4BAI;F]D92T^:5]Z;VYE6S!=*3L*6"$@"0D)"71T>5]T86)L95MC=7)R96YTz
|
||
M+3YT='E=+G!G<G @/2!C=7)R96YT+3YP9W)P.PI8(" )"0E]"E@@( D)?2!Ey
|
||
M;'-E(&EF("A-04I/4BAI;F]D92T^:5]Z;VYE6S!=*3T]-2D*6" @"0D):68@x
|
||
M*&-U<G)E;G0M/G1T>3PP*2!["E@M+2T@,38T+#$W," M+2TM"E@@( D):68@w
|
||
M*$U!2D]2*&EN;V1E+3YI7WIO;F5;,%TI/3TT*23D]2*&EN;V1E+3YI7WIO;F5;,%TI.PI8(2 )"0D)5%19t
|
||
M7U1!0DQ%*&-U<G)E;G0M/G1T>2DM/G!G<G @/2!C=7)R96YT+3YP9W)P.PI8s
|
||
M(" )"0E]"E@@( D)?2!E;'-E(&EF("A-04I/4BAI;F]D92T^:5]Z;VYE6S!=r
|
||
M*3T]-2D*6" @"0D):68@*&-U<G)E;G0M/G1T>3PP*2!["E@J*BH@:V5R;F5Lq
|
||
M+V-H<E]D<G8O<V5R:6%L+F,N;W)I9PE-;VX@1&5C(#$V(#$S.C,P.C,T(#$Yp
|
||
M.3$*6"TM+2!K97)N96PO8VAR7V1R=B]S97)I86PN8PE-;VX@1&5C(#$V(#$So
|
||
M.C,T.C V(#$Y.3$*6"HJ*BHJ*BHJ*BHJ*BHJ*@I8*BHJ(#,X+#0U("HJ*BH*n
|
||
M6" @>PI8(" )<V5T7VEN=')?9V%T92@P>#(T+')S,5]I;G1E<G)U<'0I.PI8m
|
||
M(" )<V5T7VEN=')?9V%T92@P>#(S+')S,E]I;G1E<G)U<'0I.PI8(2 ):6YIl
|
||
M="AT='E?=&%B;&5;,5TN<F5A9%]Q+F1A=&$I.PI8(2 ):6YI="AT='E?=&%Bk
|
||
M;&5;,ETN<F5A9%]Q+F1A=&$I.PI8(" );W5T8BAI;F)?<"@P>#(Q*28P>$4Wj
|
||
M+#!X,C$I.PI8("!]"E@@( I8+2TM(#,X+#0U("TM+2T*6" @>PI8(" )<V5Ti
|
||
M7VEN=')?9V%T92@P>#(T+')S,5]I;G1E<G)U<'0I.PI8(" )<V5T7VEN=')?h
|
||
M9V%T92@P>#(S+')S,E]I;G1E<G)U<'0I.PI8(2 ):6YI="A45%E?5$%"3$4Hg
|
||
M1DE24U1?4T5224%,7T1%5BDM/G)E861?<2YD871A*3L*6"$@"6EN:70H5%19f
|
||
M7U1!0DQ%*$9)4E-47U-%4DE!3%]$158K,2DM/G)E861?<2YD871A*3L*6" @e
|
||
M"6]U=&(H:6YB7W H,'@R,2DF,'A%-RPP>#(Q*3L*6" @?0I8(" *6"HJ*B!Id
|
||
M;F-L=61E+VQI;G5X+W1T>2YH+F]R:6<)36]N($1E8R Q-B Q,SHT,#HR,R Qc
|
||
M.3DQ"E@M+2T@:6YC;'5D92]L:6YU>"]T='DN: E3=6X@1&5C(#(R(#$X.C,Pb
|
||
M.C,X(#$Y.3$*6"HJ*BHJ*BHJ*BHJ*BHJ*@I8*BHJ(#(Q+#(V("HJ*BH*6"TMa
|
||
M+2 R,2PS,R M+2TM"E@@( EC:&%R(&)U9EM45%E?0E5&7U-)6D5=.PI8("!]z
|
||
M.PI8(" *6"L@(V1E9FEN92!.4E]315))04P@,@I8*R C9&5F:6YE($Y27T-/y
|
||
M3E-/3$53(#0*6"L@(V1E9FEN92!.4E]45%E3("A.4E]315))04PK3E)?0T].x
|
||
M4T],15,K,2D*6"L@(V1E9FEN92!&25)35%]315))04Q?1$56(#8T"E@K("-Dw
|
||
M969I;F4@5%197U1!0DQ%*'1T>6YU;2D@*"@H='1Y;G5M*2 \($9)4E-47U-%v
|
||
M4DE!3%]$158I(#\@='1Y7W1A8FQE*RAT='EN=6TI(#I<"E@K('1T>5]T86)Lu
|
||
M92LH='1Y;G5M*2M.4E]#3TY33TQ%4RU&25)35%]315))04Q?1$56*S$I"E@Kt
|
||
M( I8(" C9&5F:6YE($E.0RAA*2 H*&$I(#T@*"AA*2LQ*2 F("A45%E?0E5&s
|
||
M7U-)6D4M,2DI"E@@("-D969I;F4@1$5#*&$I("@H82D@/2 H*&$I+3$I("8@r
|
||
M*%1465]"549?4TE:12TQ*2D*6" @(V1E9FEN92!%35!462AA*2 H*&$I+FAEq
|
||
M860@/3T@*&$I+G1A:6PI"E@J*BHJ*BHJ*BHJ*BHJ*BH*6"HJ*B U,RPU." Jp
|
||
M*BHJ"E@M+2T@-C L-C8@+2TM+0I8(" )?3L*6" @"E@@(&5X=&5R;B!S=')Uo
|
||
M8W0@='1Y7W-T<G5C="!T='E?=&%B;&5;73L*6"L@97AT97)N('-T<G5C="!Tn
|
||
M='E?<75E=64@*G1A8FQE7VQI<W1;73L*6" @"E@@("\J"6EN='(]7D,)"7%Um
|
||
M:70]7GP)"65R87-E/61E; EK:6QL/5Y5"E@@( EE;V8]7D0)"79T:6UE/5PPl
|
||
M"79M:6X]7#$)"7-X=&,]7# *6"HJ*B!K97)N96PO8VAR7V1R=B]T='E?:6\Nk
|
||
M8RYO<FEG"4UO;B!$96,@,38@,3(Z-3DZ,# @,3DY,0I8+2TM(&ME<FYE;"]Cj
|
||
M:')?9')V+W1T>5]I;RYC"4UO;B!$96,@,C,@,C,Z,#4Z-#0@,3DY,0I8*BHJi
|
||
M*BHJ*BHJ*BHJ*BHJ"E@J*BH@-#@L-30@*BHJ*@I8(" C9&5F:6YE($]?3DQ2h
|
||
M150H='1Y*0E?3U]&3$%'*"AT='DI+$].3%)%5"D*6" @(V1E9FEN92!/7TQ#g
|
||
M54,H='1Y*0E?3U]&3$%'*"AT='DI+$],0U5#*0I8(" *6"$@<W1R=6-T('1Tf
|
||
M>5]S=')U8W0@='1Y7W1A8FQE6UT@/2!["E@@( E["E@@( D)>TE#4DY,+ D)e
|
||
M+RH@8VAA;F=E(&EN8V]M:6YG($-2('1O($Y,("HO"E@@( D)3U!/4U1\3TY,d
|
||
M0U(L"2\J(&-H86YG92!O=71G;VEN9R!.3"!T;R!#4DY,("HO"E@M+2T@-#@Lc
|
||
M-30@+2TM+0I8(" C9&5F:6YE($]?3DQ2150H='1Y*0E?3U]&3$%'*"AT='DIb
|
||
M+$].3%)%5"D*6" @(V1E9FEN92!/7TQ#54,H='1Y*0E?3U]&3$%'*"AT='DIa
|
||
M+$],0U5#*0I8(" *6"$@<W1R=6-T('1T>5]S=')U8W0@='1Y7W1A8FQE6TY2z
|
||
M7U1465-=(#T@>PI8(" )>PI8(" )"7M)0U).3"P)"2\J(&-H86YG92!I;F-Oy
|
||
M;6EN9R!#4B!T;R!.3" J+PI8(" )"4]03U-4?$].3$-2+ DO*B!C:&%N9V4@x
|
||
M;W5T9V]I;F<@3DP@=&\@0U).3" J+PI8*BHJ*BHJ*BHJ*BHJ*BHJ"E@J*BH@w
|
||
M.3 L.38@*BHJ*@I8(" )"7LP+# L,"PP+"(B?0I8(" )?0I8("!].PI8+2 *v
|
||
M6" @+RH*6" @("H@=&AE<V4@87)E('1H92!T86)L97,@=7-E9"!B>2!T:&4@u
|
||
M;6%C:&EN92!C;V1E(&AA;F1L97)S+@I8(" @*B!Y;W4@8V%N(&EM<&QE;65Nt
|
||
M="!P<V5U9&\M='1Y)W,@;W(@<V]M971H:6YG(&)Y(&-H86YG:6YG"E@M+2T@s
|
||
M.3 L.34@+2TM+0I8*BHJ*BHJ*BHJ*BHJ*BHJ"E@J*BH@,3,W+#$T-2 J*BHJr
|
||
M"E@@( ES=&DH*3L*6" @?0I8(" *6" @=F]I9"!W86ET7V9O<E]K97EP<F5Sq
|
||
M<RAV;VED*0I8("!["E@A( ES;&5E<%]I9E]E;7!T>2@F='1Y7W1A8FQE6S!=p
|
||
M+G-E8V]N9&%R>2D["E@@('T*6" @"E@@('9O:60@8V]P>5]T;U]C;V]K960Ho
|
||
M<W1R=6-T('1T>5]S=')U8W0@*B!T='DI"E@M+2T@,3,V+#$T-2 M+2TM"E@@n
|
||
M( ES=&DH*3L*6" @?0I8(" *6"L@97AT97)N(&EN="!F9U]C;VYS;VQE.PI8m
|
||
M("!V;VED('=A:71?9F]R7VME>7!R97-S*'9O:60I"E@@('L*6"$@"7-L965Pl
|
||
M7VEF7V5M<'1Y*"9T='E?=&%B;&5;9F=?8V]N<V]L92LQ72YS96-O;F1A<GDIk
|
||
M.PI8("!]"E@@( I8("!V;VED(&-O<'E?=&]?8V]O:V5D*'-T<G5C="!T='E?j
|
||
M<W1R=6-T("H@='1Y*0I8*BHJ*BHJ*BHJ*BHJ*BHJ"E@J*BH@,C(W+#(S,B Ji
|
||
M*BHJ"E@M+2T@,C(W+#(S-B M+2TM"E@@( EW86ME7W5P*"9T='DM/G-E8V]Nh
|
||
M9&%R>2YP<F]C7VQI<W0I.PI8("!]"E@@( I8*R C9&5F:6YE($E37T%?4T52g
|
||
M24%,*&-H86XI("@H*&-H86XI/CU&25)35%]315))04Q?1$56*2 F)B H*&-Hf
|
||
M86XI/#TH1DE24U1?4T5224%,7T1%5BLQ*2DI"E@K("-D969I;F4@25-?05]#e
|
||
M3TY33TQ%*&-H86XI("@H8VAA;BD\/4Y27T-/3E-/3$53*0I8*R C9&5F:6YEd
|
||
M($E37T%?5%19*&-H86XI("A)4U]!7U-%4DE!3"AC:&%N*2!\?"!)4U]!7T-/c
|
||
M3E-/3$4H8VAA;BDI"E@K( I8("!I;G0@='1Y7W)E860H=6YS:6=N960@8VAAb
|
||
M;FYE;"P@8VAA<B J(&)U9BP@:6YT(&YR*0I8("!["E@@( ES=')U8W0@='1Ya
|
||
M7W-T<G5C=" J('1T>3L*6"HJ*BHJ*BHJ*BHJ*BHJ*@I8*BHJ(#(S-"PR-#$@z
|
||
M*BHJ*@I8(" ):6YT(&UI;FEM=6TL=&EM92QF;&%G/3 ["E@@( EL;VYG(&]Ly
|
||
M9&%L87)M.PI8(" *6"$@"6EF("AC:&%N;F5L/C(@?'P@;G(\,"D@<F5T=7)Nx
|
||
M("TQ.PI8(2 )='1Y(#T@)G1T>5]T86)L95MC:&%N;F5L73L*6" @"6]L9&%Lw
|
||
M87)M(#T@8W5R<F5N="T^86QA<FT["E@@( ET:6UE(#T@,3!,*G1T>2T^=&5Rv
|
||
M;6EO<RYC7V-C6U9424U%73L*6" @"6UI;FEM=6T@/2!T='DM/G1E<FUI;W,Nu
|
||
M8U]C8UM634E.73L*6"TM+2 R,S@L,C0U("TM+2T*6" @"6EN="!M:6YI;75Mt
|
||
M+'1I;64L9FQA9STP.PI8(" );&]N9R!O;&1A;&%R;3L*6" @"E@A( EI9B Hs
|
||
M*"%)4U]!7U1462AC:&%N;F5L*2D@?'P@;G(\,"D@<F5T=7)N("TQ.PI8(2 )r
|
||
M='1Y(#T@5%197U1!0DQ%*&-H86YN96PI.PI8(" );VQD86QA<FT@/2!C=7)Rq
|
||
M96YT+3YA;&%R;3L*6" @"71I;64@/2 Q,$PJ='1Y+3YT97)M:6]S+F-?8V-;p
|
||
M5E1)345=.PI8(" );6EN:6UU;2 ]('1T>2T^=&5R;6EO<RYC7V-C6U9-24Y=o
|
||
M.PI8*BHJ*BHJ*BHJ*BHJ*BHJ"E@J*BH@,CDS+#,P," J*BHJ"E@@( ES=')Un
|
||
M8W0@='1Y7W-T<G5C=" J('1T>3L*6" @"6-H87(@8RP@*F(]8G5F.PI8(" *m
|
||
M6"$@"6EF("AC:&%N;F5L/C(@?'P@;G(\,"D@<F5T=7)N("TQ.PI8(2 )='1Yl
|
||
M(#T@8VAA;FYE;" K('1T>5]T86)L93L*6" @"7=H:6QE("AN<CXP*2!["E@@k
|
||
M( D)<VQE97!?:69?9G5L;"@F='1Y+3YW<FET95]Q*3L*6" @"0EI9B H8W5Rj
|
||
M<F5N="T^<VEG;F%L*0I8+2TM(#(Y-RPS,#0@+2TM+0I8(" )<W1R=6-T('1Ti
|
||
M>5]S=')U8W0@*B!T='D["E@@( EC:&%R(&,L("IB/6)U9CL*6" @"E@A( EIh
|
||
M9B H*"%)4U]!7U1462AC:&%N;F5L*2D@?'P@;G(\,"D@<F5T=7)N("TQ.PI8g
|
||
M(2 )='1Y(#T@5%197U1!0DQ%*&-H86YN96PI.PI8(" )=VAI;&4@*&YR/C If
|
||
M('L*6" @"0ES;&5E<%]I9E]F=6QL*"9T='DM/G=R:71E7W$I.PI8(" )"6EFe
|
||
M("AC=7)R96YT+3YS:6=N86PI"E@J*BHJ*BHJ*BHJ*BHJ*BH*6"HJ*B S-# Ld
|
||
M,S0Y("HJ*BH*6" @("H@=&]T86QL>2!I;FYO8V5N="X*6" @("HO"E@@('9Oc
|
||
M:60@9&]?='1Y7VEN=&5R<G5P="AI;G0@='1Y*0I8(2!["E@A( EC;W!Y7W1Ob
|
||
M7V-O;VME9"AT='E?=&%B;&4K='1Y*3L*6" @?0I8(" *6" @=F]I9"!C:')?a
|
||
M9&5V7VEN:70H=F]I9"D*6" @>PI8("!]"E@M+2T@,S0T+#,V." M+2TM"E@@z
|
||
M(" J('1O=&%L;'D@:6YN;V-E;G0N"E@@(" J+PI8("!V;VED(&1O7W1T>5]Iy
|
||
M;G1E<G)U<'0H:6YT('1T>2D*6"$@>R!I9B H='1Y(#T](# I"E@A(" @("!Tx
|
||
M='D@/2!F9U]C;VYS;VQE*S$["E@A(" @96QS90I8(2 @(" @:68@*"AT='D^w
|
||
M/3$I("8F("AT='D\/3(I*0I8(2 @(" @("!T='D@/2!T='D@*R!.4E]#3TY3v
|
||
M3TQ%4SL*6"$@("!C;W!Y7W1O7V-O;VME9"A45%E?5$%"3$4H='1Y*2D["E@@u
|
||
M('T*6" @"E@@('9O:60@8VAR7V1E=E]I;FET*'9O:60I"E@@('L*6"L@("!It
|
||
M;G0@:3L*6"L@("!F;W(@*&D]3E)?4T5224%,.R!I/C [(&DM+2D@("\J($UOs
|
||
M=F4@<V5R:6%L('!O<G1S('5P+B J+PI8*R @(" @='1Y7W1A8FQE6TY27T-/r
|
||
M3E-/3$53*VE=(#T@='1Y7W1A8FQE6VE=.PI8*R @(&9O<B H:3TQ.R!I/#U.q
|
||
M4E]#3TY33TQ%4SL@:2LK*0I8*R @(" @='1Y7W1A8FQE6VE=(#T@='1Y7W1Ap
|
||
M8FQE6S!=.PI8*R @('1A8FQE7VQI<W1;,%T@/2 F*%1465]404),12@Q*2T^o
|
||
M<F5A9%]Q*3L@"E@K(" @=&%B;&5?;&ES=%LQ72 ]("8H5%197U1!0DQ%*#$In
|
||
M+3YW<FET95]Q*3L@"E@K(" @=&%B;&5?;&ES=%LR72 ]("8H5%197U1!0DQ%m
|
||
M*$9)4E-47U-%4DE!3%]$158I+3YR96%D7W$I.R *6"L@("!T86)L95]L:7-Tl
|
||
M6S-=(#T@)BA45%E?5$%"3$4H1DE24U1?4T5224%,7T1%5BDM/G=R:71E7W$Ik
|
||
M.R *6"L@("!T86)L95]L:7-T6S1=(#T@)BA45%E?5$%"3$4H1DE24U1?4T52j
|
||
M24%,7T1%5BLQ*2T^<F5A9%]Q*3L@"E@K(" @=&%B;&5?;&ES=%LU72 ]("8Hi
|
||
M5%197U1!0DQ%*$9)4E-47U-%4DE!3%]$158K,2DM/G=R:71E7W$I.R *6" @h
|
||
$?0HO"E1!g
|
||
f
|
||
end
|
||
--[0230]--
|
||
|
||
[0231] daemon@ATHENA.MIT.EDU (Peter MacDonald) Linux_Activists 12/24/91 04:00 (716 lines)
|
||
Subject: virtual consoles
|
||
Date: Tue, 24 Dec 91 00:49:18 PST
|
||
From: pmacdona@sol.UVic.CA (Peter MacDonald)
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
Here is PART 1 of the patchs to allow Virtual consoles under linux.
|
||
I am posting these patches because xmas is here, and I will not
|
||
be..., so use at your own risk.
|
||
|
||
They are mailed in two parts, because who knows what vicious
|
||
mailers await out there.
|
||
|
||
Concatenate the two file, uudecode them, then unshare them.
|
||
|
||
The readme file will guide you from there.
|
||
|
||
----SNIP HERE-------------------------------
|
||
table
|
||
!"#$%&'()*+,-./0123456789:;<=>?
|
||
@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_
|
||
begin 644 vc.shar
|
||
M96-H;R!X("T@4D5!1$U%"G-E9" G+UY8+W,O+R\G(#X@4D5!1$U%(#P\("<Oz
|
||
M)PI81F]L;&]W:6YG(&%R92!P871C:&5S('1O(&%L;&]W($QI;G5X('1O(&AAy
|
||
M=F4@5FER='5A;"!#;VYS;VQE<RX*6 I81F]R('1H;W-E(&YO="!I;B!T:&4@x
|
||
M:VYO=RP@5D-S(&%L;&]W('-W87!P:6YG('-C<F5E;B!I;6%G97,*6'=I=&@@w
|
||
M:G5S="!T:&4@=&]U8V@@;V8@82!F=6YC=&EO;B!K97DL(&)E='=E96X@=FERv
|
||
M='5A;"!S97-S:6]N<RX*6 I80F5F;W)E('EO=2!G;R!A;GD@9G5R=&AE<BP@u
|
||
M=&AI<R!H87,@8F5E;B!T97-T960@;VX@;VYL>2!M>0I8;6%C:&EN92$@(%1Ht
|
||
M<F]U9V@@=&AI<R!D;V]R+"!Y;W4@96YT97(@=&AE('=O<FQD(&]F($)%5$$@s
|
||
M;&%N9"X*6 I8+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TMr
|
||
M+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2T*6 I85D,@8V]M97,@8V]Nq
|
||
M9FEG=7)E('1O('5S92 U,"!L:6YE(&UO9&4@;V8@82!61T$@=VAI8V@@<F5Qp
|
||
M=6ER97,@"EAT:&4@=7-E(&]F('1H92!S:&]E;&%C92!P871C:&5S('1H870@o
|
||
M22!P;W-T960@<V]M92!T:6UE(&%G;RX*6%EO=2!C86X@<')O8F%B;'D@9FENn
|
||
M9"!T:&5M(&]N(&YI8RYF=6YE="YF:2!O<B!T<W@M,3$N"EA)(&]N;'D@979Em
|
||
M<B!C;VUP:6QE9"!T:&5M('5N9&5R(&UI;FEX+"!S;R!)(&1O;B=T(&MN;W<Nl
|
||
M"E@*6$EF('EO=2!D;VXG="!H879E(&$@5D=!+"!O<B!S:&]E;&%C92!O<B!Yk
|
||
M;W4@:G5S="!D;VXG="!W86YT(#4P(&QI;F4*6&UO9&4L('1H96X@8VAA;F=Ej
|
||
M(&EN(&ME<FYE;"]C:')?9&5V+V-O;G-O;&4N8R!T:&4@8V]N<W1A;G0Z"EA/i
|
||
M4DE'7U9)1$5/7TQ)3D53(&9R;VT@-3 @8F%C:R!T;R R-2X@(%EO=2!C86X@h
|
||
M86QS;R!S879E('-O;64@"EAK97)N96P@<W!A8V4@8GD@8VAA;F=E($U!6%]3g
|
||
M0U)?4D]74R!B86-K('1O(#(U(&9R;VT@-3 N"EA-92P@22!L:6ME(#4P(&QIf
|
||
M;F5S+"!E=F5N('=I=&@@=FER='5A;"!C;VYS;VQE("AC;&%U<W1A<&AO8FEAe
|
||
M*2X*6 I806YY=V%Y<R!T:&4@<W1E<',@87)E.@I8"E@@(# @+2!"86-K=7 @d
|
||
M>6]U<B!S>7-T96TN"E@*6" @,2 M($%P<&QY('!A=&-H97,Z("!M;W9E('9Cc
|
||
M+F-D:68@=&\@>6]U<B!S;W5R8V4@9&ER96-T;W)Y("]U<W(O<W)C"E@);W(@b
|
||
M=VAA=&5V97(N("!K97)N96PL(&9S+"!I;FET+"!A;F0@:6YC;'5D92!M=7-Ta
|
||
M(&)E(')I9VAT"E@)8F5L;W<@=&AI<RX@($YO=SH*6 D)"E@)"7!A=&-H("UPz
|
||
M," \('9C+F-D:68*6 I8(" R("T@268@>6]U(&%R92!N;W0@=7-I;F<@-3 @y
|
||
M;&EN97,@*&%S(&%B;W9E*2P@961I="!C;VYS;VQE+F,@;F]W+@I8"4EF('EOx
|
||
M=2!A<F4@=7-I;F<@-3 @;&EN97,L(&UA:V4@<W5R92!T97)M8V%P(&5N=')Yw
|
||
M(&ES(&EN("]E=&,N"E@)06QS;RP@22!C:&%N9V4@5$5233UC;VYS;VQE-3 @v
|
||
M:6X@;7D@+G!R;V9I;&4N"E@*6" @,R M(%)E8V]M<&EL90I8"E@@(#0@+2!#u
|
||
M;VUP:6QE('-E='1E<FTN8R!A;F0@86YD(&1O<VAE;&PN8R!A;F0@<'5T(&5Xt
|
||
M96-U=&%B;&5S(&EN"E@)+W5S<B]L;V-A;"]B:6X*6 I8(" U("T@07-S=6UIs
|
||
M;F<@=&AA="!Y;W4@86QR96%D>2!H879E('1T>3$@86YD('1T>3(@9&]N92P@r
|
||
M=&AE(&9O;&QO=VEN9PI8"71T>7,@;75S="!B92!C<F5A=&5D(&%S(&9O;&QOq
|
||
M=W,Z"E@*6 D);6MN;V0@+V1E=B]T='DS(&,@-" S"E@)"6UK;F]D("]D978Op
|
||
M='1Y-"!C(#0@- I8"0EM:VYO9" O9&5V+W1T>38T(&,@-" V- I8"0EM:VYOo
|
||
M9" O9&5V+W1T>38U(&,@-" V-0I8"E@@(#8@+2!296)O;W0@=VET:"!T:&4@n
|
||
M;F5W($EM86=E+@I8"E@@(#<@+2!C:&UO9"!U*W@@<W1A<G1C;VYS"E@*6" @m
|
||
M." M($5X96-U=&4@<W1A<G1C;VYS"E@*6" @.2 M($EF('EO=2!W97)E('5Sl
|
||
M:6YG('-E<FEA;"!P;W)T<R!B969O<F4@*'1T>3$O='1Y,BD@=&AE>0I8"6%Rk
|
||
M92!N;W<@<F5N86UE9"!T;R!T='DV-"]T='DV-2X@"E@*6%EO=2!S:&]U;&0@j
|
||
M;F]W(&AA=F4@9F]U<B!V:7)T=6%L(&-O;G-O;&5S+"!S96QE8W1A8FQE('=Ii
|
||
M=&@@1C$M1C0N"EA)9B!Y;W4@=V%N="P@>6]U(&-A;B!M;V1I9GD@3E)?0T].h
|
||
M4T],15,@:6X@:6YC;'5D92]L:6YU>"]T='DN: I8=&\@86X@87!P<F]P<FEAg
|
||
M=&4@=F%L=64@86YD(')E8V]M<&EL92X@(%=I=&@@=&AI<R!I;7!L96UE;G1Af
|
||
M=&EO;BP*6#$R(&ES('1H92!L:6UI="!S:6YC92!T:&5R92!I<R!N;W0@=&]Ge
|
||
M9VQE(&ME>2X@($)U="!M;W)E('1H86X@,3$*6&UE86YS(&YO(&1U;7!I;F<@d
|
||
M<')O8V5S<V5S+B @"E@*6 I85&5C:&YI8V%L(&YO=&5S+@I8"E@@(%1H92!Tc
|
||
M='ES(&%R92!C:&%N9V5D.B!T='DP(&ES(&%L=V%Y<R!T:&4@8W5R<F5N="!Wb
|
||
M:6YD;W<L('=H:6QE"E@@('1T>6X@:7,@=FER='5A;"!T97)M:6YA;"!N('-Ea
|
||
M;&5C=&5D('=I=&@@9G5N8W1I;VX@:V5Y($9N+@I8("!T='DV-"]T='DV-2!Az
|
||
M<F4@;F]W('1H92!S97)I86P@<&]R=',N"E@@(%-T87)T8V]N<R!C86X@8F4@y
|
||
M<W1A<G1E9"!F<F]M("]E=&,O<F,L(&)U="!415)-/61U;6(N"E@*6%!R;V)Lx
|
||
M96US.@I8"E@@(%-T86YD;W5T('-E96US(&YO="!T;R!W;W)K('=I=&@@;&5Sw
|
||
M<RP@=FDL(&5M("QE=&,[(&5V96X@=&AO=6=H"E@@(" @<V5T=&5R;2!S:&]Wv
|
||
M<R!I="!T;R!B92!W;W)K:6YG(&9I;F4N"E@*6" @1G5N8W1I;VX@:V5Y<R!Eu
|
||
M<V-A<&4@<V5Q=65N8V5S('=E<F4@;F]T(&)E:6YG(&-A=6=H="!B>2!C;VYSt
|
||
M;VQE"E@@(" @*&5V96X@8F5F;W)E(&UY('!A=&-H97,I+"!A;F0@<F5S=6QTs
|
||
M960@:6X@8VAA<F%C=&5R<R!A;F0@8F5E<&EN9RX*6" @("!4:&5R969O<F4Lr
|
||
M($D@:&%V92!D:7-A8FQE9"!T:&5I<B!I;G1E<G!R971A=&EO;B!I;B!K97EBq
|
||
M;V%R9"Y3+@I8(" @($%S<V5M8FQE<B!I<R!N;W0@;7D@8F%G+"!A;F0@22!Dp
|
||
M;VXG="!K;F]W('=H>2!K97ES=')O:V5S+"!W:&EC: I8(" @(&%R92!I;F9Ro
|
||
M97%U96YT(&5V96YT<RP@;F5E9"!T;R!B92!H86YD;&5D(&EN(&%S<V5M8FQEn
|
||
M<BX*6 I8("!,961S(&%N9"!C87!S+VYU;2!L;V-K<R!A<F4@;F]T('-A=F5Dm
|
||
M+W)E<W1O<F5D(&-U<G)E;G1L>2X*6 I81V]A;#H*6 I8("!1=6%N=&ET>2!Nl
|
||
M;W0@<75A;&ET>2X*6 I806-K;F]W;&5D9V5M96YT.@I8( I8("!';W)D;VX@k
|
||
M27)L86T@;V8@8V]U<G-E+"!F;W(@=&AE(&]R:6=I;F%L+@I8"E@*6 I8"E@Jj
|
||
M*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJi
|
||
M*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*@I8"EAP;6%C9&]N84!S;VPN=79I8RYCh
|
||
M80I84&5T97(N36%C1&]N86QD0&)C<WES=&5M<RYG;W8N8F,N8V$*6 HO"F5Cg
|
||
M:&\@>" M(&1O<VAE;&PN8PIS960@)R]>6"]S+R\O)R ^(&1O<VAE;&PN8R \f
|
||
M/" G+R<*6"-I;F-L=61E(#QS=&1I;RYH/@I8(VEN8VQU9&4@/'-Y<R]F:6QEe
|
||
M+F@^"E@C:6YC;'5D92 \97)R;F\N:#X*6 I897AT97)N(&-H87(@*G-Y<U]Ed
|
||
M<G)L:7-T6UT["E@*6&UA:6XH:6YT(&%R9V,L(&-H87(@*F%R9W9;72D*6'L*c
|
||
M6 I8(" @(&EF("AA<F=C("$](#,I('L*6 EF<')I;G1F*'-T9&5R<BP@(G5Sb
|
||
M86=E.B!D;W-H96QL(#QT='EN86UE/B \<VAE;&QN86UE/B F7&XB*3L*6 EEa
|
||
M>&ET*#$I.PI8(" @('T*6 I8(" @("\J(&-L;W-E(&1O=VX@9F0G<R J+PI8z
|
||
M(" @(&-L;W-E*# I.PI8(" @(&-L;W-E*#$I.PI8(" @(&-L;W-E*#(I.PI8y
|
||
M"E@@(" @+RH@9&5T86-H(&9R;VT@<&%R96YT('!R;V-E<W,G<R!G<F]U<" Jx
|
||
M+PI8(" @('-E='-I9"@I.PI8"E@@(" @+RH@;W!E;B!N97<@='1Y("HO"E@@w
|
||
M(" @:68@*&]P96XH87)G=ELQ72P@3U]21%=2+" P*2 ]/2 M,2D*6 EE>&ETv
|
||
M*#(I.PI8(" @(&1U<"@P*3L*6" @("!D=7 H,"D["E@@(" @97AE8VQP*&%Ru
|
||
M9W9;,ETL("(M(BP@,"D["E@@(" @+RH@<VAO=6QD(&%P<&5A<B!O;B!N97<@t
|
||
M='1Y+BXN.B J+PI8(" @(&9P<FEN=&8H<W1D97)R+" B8V%N)W0@97AE8R!Ss
|
||
M:&5L;#H@)7-<;B(L('-Y<U]E<G)L:7-T6V5R<FYO72D["E@@(" @97AI="@Sr
|
||
M*3L*6'T*6 HO"F5C:&\@>" M('-E='1E<FTN8PIS960@)R]>6"]S+R\O)R ^q
|
||
M('-E='1E<FTN8R \/" G+R<*6"\J('-E='1E<FTN8RP@<V5T('1E<FUI;F%Lp
|
||
M(&%T=')I8G5T97,N"E@@*@I8("H@0V]P>7)I9VAT("A#*2 Q.3DP($=O<F1Oo
|
||
M;B!)<FQA;2 H9V]R9&]N:4!C<RYU82YO>BYA=2DN("!#;VYD:71I;VYS(&]Fn
|
||
M('5S92P*6" J(&UO9&EF:6-A=&EO;BP@86YD(')E9&ES=')I8G5T:6]N(&%Rm
|
||
M92!C;VYT86EN960@:6X@=&AE(&9I;&4@0T]065))1TA4('1H870*6" J(&9Ol
|
||
M<FUS('!A<G0@;V8@=&AI<R!D:7-T<FEB=71I;VXN"E@@*@I8("H*6" J(%-Yk
|
||
M;G1A>#H*6" J"E@@*B!S971T97)M"E@@*B @(%L@+71E<FT@=&5R;6EN86Q?j
|
||
M;F%M92!="E@@*B @(%L@+7)E<V5T(%T*6" J(" @6R M:6YI=&EA;&EZ92!=i
|
||
M"E@@*B @(%L@+6-U<G-O<B!;;VY\;V9F72!="E@@*B @(%L@+6ME>6)O87)Dh
|
||
M('!C?&]L:79E='1I?&1U=&-H?&5X=&5N9&5D(%T*6" J(" @6R M;&EN97=Rg
|
||
M87 @6V]N?&]F9ET@70I8("H@("!;("US;F]W(%MO;GQO9F9=(%T*6" J(" @f
|
||
M6R M<V]F='-C<F]L;"!;;VY\;V9F72!="E@@*B @(%L@+61E9F%U;'0@70I8e
|
||
M("H@("!;("UF;W)E9W)O=6YD(&)L86-K?')E9'QG<F5E;GQY96QL;W=\8FQUd
|
||
M97QM86=E;G1A?&-Y86Y\=VAI=&5\9&5F875L="!="E@@*B @(%L@+6)A8VMGc
|
||
M<F]U;F0@8FQA8VM\<F5D?&=R965N?'EE;&QO=WQB;'5E?&UA9V5N=&%\8WEAb
|
||
M;GQW:&ET97QD969A=6QT(%T*6" J(" @6R M8F]L9"!;;VY\;V9F72!="E@@a
|
||
M*B @(%L@+6)L:6YK(%MO;GQO9F9=(%T*6" J(" @6R M<F5V97)S92!;;VY\z
|
||
M;V9F72!="E@@*B @(%L@+75N9&5R;&EN92!;;VY\;V9F72!="E@@*B @(%L@y
|
||
M+7-T;W)E(%T*6" J(" @6R M8VQE87(@6V%L;'QR97-T72!="E@@*@I8("H*x
|
||
M6" J(%-E;6%N=&EC<SH*6" J"E@@*B!3971T97)M('=R:71E<R!T;R!S=&%Nw
|
||
M9&%R9"!O=71P=70@82!C:&%R86-T97(@<W1R:6YG('1H870@=VEL;"!I;G9Ov
|
||
M:V4@=&AE"E@@*B!S<&5C:69I960@=&5R;6EN86P@8V%P86)I;&ET:65S+B @u
|
||
M5VAE<F4@<&]S<VEB:6QE('1E<FUC87 @:7,@8V]N<W5L=&5D('1O"E@@*B!Ft
|
||
M:6YD('1H92!S=')I;F<@=&\@=7-E+B @4V]M92!O<'1I;VYS(&AO=V5V97(@s
|
||
M9&\@;F]T(&-O<G)E<W!O;F1I;F<@=&\@80I8("H@=&5R;6-A<"!C87!A8FELr
|
||
M:71Y+B @26X@=&AI<R!C87-E(&EF('1H92!T97)M:6YA;"!T>7!E(&ES(")Mq
|
||
M:6YI>"UV8R(L(&]R"E@@*B B;6EN:7@M=F-A;2(@=&AE('-T<FEN9R!T:&%Tp
|
||
M(&EN=F]K97,@=&AE('-P96-I9FEE9"!C87!A8FEL:71I97,@;VX@=&AE(%!#o
|
||
M"E@@*B!-:6YI>"!V:7)T=6%L(&-O;G-O;&4@9')I=F5R(&ES(&]U='!U="X@n
|
||
M($]P=&EO;G,@=&AA="!A<F4@;F]T(&EM<&QE;65N=&5D"E@@*B!B>2!T:&4@m
|
||
M=&5R;6EN86P@87)E(&EG;F]R960N"E@@*@I8("H@5&AE(&9O;&QO=VEN9R!Ol
|
||
M<'1I;VYS(&%R92!N;VXM;V)V:6]U<RX*6" J"E@@*B @("UT97)M(&-A;B!Bk
|
||
M92!U<V5D('1O(&]V97)R:61E('1H92!415)-(&5N=FER;VYM96YT('9A<FEAj
|
||
M8FQE+@I8("H*6" J(" @+7)E<V5T(&1I<W!L87ES('1H92!T97)M:6YA;"!Ri
|
||
M97-E="!S=')I;F<L('=H:6-H('1Y<&EC86QL>2!R97-E=',@=&AE"E@@*B @h
|
||
M(" @('1E<FUI;F%L('1O(&ET<R!P;W=E<B!O;B!S=&%T92X*6" J"E@@*B @g
|
||
M("UI;FET:6%L:7IE(&1I<W!L87ES('1H92!T97)M:6YA;"!I;FET:6%L:7IAf
|
||
M=&EO;B!S=')I;F<L('=H:6-H('1Y<&EC86QL>0I8("H@(" @("!S971S('1He
|
||
M92!T97)M:6YA;"=S(')E;F1E<FEN9R!O<'1I;VYS+"!A;F0@;W1H97(@871Td
|
||
M<FEB=71E<R!T;R!T:&4*6" J(" @(" @9&5F875L="!V86QU97,N"E@@*@I8c
|
||
M("H@(" M9&5F875L="!S971S('1H92!T97)M:6YA;"=S(')E;F1E<FEN9R!Ob
|
||
M<'1I;VYS('1O('1H92!D969A=6QT('9A;'5E<RX*6" J"E@@*B @("US=&]Ra
|
||
M92!S=&]R97,@=&AE('1E<FUI;F%L)W,@8W5R<F5N="!R96YD97)I;F<@;W!Tz
|
||
M:6]N<R!A<R!T:&4@9&5F875L= I8("H@(" @("!V86QU97,N"E@@*B\*6 I8y
|
||
M(VEN8VQU9&4\<W1D;&EB+F@^"E@C:6YC;'5D93QS=&1I;RYH/@I8(VEN8VQUx
|
||
M9&4\=&5R;6-A<"YH/@I8"E@O*B!#;VYS=&%N=',N("HO"E@*6"\J($MN;W=Nw
|
||
M('-P96-I86P@=&5R;6EN86P@='EP97,N("HO"E@C9&5F:6YE(%9#5$5232 @v
|
||
M(" B8V]N<V]L92(*6"-D969I;F4@5D-415)-7T%-(")M:6YI>"UV8V%M(@I8u
|
||
M"E@O*B!497)M8V%P(&-O;G-T86YT<RX@*B\*6"-D969I;F4@5$-?0E5&7U-)t
|
||
M6D4@,3 R- DO*B!3:7IE(&]F('1E<FUC87 H,RD@8G5F9F5R+B J+PI8(V1Es
|
||
M9FEN92!40U]%3E1?4TE:12 U, D)+RH@4VEZ92!O9B!T97)M8V%P*#,I(&5Nr
|
||
M=')Y(&)U9F9E<BX@*B\*6 I8+RH@1V5N97)A;"!C;VYS=&%N=',N("HO"E@Cq
|
||
M9&5F:6YE(%12544@(#$*6"-D969I;F4@1D%,4T4@, I8"E@O*B!+97EB;V%Rp
|
||
M9"!T>7!E<RX@*B\*6"-D969I;F4@4$,)(# *6"-D969I;F4@3TQ)5D545$D@o
|
||
M,0I8(V1E9FEN92!$551#2" @(" R"E@C9&5F:6YE($585$5.1$5$(#,*6 I8n
|
||
M+RH@0V]L;W)S+B J+PI8+RH*6"-D969I;F4@0DQ!0TL@(" P"E@C9&5F:6YEm
|
||
M(%)%1" @(" @,0I8(V1E9FEN92!'4D5%3B @(#(*6"-D969I;F4@645,3$]7l
|
||
M(" S"E@C9&5F:6YE($),544@(" @- I8(V1E9FEN92!-04=%3E1!(#4*6"-Dk
|
||
M969I;F4@0UE!3B @(" V"E@C9&5F:6YE(%=(251%(" @-PI8(V1E9FEN92!$j
|
||
M149!54Q4(#D@*B\*6"\J($-O;&]R<RX@*B\*6"-D969I;F4@0DQ!0TL@(" Pi
|
||
M"E@C9&5F:6YE($),544@(" @,0I8(V1E9FEN92!'4D5%3B @(#(*6"-D969Ih
|
||
M;F4@0UE!3B ),PI8(V1E9FEN92!2140@(" @(#0*6"-D969I;F4@34%'14Y4g
|
||
M02 U"E@C9&5F:6YE(%E%3$Q/5R @-@I8(V1E9FEN92!72$E412 @(#<*6"-Df
|
||
M969I;F4@1$5&055,5" Y"E@*6"\J($-O;G1R;VP@<V5Q=65N8V5S+B J+PI8e
|
||
M(V1E9FEN92!%4T,@(EPP,S,B"E@C9&5F:6YE($1#4R B7# S,U B"E@C9&5Fd
|
||
M:6YE(%-4(" B7# S,UQ<(@I8"E@O*B!3=&%T:6,@=F%R:6%B;&5S+B J+PI8c
|
||
M"EAC:&%R('1C7V)U9EM40U]"549?4TE:15T["2\J(%1E<FUC87 @8G5F9F5Rb
|
||
M+B J+PI8"E@O*B!/<'1I;VX@9FQA9W,N("!3970@:68@=&AE(&]P=&EO;B!Ia
|
||
M<R!T;R!B92!I;G9O:V5D+B J+PI8:6YT(&]P=%]T97)M+"!O<'1?<F5S970Lz
|
||
M(&]P=%]I;FET:6%L:7IE+"!O<'1?8W5R<V]R+"!O<'1?:V5Y8F]A<F0["EAIy
|
||
M;G0@;W!T7VQI;F5W<F%P+"!O<'1?<VYO=RP@;W!T7W-O9G1S8W)O;&PL(&]Px
|
||
M=%]D969A=6QT+"!O<'1?9F]R96=R;W5N9#L*6&EN="!O<'1?8F%C:V=R;W5Nw
|
||
M9"P@;W!T7V)O;&0L(&]P=%]B;&EN:RP@;W!T7W)E=F5R<V4L(&]P=%]U;F1Ev
|
||
M<FQI;F4["EAI;G0@;W!T7W-T;W)E+"!O<'1?8VQE87(["E@*6"\J($]P=&EOu
|
||
M;B!C;VYT<F]L<RX@(%1H92!V87)I86)L92!N86UE<R!H879E(&)E96X@8V]Nt
|
||
M=')A8W1E9"!T;R!E;G-U<F4*6" J('5N:7%U96YE<W,N"E@@*B\*6&-H87(@s
|
||
M*F]P=%]T95]T97)M:6YA;%]N86UE.PDO*B!497)M:6YA;"!N86UE+B J+PI8r
|
||
M:6YT(&]P=%]C=5]O;BP@;W!T7VQI7V]N+"!O<'1?<VY?;VXL(&]P=%]S;U]Oq
|
||
M;BP@;W!T7V)O7V]N+"!O<'1?8FQ?;VX["EAI;G0@;W!T7W)E7V]N+"!O<'1?p
|
||
M=6Y?;VX["2\J($)O;VQE86X@<W=I=&-H97,N("HO"EAI;G0@;W!T7VME7W1Yo
|
||
M<&4["0DO*B!+97EB;V%R9"!T>7!E+B J+PI8:6YT(&]P=%]F;U]C;VQO<BP@n
|
||
M;W!T7V)A7V-O;&]R.PDO*B!#;VQO<G,N("HO"EAI;G0@;W!T7V-L7V%L;#L)m
|
||
M"0DO*B!#;&5A<B!A;&P@;W(@<F5S="X@*B\*6 I8+RH@0V]M;6%N9"!L:6YEl
|
||
M('!A<G-I;F<@<F]U=&EN97,N"E@@*@I8("H@3F]T92!T:&%T(&ET(&ES(&%Nk
|
||
M(&5R<F]R(&9O<B!A(&=I=F5N(&]P=&EO;B!T;R!B92!I;G9O:V5D(&UO<F4@j
|
||
M=&AA;B!O;F-E+@I8("HO"E@*6'9O:60@<&%R<V5?=&5R;2AA<F=C+"!A<F=Vi
|
||
M+"!O<'1I;VXL(&]P=%]T97)M+"!B861?87)G*0I8:6YT(&%R9V,["0D)+RH@h
|
||
M3G5M8F5R(&]F(&%R9W5M96YT<R!F;W(@=&AI<R!O<'1I;VXN("HO"EAC:&%Rg
|
||
M("IA<F=V6UT["0D)+RH@07)G=6UE;G1S(&9O<B!T:&ES(&]P=&EO;BX@*B\*f
|
||
M6&EN=" J;W!T:6]N.PD)"2\J(%1E<FT@9FQA9R!T;R!S970N("HO"EAC:&%Re
|
||
M("HJ;W!T7W1E<FT["0DO*B!497)M:6YA;"!N86UE('1O('-E="X@*B\*6&ENd
|
||
M=" J8F%D7V%R9SL)"0DO*B!3970@=&\@=')U92!I9B!A;B!E<G)O<B!I<R!Dc
|
||
M971E8W1E9"X@*B\*6'L*6"\J(%!A<G-E(&$@+71E<FT@<W!E8VEF:6-A=&EOb
|
||
M;BX@*B\*6 I8("!I9B H87)G8R A/2 Q('Q\("IO<'1I;VXI("IB861?87)Ga
|
||
M(#T@5%)513L*6" @*F]P=&EO;B ](%12544["E@@(&EF("AA<F=C(#T](#$Iz
|
||
M('L*6 DJ;W!T7W1E<FT@/2!A<F=V6S!=.PI8("!]"EA]"E@*6'9O:60@<&%Ry
|
||
M<V5?;F]N92AA<F=C+"!A<F=V+"!O<'1I;VXL(&)A9%]A<F<I"EAI;G0@87)Gx
|
||
M8SL)"0DO*B!.=6UB97(@;V8@87)G=6UE;G1S(&9O<B!T:&ES(&]P=&EO;BX@w
|
||
M*B\*6&-H87(@*F%R9W9;73L)"0DO*B!!<F=U;65N=',@9F]R('1H:7,@;W!Tv
|
||
M:6]N+B J+PI8:6YT("IO<'1I;VX["0D)+RH@3W!T:6]N(&9L86<@=&\@<V5Tu
|
||
M+B J+PI8:6YT("IB861?87)G.PD)"2\J(%-E="!T;R!T<G5E(&EF(&%N(&5Rt
|
||
M<F]R(&ES(&1E=&5C=&5D+B J+PI8>PI8+RH@4&%R<V4@82!P87)A;65T97)Ls
|
||
M97-S('-P96-I9FEC871I;VXN("HO"E@*6" @:68@*&%R9V,@(3T@,"!\?" Jr
|
||
M;W!T:6]N*2 J8F%D7V%R9R ](%12544["E@@("IO<'1I;VX@/2!44E5%.PI8q
|
||
M?0I8"EAV;VED('!A<G-E7W-W:71C:"AA<F=C+"!A<F=V+"!O<'1I;VXL(&]Pp
|
||
M=%]O;BP@8F%D7V%R9RD*6&EN="!A<F=C.PD)"2\J($YU;6)E<B!O9B!A<F=Uo
|
||
M;65N=',@9F]R('1H:7,@;W!T:6]N+B J+PI88VAA<B J87)G=EM=.PD)"2\Jn
|
||
M($%R9W5M96YT<R!F;W(@=&AI<R!O<'1I;VXN("HO"EAI;G0@*F]P=&EO;CL)m
|
||
M"0DO*B!/<'1I;VX@9FQA9R!T;R!S970N("HO"EAI;G0@*F]P=%]O;CL)"0DOl
|
||
M*B!";V]L96%N(&]P=&EO;B!S=VET8V@@=&\@<V5T(&]R(')E<V5T+B J+PI8k
|
||
M:6YT("IB861?87)G.PD)"2\J(%-E="!T;R!T<G5E(&EF(&%N(&5R<F]R(&ESj
|
||
M(&1E=&5C=&5D+B J+PI8>PI8+RH@4&%R<V4@82!B;V]L96%N("AO;B]O9F8Ii
|
||
M('-P96-I9FEC871I;VXN("HO"E@*6" @:68@*&%R9V,@/B Q('Q\("IO<'1Ih
|
||
M;VXI("IB861?87)G(#T@5%)513L*6" @*F]P=&EO;B ](%12544["E@@(&EFg
|
||
M("AA<F=C(#T](#$I('L*6 EI9B H<W1R8VUP*&%R9W9;,%TL(")O;B(I(#T]f
|
||
M(# I"E@)"2IO<'1?;VX@/2!44E5%.PI8"65L<V4@:68@*'-T<F-M<"AA<F=Ve
|
||
M6S!=+" B;V9F(BD@/3T@,"D*6 D)*F]P=%]O;B ]($9!3%-%.PI8"65L<V4*d
|
||
M6 D)*F)A9%]A<F<@/2!44E5%.PI8("!](&5L<V4@>PI8"2IO<'1?;VX@/2!4c
|
||
M4E5%.PI8("!]"EA]"E@*6'9O:60@<&%R<V5?:V5Y8F]A<F0H87)G8RP@87)Gb
|
||
M=BP@;W!T:6]N+"!O<'1?:V5Y8F]A<F0L(&)A9%]A<F<I"EAI;G0@87)G8SL)a
|
||
M"0DO*B!.=6UB97(@;V8@87)G=6UE;G1S(&9O<B!T:&ES(&]P=&EO;BX@*B\*z
|
||
M6&-H87(@*F%R9W9;73L)"0DO*B!!<F=U;65N=',@9F]R('1H:7,@;W!T:6]Ny
|
||
M+B J+PI8:6YT("IO<'1I;VX["0D)+RH@2V5Y8F]A<F0@9FQA9R!T;R!S970Nx
|
||
M("HO"EAI;G0@*F]P=%]K97EB;V%R9#L)"2\J($ME>6)O87)D('1Y<&4@=&\@w
|
||
M<V5T+B J+PI8:6YT("IB861?87)G.PD)"2\J(%-E="!T;R!T<G5E(&EF(&%Nv
|
||
M(&5R<F]R(&ES(&1E=&5C=&5D+B J+PI8>PI8+RH@4&%R<V4@82 M:V5Y8F]Au
|
||
M<F0@<W!E8VEF:6-A=&EO;BX@*B\*6 I8("!I9B H87)G8R A/2 Q('Q\("IOt
|
||
M<'1I;VXI("IB861?87)G(#T@5%)513L*6" @*F]P=&EO;B ](%12544["E@@s
|
||
M(&EF("AA<F=C(#T](#$I('L*6 EI9B H<W1R8VUP*&%R9W9;,%TL(")P8R(Ir
|
||
M(#T](# I"E@)"2IO<'1?:V5Y8F]A<F0@/2!00SL*6 EE;'-E(&EF("AS=')Cq
|
||
M;7 H87)G=ELP72P@(F]L:79E='1I(BD@/3T@,"D*6 D)*F]P=%]K97EB;V%Rp
|
||
M9" ]($],259%5%1).PI8"65L<V4@:68@*'-T<F-M<"AA<F=V6S!=+" B9'5To
|
||
M8V@B*2 ]/2 P*0I8"0DJ;W!T7VME>6)O87)D(#T@1%540T@["E@)96QS92!In
|
||
M9B H<W1R8VUP*&%R9W9;,%TL(")E>'1E;F1E9"(I(#T](# I"E@)"2IO<'1?m
|
||
M:V5Y8F]A<F0@/2!%6%1%3D1%1#L*6 EE;'-E"E@)"2IB861?87)G(#T@5%)5l
|
||
M13L*6" @?0I8?0I8"EAV;VED('!A<E]C;VQO<BAA<F=C+"!A<F=V+"!O<'1Ik
|
||
M;VXL(&]P=%]C;VQO<BP@8F%D7V%R9RD*6&EN="!A<F=C.PD)"2\J($YU;6)Ej
|
||
M<B!O9B!A<F=U;65N=',@9F]R('1H:7,@;W!T:6]N+B J+PI88VAA<B J87)Gi
|
||
M=EM=.PD)"2\J($%R9W5M96YT<R!F;W(@=&AI<R!O<'1I;VXN("HO"EAI;G0@h
|
||
M*F]P=&EO;CL)"0DO*B!#;VQO<B!F;&%G('1O('-E="X@*B\*6&EN=" J;W!Tg
|
||
M7V-O;&]R.PD)"2\J($-O;&]R('1O('-E="X@*B\*6&EN=" J8F%D7V%R9SL)f
|
||
M"0DO*B!3970@=&\@=')U92!I9B!A;B!E<G)O<B!I<R!D971E8W1E9"X@*B\*e
|
||
M6'L*6"\J(%!A<G-E(&$@+69O<F5G<F]U;F0@;W(@+6)A8VMG<F]U;F0@<W!Ed
|
||
M8VEF:6-A=&EO;BX@*B\*6 I8("!I9B H87)G8R A/2 Q('Q\("IO<'1I;VXIc
|
||
M("IB861?87)G(#T@5%)513L*6" @*F]P=&EO;B ](%12544["E@@(&EF("AAb
|
||
M<F=C(#T](#$I('L*6 EI9B H<W1R8VUP*&%R9W9;,%TL(")B;&%C:R(I(#T]a
|
||
M(# I"E@)"2IO<'1?8V]L;W(@/2!"3$%#2SL*6 EE;'-E(&EF("AS=')C;7 Hz
|
||
M87)G=ELP72P@(G)E9"(I(#T](# I"E@)"2IO<'1?8V]L;W(@/2!2140["E@)y
|
||
M96QS92!I9B H<W1R8VUP*&%R9W9;,%TL(")G<F5E;B(I(#T](# I"E@)"2IOx
|
||
M<'1?8V]L;W(@/2!'4D5%3CL*6 EE;'-E(&EF("AS=')C;7 H87)G=ELP72P@w
|
||
M(GEE;&QO=R(I(#T](# I"E@)"2IO<'1?8V]L;W(@/2!914Q,3U<["E@)96QSv
|
||
M92!I9B H<W1R8VUP*&%R9W9;,%TL(")B;'5E(BD@/3T@,"D*6 D)*F]P=%]Cu
|
||
M;VQO<B ]($),544["E@)96QS92!I9B H<W1R8VUP*&%R9W9;,%TL(")M86=Et
|
||
M;G1A(BD@/3T@,"D*6 D)*F]P=%]C;VQO<B ]($U!1T5.5$$["E@)96QS92!Is
|
||
M9B H<W1R8VUP*&%R9W9;,%TL(")C>6%N(BD@/3T@,"D*6 D)*F]P=%]C;VQOr
|
||
M<B ]($-904X["E@)96QS92!I9B H<W1R8VUP*&%R9W9;,%TL(")W:&ET92(Iq
|
||
M(#T](# I"E@)"2IO<'1?8V]L;W(@/2!72$E413L*6 EE;'-E(&EF("AS=')Cp
|
||
M;7 H87)G=ELP72P@(F1E9F%U;'0B*2 ]/2 P*0I8"0DJ;W!T7V-O;&]R(#T@o
|
||
M1$5&055,5#L*6 EE;'-E"E@)"2IB861?87)G(#T@5%)513L*6" @?0I8?0I8n
|
||
M"EAV;VED('!A<G-E7V-L96%R*&%R9V,L(&%R9W8L(&]P=&EO;BP@;W!T7V%Lm
|
||
M;"P@8F%D7V%R9RD*6&EN="!A<F=C.PD)"2\J($YU;6)E<B!O9B!A<F=U;65Nl
|
||
M=',@9F]R('1H:7,@;W!T:6]N+B J+PI88VAA<B J87)G=EM=.PD)"2\J($%Rk
|
||
M9W5M96YT<R!F;W(@=&AI<R!O<'1I;VXN("HO"EAI;G0@*F]P=&EO;CL)"0DOj
|
||
M*B!#;&5A<B!F;&%G('1O('-E="X@*B\*6&EN=" J;W!T7V%L;#L)"0DO*B!#i
|
||
M;&5A<B!A;&P@<W=I=&-H('1O('-E="!O<B!R97-E="X@*B\*6&EN=" J8F%Dh
|
||
M7V%R9SL)"0DO*B!3970@=&\@=')U92!I9B!A;B!E<G)O<B!I<R!D971E8W1Eg
|
||
M9"X@*B\*6'L*6"\J(%!A<G-E(&$@+6-L96%R('-P96-I9FEC871I;VXN("HOf
|
||
M"E@*6" @:68@*&%R9V,@/B Q('Q\("IO<'1I;VXI("IB861?87)G(#T@5%)5e
|
||
M13L*6" @*F]P=&EO;B ](%12544["E@@(&EF("AA<F=C(#T](#$I('L*6 EId
|
||
M9B H<W1R8VUP*&%R9W9;,%TL(")A;&PB*2 ]/2 P*0I8"0DJ;W!T7V%L;" ]c
|
||
M(%12544["E@)96QS92!I9B H<W1R8VUP*&%R9W9;,%TL(")R97-T(BD@/3T@b
|
||
M,"D*6 D)*F]P=%]A;&P@/2!&04Q313L*6 EE;'-E"E@)"2IB861?87)G(#T@a
|
||
M5%)513L*6" @?2!E;'-E('L*6 DJ;W!T7V%L;" ](%12544["E@@('T*6'T*z
|
||
M6 I8=F]I9"!P87)S95]O<'1I;VXH;W!T:6]N+"!A<F=C+"!A<F=V+"!B861?y
|
||
M87)G*0I88VAA<B J;W!T:6]N.PD)"2\J($]P=&EO;B!W:71H(&QE861I;F<@x
|
||
M)RTG(')E;6]V960N("HO"EAI;G0@87)G8SL)"0DO*B!.=6UB97(@;V8@87)Gw
|
||
M=6UE;G1S(&9O<B!T:&ES(&]P=&EO;BX@*B\*6&-H87(@*F%R9W9;73L)"0DOv
|
||
M*B!!<F=U;65N=',@9F]R('1H:7,@;W!T:6]N+B J+PI8:6YT("IB861?87)Gu
|
||
M.PD)"2\J(%-E="!T;R!T<G5E(&EF(&%N(&5R<F]R(&ES(&1E=&5C=&5D+B Jt
|
||
M+PI8>PI8+RH@4&%R<V4@82!S:6YG;&4@<W!E8VEF:6-A=&EO;BX@*B\*6 I8s
|
||
M("!I9B H<W1R8VUP*&]P=&EO;BP@(G1E<FTB*2 ]/2 P*0I8"7!A<G-E7W1Er
|
||
M<FTH87)G8RP@87)G=BP@)F]P=%]T97)M+" F;W!T7W1E7W1E<FUI;F%L7VYAq
|
||
M;64L(&)A9%]A<F<I.PI8("!E;'-E(&EF("AS=')C;7 H;W!T:6]N+" B<F5Sp
|
||
M970B*2 ]/2 P*0I8"7!A<G-E7VYO;F4H87)G8RP@87)G=BP@)F]P=%]R97-Eo
|
||
M="P@8F%D7V%R9RD["E@@(&5L<V4@:68@*'-T<F-M<"AO<'1I;VXL(")I;FETn
|
||
M:6%L:7IE(BD@/3T@,"D*6 EP87)S95]N;VYE*&%R9V,L(&%R9W8L("9O<'1?m
|
||
M:6YI=&EA;&EZ92P@8F%D7V%R9RD["E@@(&5L<V4@:68@*'-T<F-M<"AO<'1Il
|
||
M;VXL(")C=7)S;W(B*2 ]/2 P*0I8"7!A<G-E7W-W:71C:"AA<F=C+"!A<F=Vk
|
||
M+" F;W!T7V-U<G-O<BP@)F]P=%]C=5]O;BP@8F%D7V%R9RD["E@@(&5L<V4@j
|
||
M:68@*'-T<F-M<"AO<'1I;VXL(")K97EB;V%R9"(I(#T](# I"E@)<&%R<V5?i
|
||
M:V5Y8F]A<F0H87)G8RP@87)G=BP@)F]P=%]K97EB;V%R9"P@)F]P=%]K95]Th
|
||
M>7!E+"!B861?87)G*3L*6" @96QS92!I9B H<W1R8VUP*&]P=&EO;BP@(FQIg
|
||
M;F5W<F%P(BD@/3T@,"D*6 EP87)S95]S=VET8V@H87)G8RP@87)G=BP@)F]Pf
|
||
M=%]L:6YE=W)A<"P@)F]P=%]L:5]O;BP@8F%D7V%R9RD["E@@(&5L<V4@:68@e
|
||
M*'-T<F-M<"AO<'1I;VXL(")S;F]W(BD@/3T@,"D*6 EP87)S95]S=VET8V@Hd
|
||
M87)G8RP@87)G=BP@)F]P=%]S;F]W+" F;W!T7W-N7V]N+"!B861?87)G*3L*c
|
||
M6" @96QS92!I9B H<W1R8VUP*&]P=&EO;BP@(G-O9G1S8W)O;&PB*2 ]/2 Pb
|
||
M*0I8"7!A<G-E7W-W:71C:"AA<F=C+"!A<F=V+" F;W!T7W-O9G1S8W)O;&PLa
|
||
M("9O<'1?<V]?;VXL(&)A9%]A<F<I.PI8("!E;'-E(&EF("AS=')C;7 H;W!Tz
|
||
M:6]N+" B9&5F875L="(I(#T](# I"E@)<&%R<V5?;F]N92AA<F=C+"!A<F=Vy
|
||
M+" F;W!T7V1E9F%U;'0L(&)A9%]A<F<I.PI8("!E;'-E(&EF("AS=')C;7 Hx
|
||
M;W!T:6]N+" B9F]R96=R;W5N9"(I(#T](# I"E@)<&%R7V-O;&]R*&%R9V,Lw
|
||
M(&%R9W8L("9O<'1?9F]R96=R;W5N9"P@)F]P=%]F;U]C;VQO<BP@8F%D7V%Rv
|
||
M9RD["E@@(&5L<V4@:68@*'-T<F-M<"AO<'1I;VXL(")B86-K9W)O=6YD(BD@u
|
||
M/3T@,"D*6 EP87)?8V]L;W(H87)G8RP@87)G=BP@)F]P=%]B86-K9W)O=6YDt
|
||
M+" F;W!T7V)A7V-O;&]R+"!B861?87)G*3L*6" @96QS92!I9B H<W1R8VUPs
|
||
M*&]P=&EO;BP@(F)O;&0B*2 ]/2 P*0I8"7!A<G-E7W-W:71C:"AA<F=C+"!Ar
|
||
M<F=V+" F;W!T7V)O;&0L("9O<'1?8F]?;VXL(&)A9%]A<F<I.PI8("!E;'-Eq
|
||
M(&EF("AS=')C;7 H;W!T:6]N+" B8FQI;FLB*2 ]/2 P*0I8"7!A<G-E7W-Wp
|
||
M:71C:"AA<F=C+"!A<F=V+" F;W!T7V)L:6YK+" F;W!T7V)L7V]N+"!B861?o
|
||
M87)G*3L*6" @96QS92!I9B H<W1R8VUP*&]P=&EO;BP@(G)E=F5R<V4B*2 ]n
|
||
M/2 P*0I8"7!A<G-E7W-W:71C:"AA<F=C+"!A<F=V+" F;W!T7W)E=F5R<V4Lm
|
||
M("9O<'1?<F5?;VXL(&)A9%]A<F<I.PI8("!E;'-E(&EF("AS=')C;7 H;W!Tl
|
||
M:6]N+" B=6YD97)L:6YE(BD@/3T@,"D*6 EP87)S95]S=VET8V@H87)G8RP@k
|
||
M87)G=BP@)F]P=%]U;F1E<FQI;F4L("9O<'1?=6Y?;VXL(&)A9%]A<F<I.PI8j
|
||
M("!E;'-E(&EF("AS=')C;7 H;W!T:6]N+" B<W1O<F4B*2 ]/2 P*0I8"7!Ai
|
||
M<G-E7VYO;F4H87)G8RP@87)G=BP@)F]P=%]S=&]R92P@8F%D7V%R9RD["E@@h
|
||
M(&5L<V4@:68@*'-T<F-M<"AO<'1I;VXL(")C;&5A<B(I(#T](# I"E@)<&%Rg
|
||
M<V5?8VQE87(H87)G8RP@87)G=BP@)F]P=%]C;&5A<BP@)F]P=%]C;%]A;&PLf
|
||
M(&)A9%]A<F<I.PI8("!E;'-E"E@)*F)A9%]A<F<@/2!44E5%.PI8?0I8"E@Oe
|
||
M*B!%;F0@;V8@8V]M;6%N9"!L:6YE('!A<G-I;F<@<F]U=&EN97,N("HO"E@*d
|
||
M6'9O:60@=7-A9V4H<')O9U]N86UE*0I88VAA<B J<')O9U]N86UE.PD)+RH@c
|
||
M3F%M92!O9B!T:&ES('!R;V=R86TN("HO"EA["E@O*B!0<FEN="!E<G)O<B!Mb
|
||
M97-S86=E(&%B;W5T(&%R9W5M96YT<RP@86YD('1H92!C;VUM86YD)W,@<WENa
|
||
M=&%X+B J+PI8"E@@(&9P<FEN=&8H<W1D97)R+" B)7,Z($%R9W5M96YT(&5Rz
|
||
M<F]R+"!U<V%G95QN(BP@<')O9U]N86UE*3L*6" @9G!R:6YT9BAS=&1E<G(Ly
|
||
M(")<;B(I.PI8("!F<')I;G1F*'-T9&5R<BP@(B5S7&XB+"!P<F]G7VYA;64Ix
|
||
M.PI8("!F<')I;G1F*'-T9&5R<BP@(B @6R M=&5R;2!T97)M:6YA;%]N86UEw
|
||
M(%U<;B(I.PI8("!F<')I;G1F*'-T9&5R<BP@(B @6R M<F5S970@75QN(BD[v
|
||
M"E@@(&9P<FEN=&8H<W1D97)R+" B("!;("UI;FET:6%L:7IE(%U<;B(I.PI8u
|
||
M("!F<')I;G1F*'-T9&5R<BP@(B @6R M8W5R<V]R(%MO;GQO9F9=(%U<;B(It
|
||
M.PI8("!F<')I;G1F*'-T9&5R<BP@(B @6R M:V5Y8F]A<F0@<&-\;VQI=F5Ts
|
||
M=&E\9'5T8VA\97AT96YD960@75QN(BD["E@@(&9P<FEN=&8H<W1D97)R+" Br
|
||
M("!;("UL:6YE=W)A<"!;;VY\;V9F72!=7&XB*3L*6" @9G!R:6YT9BAS=&1Eq
|
||
M<G(L("(@(%L@+7-N;W<@6V]N?&]F9ET@75QN(BD["E@@(&9P<FEN=&8H<W1Dp
|
||
M97)R+" B("!;("US;V9T<V-R;VQL(%MO;GQO9F9=(%U<;B(I.PI8("!F<')Io
|
||
M;G1F*'-T9&5R<BP@(B @6R M9&5F875L="!=7&XB*3L*6" @9G!R:6YT9BASn
|
||
M=&1E<G(L("(@(%L@+69O<F5G<F]U;F0@8FQA8VM\<F5D?&=R965N?'EE;&QOm
|
||
M=WQB;'5E?&UA9V5N=&$B*3L*6 EF<')I;G1F*'-T9&5R<BP@(GQC>6%N?'=Hl
|
||
M:71E?&1E9F%U;'0@75QN(BD["E@@(&9P<FEN=&8H<W1D97)R+" B("!;("UBk
|
||
M86-K9W)O=6YD(&)L86-K?')E9'QG<F5E;GQY96QL;W=\8FQU97QM86=E;G1Aj
|
||
M(BD["E@)9G!R:6YT9BAS=&1E<G(L(")\8WEA;GQW:&ET97QD969A=6QT(%U<i
|
||
M;B(I.PI8("!F<')I;G1F*'-T9&5R<BP@(B @6R M8F]L9"!;;VY\;V9F72!=h
|
||
M7&XB*3L*6" @9G!R:6YT9BAS=&1E<G(L("(@(%L@+6)L:6YK(%MO;GQO9F9=g
|
||
M(%U<;B(I.PI8("!F<')I;G1F*'-T9&5R<BP@(B @6R M<F5V97)S92!;;VY\f
|
||
M;V9F72!=7&XB*3L*6" @9G!R:6YT9BAS=&1E<G(L("(@(%L@+75N9&5R;&ENe
|
||
M92!;;VY\;V9F72!=7&XB*3L*6" @9G!R:6YT9BAS=&1E<G(L("(@(%L@+7-Td
|
||
M;W)E(%U<;B(I.PI8("!F<')I;G1F*'-T9&5R<BP@(B @6R M8VQE87(@6V%Lc
|
||
M;'QR97-T72!=7&XB*3L*6'T*6 I88VAA<B!T8U]E;G1?8G5F6U1#7T5.5%]3b
|
||
M25I%73L)+RH@0G5F9F5R(&9O<B!S=&]R:6YG(&$@=&5R;6-A<"!E;G1R>2X@a
|
||
M*B\*6 I88VAA<B J=&-?96YT<GDH;F%M92D*6&-H87(@*FYA;64["0D)+RH@z
|
||
M5&5R;6-A<"!C87!A8FEL:71Y('-T<FEN9R!T;R!L;V]K=7 N("HO"EA["E@Oy
|
||
M*B!2971U<FX@=&AE('-P96-I9FEE9"!T97)M8V%P('-T<FEN9RP@;W(@86X@x
|
||
M96UP='D@<W1R:6YG(&EF(&YO('-U8V@@=&5R;6-A< I8("H@8V%P86)I;&ETw
|
||
M>2!E>&ES=',N"E@@*B\*6 I8("!C:&%R("IB=69?<'1R.PI8"E@@(&)U9E]Pv
|
||
M='(@/2!T8U]E;G1?8G5F.PI8("!I9B H=&=E='-T<BAN86UE+" F8G5F7W!Tu
|
||
M<BD@/3T@3E5,3"D@=&-?96YT7V)U9ELP72 ]("=<,"<["E@@(')E='5R;B!Tt
|
||
M8U]E;G1?8G5F.PI8?0I8"EAV;VED('!E<F9O<FU?<V5Q=65N8V4H=F-T97)Ms
|
||
M*0I8:6YT('9C=&5R;3L)"0DO*B!3970@:68@=&5R;6EN86P@:7,@82!V:7)Tr
|
||
M=6%L(&-O;G-O;&4N("HO"EA["E@O*B!097)F;W)M('1H92!S96QE8W1E9"!Oq
|
||
M<'1I;VYS+B J+PI8"E@@("\J("UR97-E="X@*B\*6" @:68@*&]P=%]R97-Ep
|
||
M="D@>PI8"7!R:6YT9B@B)7,B+"!T8U]E;G1R>2@B<G,B*2D["E@@('T*6 I8o
|
||
M(" O*B M:6YI=&EA;&EZ92X@*B\*6" @:68@*&]P=%]I;FET:6%L:7IE*2![n
|
||
M"E@)<')I;G1F*"(E<R(L('1C7V5N=')Y*")I<R(I*3L*6" @?0I8"E@@("\Jm
|
||
M("UC=7)S;W(@6V]N?&]F9ETN("HO"E@@(&EF("AO<'1?8W5R<V]R*2!["E@)l
|
||
M:68@*&]P=%]C=5]O;BD*6 D)<')I;G1F*"(E<R(L('1C7V5N=')Y*")V92(Ik
|
||
M*3L*6 EE;'-E"E@)"7!R:6YT9B@B)7,B+"!T8U]E;G1R>2@B=FDB*2D["E@@j
|
||
M('T*6 I8(" O*B M:V5Y8F]A<F0@<&-\;VQI=F5T=&E\9'5T8VA\97AT96YDi
|
||
M960N("!68R!O;FQY+B J+PI8("!I9B H;W!T7VME>6)O87)D("8F('9C=&5Rh
|
||
M;2D@>PI8"7-W:71C:" H;W!T7VME7W1Y<&4I('L*6 D@(" @8V%S92!00SH*g
|
||
M6 D)<')I;G1F*"(E<R5S)7,B+"!$0U,L(")K97EB;V%R9"YP8R(L(%-4*3L*f
|
||
M6 D)8G)E86L["E@)(" @(&-A<V4@3TQ)5D545$DZ"E@)"7!R:6YT9B@B)7,Ee
|
||
M<R5S(BP@1$-3+" B:V5Y8F]A<F0N;VQI=F5T=&DB+"!35"D["E@)"6)R96%Kd
|
||
M.PI8"2 @("!C87-E($155$-(.@I8"0EP<FEN=&8H(B5S)7,E<R(L($1#4RP@c
|
||
M(FME>6)O87)D+F1U=&-H(BP@4U0I.PI8"0EB<F5A:SL*6 D@(" @8V%S92!%b
|
||
M6%1%3D1%1#H*6 D)<')I;G1F*"(E<R5S)7,B+"!$0U,L(")K97EB;V%R9"YEa
|
||
M>'1E;F1E9"(L(%-4*3L*6 D)8G)E86L["E@)?0I8("!]"E@*6" @+RH@+6QIz
|
||
M;F5W<F%P(%MO;GQO9F9=+B @5F,@;VYL>2X@*B\*6" @:68@*&]P=%]L:6YEy
|
||
M=W)A<" F)B!V8W1E<FTI('L*6 EI9B H;W!T7VQI7V]N*0I8"0EP<FEN=&8Hx
|
||
M(B5S)7,E<R(L($1#4RP@(FQI;F5W<F%P+F]N(BP@4U0I.PI8"65L<V4*6 D)w
|
||
M<')I;G1F*"(E<R5S)7,B+"!$0U,L(")L:6YE=W)A<"YO9F8B+"!35"D["E@@v
|
||
M('T*6 I8(" O*B M<VYO=R!;;VY\;V9F72X@(%9C(&]N;'DN("HO"E@@(&EFu
|
||
M("AO<'1?<VYO=R F)B!V8W1E<FTI('L*6 EI9B H;W!T7W-N7V]N*0I8"0EPt
|
||
M<FEN=&8H(B5S)7,E<R(L($1#4RP@(G-N;W<N;VXB+"!35"D["E@)96QS90I8s
|
||
M"0EP<FEN=&8H(B5S)7,E<R(L($1#4RP@(G-N;W<N;V9F(BP@4U0I.PI8("!]r
|
||
M"E@*6" @+RH@+7-O9G1S8W)O;&P@6V]N?&]F9ETN("!68R!O;FQY+B J+PI8q
|
||
M("!I9B H;W!T7W-O9G1S8W)O;&P@)B8@=F-T97)M*2!["E@):68@*&]P=%]Sp
|
||
M;U]O;BD*6 D)<')I;G1F*"(E<R5S)7,B+"!$0U,L(")S;V9T<V-R;VQL+F]No
|
||
M(BP@4U0I.PI8"65L<V4*6 D)<')I;G1F*"(E<R5S)7,B+"!$0U,L(")S;V9Tn
|
||
M<V-R;VQL+F]F9B(L(%-4*3L*6" @?0I8"E@@("\J("UD969A=6QT+B @5F,@m
|
||
M<V5T<R!D969A=6QT(')E;F1I=&EO;BP@;W1H97)W:7-E(&-L96%R<R!A;&P*l
|
||
M6" @("H@871T<FEB=71E<RX*6" @("HO"E@@(&EF("AO<'1?9&5F875L="D@k
|
||
M>PI8"6EF("AV8W1E<FTI"E@)"7!R:6YT9B@B)7,E<R(L($530RP@(ELP;2(Ij
|
||
M.PI8"65L<V4*6 D)<')I;G1F*"(E<R(L('1C7V5N=')Y*")M92(I*3L*6" @i
|
||
M?0I8"E@@("\J("UF;W)E9W)O=6YD(&)L86-K?')E9'QG<F5E;GQY96QL;W=\h
|
||
M8FQU97QM86=E;G1A?&-Y86Y\=VAI=&5\9&5F875L="X*6" @("H@5F,@;VYLg
|
||
M>2X*6" @("HO"E@@(&EF("AO<'1?9F]R96=R;W5N9" F)B!V8W1E<FTI('L*f
|
||
M6 EP<FEN=&8H(B5S)7,E8R5S(BP@15-#+" B6S,B+" G,"<@*R!O<'1?9F]?e
|
||
M8V]L;W(L(")M(BD["E@@('T*6 I8(" O*B M8F%C:V=R;W5N9"!B;&%C:WQRd
|
||
M961\9W)E96Y\>65L;&]W?&)L=65\;6%G96YT87QC>6%N?'=H:71E?&1E9F%Uc
|
||
M;'0N"E@@(" J(%9C(&]N;'DN"E@@(" J+PI8("!I9B H;W!T7V)A8VMG<F]Ub
|
||
M;F0@)B8@=F-T97)M*2!["E@)<')I;G1F*"(E<R5S)6,E<R(L($530RP@(ELTa
|
||
M(BP@)S G("L@;W!T7V)A7V-O;&]R+" B;2(I.PI8("!]"E@*6" @+RH@+6)Oz
|
||
M;&0@6V]N?&]F9ETN("!68R!B96AA=F5S(&%S(&5X<&5C=&5D+"!O=&AE<G=Iy
|
||
M<V4@;V9F('1U<FYS(&]F9@I8(" @*B!A;&P@871T<FEB=71E<RX*6" @("HOx
|
||
M"E@@(&EF("AO<'1?8F]L9"D@>PI8"6EF("AO<'1?8F]?;VXI"E@)"7!R:6YTw
|
||
M9B@B)7,B+"!T8U]E;G1R>2@B;60B*2D["E@)96QS92!["E@)"6EF("AV8W1Ev
|
||
M<FTI"E@)"0EP<FEN=&8H(B5S)7,B+"!%4T,L(");,C)M(BD["E@)"65L<V4*u
|
||
M6 D)"7!R:6YT9B@B)7,B+"!T8U]E;G1R>2@B;64B*2D["E@)?0I8("!]"E@*t
|
||
M6" @+RH@+6)L:6YK(%MO;GQO9F9=+B @5F,@8F5H879E<R!A<R!E>'!E8W1Es
|
||
M9"P@;W1H97)W:7-E(&]F9B!T=7)N<R!O9F8*6" @("H@86QL(&%T=')I8G5Tr
|
||
M97,N"E@@(" J+PI8("!I9B H;W!T7V)L:6YK*2!["E@):68@*&]P=%]B;%]Oq
|
||
M;BD*6 D)<')I;G1F*"(E<R(L('1C7V5N=')Y*")M8B(I*3L*6 EE;'-E('L*p
|
||
M6 D):68@*'9C=&5R;2D*6 D)"7!R:6YT9B@B)7,E<R(L($530RP@(ELR-6TBo
|
||
M*3L*6 D)96QS90I8"0D)<')I;G1F*"(E<R(L('1C7V5N=')Y*")M92(I*3L*n
|
||
M6 E]"E@@('T*6 I8(" O*B M<F5V97)S92!;;VY\;V9F72X@(%9C(&)E:&%Vm
|
||
M97,@87,@97AP96-T960L(&]T:&5R=VES92!O9F8@='5R;G,*6" @("H@;V9Fl
|
||
M(&%L;"!A='1R:6)U=&5S+@I8(" @*B\*6" @:68@*&]P=%]R979E<G-E*2![k
|
||
M"E@):68@*&]P=%]R95]O;BD*6 D)<')I;G1F*"(E<R(L('1C7V5N=')Y*")Mj
|
||
M<B(I*3L*6 EE;'-E('L*6 D):68@*'9C=&5R;2D*6 D)"7!R:6YT9B@B)7,Ei
|
||
M<R(L($530RP@(ELR-VTB*3L*6 D)96QS90I8"0D)<')I;G1F*"(E<R(L('1Ch
|
||
M7V5N=')Y*")M92(I*3L*6 E]"E@@('T*6 I8(" O*B M=6YD97)L:6YE(%MOg
|
||
M;GQO9F9=+B J+PI8("!I9B H;W!T7W5N9&5R;&EN92D@>PI8"6EF("AO<'1?f
|
||
M=6Y?;VXI"E@)"7!R:6YT9B@B)7,B+"!T8U]E;G1R>2@B=7,B*2D["E@)96QSe
|
||
M90I8"0EP<FEN=&8H(B5S(BP@=&-?96YT<GDH(G5E(BDI.PI8("!]"E@*6" @d
|
||
M+RH@+7-T;W)E+B @5F,@;VYL>2X@*B\*6" @:68@*&]P=%]S=&]R92 F)B!Vc
|
||
M8W1E<FTI('L*6 EP<FEN=&8H(B5S)7,E<R(L($1#4RP@(G)E;F1I=&EO;BYSb
|
||
M970B+"!35"D["E@@('T*6 I8(" O*B M8VQE87(@6V%L;'QR97-T72X@*B\*a
|
||
M6" @:68@*&]P=%]C;&5A<BD@>PI8"6EF("AO<'1?8VQ?86QL*0I8"0EP<FENz
|
||
M=&8H(B5S(BP@=&-?96YT<GDH(F-L(BDI.PI8"65L<V4*6 D)<')I;G1F*"(Ey
|
||
M<R(L('1C7V5N=')Y*")C9"(I*3L*6" @?0I8?0I8"EAV;VED(&UA:6XH87)Gx
|
||
M8RP@87)G=BD*6&EN="!A<F=C.PI88VAA<B J87)G=EM=.PI8>PI8("!I;G0@w
|
||
M8F%D7V%R9SL)"0DO*B!3970@:68@97)R;W(@:6X@87)G=6UE;G1S+B J+PI8v
|
||
M("!I;G0@87)G+"!M;V1I9FEE<CL*6" @8VAA<B J=&5R;3L)"0DO*B!497)Mu
|
||
M:6YA;"!T>7!E+B J+PI8("!I;G0@=F-T97)M.PD)"2\J(%-E="!I9B!T97)Mt
|
||
M:6YA;"!I<R!A('9I<G1U86P@8V]N<V]L92X@*B\*6 I8("!I;G0@8F%G7V%Rs
|
||
M9R ]($9!3%-%.PI8"E@@(&EF("AA<F=C(#P@,BD@8F%D7V%R9R ](%12544[r
|
||
M"E@*6" @+RH@4&%R<V4@87)G=6UE;G1S+B J+PI8"E@@(&9O<B H87)G(#T@q
|
||
M,3L@87)G(#P@87)G8SLI('L*6 EI9B H*F%R9W9;87)G72 ]/2 G+2<I('L*p
|
||
M6 I8"0DO*B!087)S92!A('-I;F=L92!O<'1I;VXN("HO"E@*6 D)9F]R("AMo
|
||
M;V1I9FEE<B ](&%R9R K(#$[(&UO9&EF:65R(#P@87)G8SL@;6]D:69I97(Kn
|
||
M*RD@>PI8"0D):68@*"IA<F=V6VUO9&EF:65R72 ]/2 G+2<I(&)R96%K.PI8m
|
||
M"0E]"E@)"7!A<G-E7V]P=&EO;BAA<F=V6V%R9UT@*R Q+"!M;V1I9FEE<B Ml
|
||
M(&%R9R M(#$L"E@)"0D@(" @("9A<F=V6V%R9R K(#%=+" F8F%D7V%R9RD[k
|
||
M"E@)"6%R9R ](&UO9&EF:65R.PI8"7T@96QS92!["E@*6 D)8F%D7V%R9R ]j
|
||
M(%12544["E@)"6%R9RLK.PI8"7T*6" @?0I8"E@@("\J($1I<W!L87D@<WENi
|
||
M=&%X(&UE<W-A9V4@:68@97)R;W(@:6X@87)G=6UE;G1S+B J+PI8"E@@(&EFh
|
||
M("AB861?87)G*2!["E@)=7-A9V4H87)G=ELP72D["E@)97AI="@Q*3L*6" @g
|
||
M?0I8"E@@("\J($9I;F0@;W5T('1E<FUI;F%L(&YA;64N("HO"E@*6" @:68@f
|
||
M*&]P=%]T97)M*2M:6YA;%]N86UE.PI8e
|
||
M("!](&5L<V4@>PI8"71E<FT@/2!G971E;G8H(E1%4DTB*3L*6 EI9B H=&5Rd
|
||
M;2 ]/2!.54Q,*2!["E@)"69P<FEN=&8H<W1D97)R+" B)7,Z("1415)-(&ESc
|
||
M(&YO="!D969I;F5D+EQN(BP@87)G=ELP72D["E@)"65X:70H,2D["E@)?0I8b
|
||
M("!]"E@*6" @+RH@1FEN9"!T97)M8V%P(&5N=')Y+B J+PI8"E@@(&EF("ATa
|
||
M9V5T96YT*'1C7V)U9BP@=&5R;2D@(3T@,2D@>PI8"69P<FEN=&8H<W1D97)Rz
|
||
M+" B)7,Z($-O=6QD(&YO="!F:6YD('1E<FUC87 @96YT<GD@9F]R("5S+EQNy
|
||
M(BP*6 D)87)G=ELP72P@=&5R;2D["E@)97AI="@Q*3L*6" @?0I8"E@@("\Jx
|
||
M(%-E92!I9B!T:&4@=&5R;6EN86P@:7,@82!V:7)T=6%L(&-O;G-O;&4@=&5Rw
|
||
M;6EN86PN("HO"E@*6" @=F-T97)M(#T@*'-T<F-M<"AT97)M+"!60U1%4DTIv
|
||
M(#T](# I('Q\("AS=')C;7 H=&5R;2P@5D-415)-7T%-*2 ]/2 P*3L*6 I8u
|
||
M(" O*B!097)F;W)M('1H92!S96QE8W1E9"!O<'1I;VYS+B J+PI8"E@@('!Et
|
||
M<F9O<FU?<V5Q=65N8V4H=F-T97)M*3L*6 I8("!E>&ET*# I.PI8?0HO"F5Cs
|
||
M:&\@>" M('-T87)T8V]N<PIS960@)R]>6"]S+R\O)R ^('-T87)T8V]N<R \r
|
||
M/" G+R<*6"]U<W(O;&]C86PO8FEN+V1O<VAE;&P@+V1E=B]T='DR("]B:6XOq
|
||
M<V@@)@I8+W5S<B]L;V-A;"]B:6XO9&]S:&5L;" O9&5V+W1T>3,@+V)I;B]Sp
|
||
M:" F"E@O=7-R+VQO8V%L+V)I;B]D;W-H96QL("]D978O='1Y-" O8FEN+W-Ho
|
||
M("8*6"]U<W(O;&]C86PO8FEN+W-E='1E<FT@+71E<FT@8V]N<V]L92 M9F]Rn
|
||
M96=R;W5N9"!B;&%C:R M8F%C:V=R;W5N9"!C>6%N(%P*6" @+6-L96%R(')Em
|
||
M<W0@/B O9&5V+W1T>3$*6"]U<W(O;&]C86PO8FEN+W-E='1E<FT@+71E<FT@l
|
||
M8V]N<V]L92 M9F]R96=R;W5N9"!W:&ET92 M8F%C:V=R;W5N9"!B;'5E(%P*k
|
||
M6" @+6-L96%R(&%L;" ^("]D978O='1Y,@I8+W5S<B]L;V-A;"]B:6XO<V5Tj
|
||
M=&5R;2 M=&5R;2!C;VYS;VQE("UF;W)E9W)O=6YD(&)L=64@+6)A8VMG<F]Ui
|
||
M;F0@8WEA;B!<"E@@("UC;&5A<B!A;&P@/B O9&5V+W1T>3,*6"]U<W(O;&]Ch
|
||
M86PO8FEN+W-E='1E<FT@+71E<FT@8V]N<V]L92 M9F]R96=R;W5N9"!C>6%Ng
|
||
M("UB86-K9W)O=6YD(&)L=64@7 I8(" M8VQE87(@86QL(#X@+V1E=B]T='DTf
|
||
M"B\*96-H;R!X("T@=&5R;6-A< IS960@)R]>6"]S+R\O)R ^('1E<FUC87 @e
|
||
M/#P@)R\G"EAD,WQV=#,P,'QV=#,R,'QD96,@=G0S,# @<V5R:65S.EP*6 DZd
|
||
M=&,]=G0R,# Z"EAD;'QV=#(P,'QV=#(R,'QV=#(P,"UJ<WQV=#(R,"UJ<WQDc
|
||
M96,@=G0R,# @<V5R:65S('=I=&@@:G5M<"!S8W)O;&PZ7 I8"3II;3U<15LTb
|
||
M:#IE:3U<15LT;#IM:3ID8SU<15M0.F1M/3IE9#TZ86P]7$5;3#ID;#U<15M-a
|
||
M.EP*6 DZ8W,]7$5;)6DE9#LE9'(Z<V8]7$5$.G-R/5Q%33IS8CU<14TZ7 I8z
|
||
M"3IC93U<15M+.F-L/5Q%6TA<15M*.F-D/5Q%6THZ8VT]7$5;)6DE9#LE9$@Zy
|
||
M;F0]7$5;0SIU<#U<15M!.EP*6 DZ<V\]7$5;-VTZ<V4]7$5;,C=M.G5S/5Q%x
|
||
M6S1M.G5E/5Q%6S(T;3I<"E@).FUD/5Q%6S%M.FUR/5Q%6S=M.FUB/5Q%6S5Mw
|
||
M.FUE/5Q%6VTZ7 I8"3II<SU<13Y<15L_,VQ<15L_-&Q<15L_-6Q<15L_-VA<v
|
||
M15L_.&A<15LQ.S(T<EQ%6S(T.S%(.EP*6 DZ<G,]7$4^7$5;/S-L7$5;/S1Lu
|
||
M7$5;/S5L7$5;/S=H7$5;/SAH.EP*6 DZ=&,]=G0Q,# Z"EAD,'QV=#$P,'QVt
|
||
M=#$P,"UA;7QV=#$P,&%M?&1E8R!V=#$P,#I<"E@).F1O/5Y*.F-O(S@P.FQIs
|
||
M(S(T.F-L/34P7$5;.TA<15LR2CIS9CTU7$5$.EP*6 DZ;&4]7D@Z8G,Z86TZr
|
||
M8VT]-5Q%6R5I)60[)61(.FYD/3)<15M#.G5P/3)<15M!.EP*6 DZ8V4],UQ%q
|
||
M6TLZ8V0]-3!<15M*.G-O/3)<15LW;3IS93TR7$5;;3IU<STR7$5;-&TZ=64]p
|
||
M,EQ%6VTZ7 I8"3IM9#TR7$5;,6TZ;7(],EQ%6S=M.FUB/3)<15LU;3IM93TRo
|
||
M7$5;;3II<SU<15LQ.S(T<EQ%6S(T.S%(.EP*6 DZ<F8]+W5S<B]S:&%R92]Ln
|
||
M:6(O=&%B<V5T+W9T,3 P.EP*6 DZ<G,]7$4^7$5;/S-L7$5;/S1L7$5;/S5Lm
|
||
M7$5;/S=H7$5;/SAH.FMS/5Q%6S\Q:%Q%/3IK93U<15L_,6Q<13XZ7 I8"3IKl
|
||
M=3U<14]!.FMD/5Q%3T(Z:W(]7$5/0SIK;#U<14]$.FMB/5Y(.EP*6 DZ:&\]k
|
||
M7$5;2#IK,3U<14]0.FLR/5Q%3U$Z:S,]7$5/4CIK-#U<14]3.G!T.G-R/35<j
|
||
M14TZ=G0C,SIX;CI<"E@).G-C/5Q%-SIR8SU<13@Z8W,]7$5;)6DE9#LE9'(Zi
|
||
M"E@C"E@C(&]K+"!,:6YU>"!H87-N)W0@>65T(&$@8V]M<&QE=&4@=G0Q,# Lh
|
||
M('-O('=E(&IU<W0@=7-E('1H92!F96%T=7)E<PI8(R!A=F%I;&%B;&4N(%1Hg
|
||
M:7,@<VAO=6QD(&AO<&5F=6QL>2!C:&%N9V4N($YO=&4A(%=E(&%L<V\@8VAAf
|
||
M;F=E('1H90I8(R!N<B!O9B!L:6YE<R!T;R R-2X@5V4@9&]N)W0@;F5E9"!Ne
|
||
M;R!S=&5E;FMI;F<@=V%I=',@96ET:&5R("AA;F0@20I8(R!D;VXG="!T:&ENd
|
||
M:R!W92!E=F5N(&-O=6QD(&AA;F1L92!T:&5M+"!E:71H97(@:6X@=&AE('1Ec
|
||
M<FUC87 @;W(@:6X*6",@=&AE(&-O;G-O;&4@9')I=F5R*0I8(PI8(R!C;" Mb
|
||
M(&-L96%R('-C<F5E;@I8(R!S9B M('-C<F]L;"!F;W)W87)D"E@C(&QE("T@a
|
||
M;&5F= I8(R!A;2 M(&%U=&\M=W)A<" H9FQA9RD*6",@>&X@+2!I9VYO<F4@z
|
||
M;FP@870@96YD(&]F(&QI;F4@*&9L86<I"E@C(&-E("T@8VQE87(@=&\@96YDy
|
||
M(&]F(&QI;F4*6",@8V0@+2!C;&5A<B!D;W=N"E@C(&-M("T@8W5R<V]R(&UOx
|
||
M=F4*6",@;F0@+2!N97AT(&0_("AR:6=H="D*6",@=7 @+2!U< I8(R!D;R Mw
|
||
M(&1O=VX*6",@=7,@+2!U;F1E<FQI;F4@<V5T"E@C('5E("T@=6YD97)L:6YEv
|
||
M(&]F9@I8(R!S;R M(')E=F5R<V4*6",@<V4@+2!N;W)M86P*6",@;60@+2!Du
|
||
M:6T*6",@;7(@+2!R979E<G-E"E@C(&UB("T@8F]L9 I89'5M8GQC;VYS;VQEt
|
||
M.EP*6 DZ9&\]7DHZ8V\C.# Z;&DC,C4Z8VP]7$5;2%Q%6THZ<V8]7$5$.EP*s
|
||
M6 DZ;&4]7D@Z8G,Z86TZ8VT]7$5;)6DE9#LE9$@Z;F0]7$5;0SIU<#U<15M!r
|
||
M.EP*6 DZ8V4]7$5;2SIC9#U<15M*.G-O/5Q%6S=M.G-E/5Q%6VTZ=7,]7$5;q
|
||
M-&TZ=64]7$5;;3I<"E@).FUD/5Q%6S%M.FUR/5Q%6S=M.FUB/5Q%6S5M.FUEp
|
||
M/5Q%6VTZ:7,]7$5;,3LR-7)<15LR-3LQ2#I<"E@).FET(S@Z:W4]7$5;03IKo
|
||
M9#U<15M".FMR/5Q%6T,Z:VP]7$5;1#IK8CU>2#I<"E@).FAO/5Q%6T@Z:S$]n
|
||
M7$5/4#IK,CU<14]1.FLS/5Q%3U(Z:S0]7$5/4SIP=#IS<CU<14TZ=G0C,SIXm
|
||
M;CI<"E@).G-C/5Q%-SIR8SU<13@Z8W,]7$5;)6DE9#LE9'(Z"E@C"EAD=6UBl
|
||
M-3!\8V]N<V]L934P.EP*6 DZ9&\]7DHZ8V\C.# Z;&DC-3 Z8VP]7$5;2%Q%k
|
||
M6THZ<V8]7$5$.EP*6 DZ;&4]7D@Z8G,Z86TZ8VT]7$5;)6DE9#LE9$@Z;F0]j
|
||
M7$5;0SIU<#U<15M!.EP*6 DZ8V4]7$5;2SIC9#U<15M*.G-O/5Q%6S=M.G-Ei
|
||
M/5Q%6VTZ=7,]7$5;-&TZ=64]7$5;;3I<"E@).FUD/5Q%6S%M.FUR/5Q%6S=Mh
|
||
M.FUB/5Q%6S5M.FUE/5Q%6VTZ:7,]7$5;,3LU,')<15LU,#LQ2#I<"E@).FETg
|
||
M(S@Z:W4]7$5;03IK9#U<15M".FMR/5Q%6T,Z:VP]7$5;1#IK8CU>2#I<"E@)f
|
||
M.FAO/5Q%6T@Z:S$]7$5/4#IK,CU<14]1.FLS/5Q%3U(Z:S0]7$5/4SIP=#ISe
|
||
M<CU<14TZ=G0C,SIX;CI<"E@).G-C/5Q%-SIR8SU<13@Z8W,]7$5;)6DE9#LEd
|
||
M9'(Z"B\*96-H;R!X("T@=F,N8V1I9@IS960@)R]>6"]S+R\O)R ^('9C+F-Dc
|
||
M:68@/#P@)R\G"E@J*BH@:V5R;F5L+V-H<E]D<G8O8V]N<V]L92YC+F]R:6<)b
|
||
M5'5E($1E8R Q," P,#HU,SHR." Q.3DQ"E@M+2T@:V5R;F5L+V-H<E]D<G8Oa
|
||
M8V]N<V]L92YC"4UO;B!$96,@,C,@,C(Z-38Z,SD@,3DY,0I8*BHJ*BHJ*BHJz
|
||
M*BHJ*BHJ"E@J*BH@,S$L,S8@*BHJ*@I8+2TM(#,Q+#,W("TM+2T*6" @(VENy
|
||
M8VQU9&4@/&QI;G5X+W1T>2YH/@I8(" C:6YC;'5D92 \87-M+VEO+F@^"E@@x
|
||
M("-I;F-L=61E(#QA<VTO<WES=&5M+F@^"E@K("-I;F-L=61E(#QS=')I;F<Nw
|
||
M:#X*6" @"E@@("\J"E@@(" J(%1H97-E(&%R92!S970@=7 @8GD@=&AE('-Ev
|
||
M='5P+7)O=71I;F4@870@8F]O="UT:6UE.@I8*BHJ*BHJ*BHJ*BHJ*BHJ"E@Ju
|
||
M*BH@-#$L-#<@*BHJ*@I8(" C9&5F:6YE($]224=?5DE$14]?4$%'10D)*"HHt
|
||
M=6YS:6=N960@<VAO<G0@*BDP>#DP,# T*0I8(" C9&5F:6YE($]224=?5DE$s
|
||
M14]?34]$10D)*"@J*'5N<VEG;F5D('-H;W)T("HI,'@Y,# P-BD@)B P>&9Fr
|
||
M*0I8(" C9&5F:6YE($]224=?5DE$14]?0T],4R )*"@H*BAU;G-I9VYE9"!Sq
|
||
M:&]R=" J*3!X.3 P,#8I("8@,'AF9C P*2 ^/B X*0I8(2 C9&5F:6YE($]2p
|
||
M24=?5DE$14]?3$E.15,)*#(U*0I8(" C9&5F:6YE($]224=?5DE$14]?14=!o
|
||
M7T%8"2@J*'5N<VEG;F5D('-H;W)T("HI,'@Y,# P."D*6" @(V1E9FEN92!/n
|
||
M4DE'7U9)1$5/7T5'05]"6 DH*BAU;G-I9VYE9"!S:&]R=" J*3!X.3 P,&$Im
|
||
M"E@@("-D969I;F4@3U))1U]6241%3U]%1T%?0U@)*"HH=6YS:6=N960@<VAOl
|
||
M<G0@*BDP>#DP,#!C*0I8+2TM(#0R+#0X("TM+2T*6" @(V1E9FEN92!/4DE'k
|
||
M7U9)1$5/7U!!1T4)"2@J*'5N<VEG;F5D('-H;W)T("HI,'@Y,# P-"D*6" @j
|
||
M(V1E9FEN92!/4DE'7U9)1$5/7TU/1$4)"2@H*BAU;G-I9VYE9"!S:&]R=" Ji
|
||
M*3!X.3 P,#8I("8@,'AF9BD*6" @(V1E9FEN92!/4DE'7U9)1$5/7T-/3%,@h
|
||
M"2@H*"HH=6YS:6=N960@<VAO<G0@*BDP>#DP,# V*2 F(#!X9F8P,"D@/CX@g
|
||
M."D*6"$@(V1E9FEN92!/4DE'7U9)1$5/7TQ)3D53"2@U,"D*6" @(V1E9FENf
|
||
M92!/4DE'7U9)1$5/7T5'05]!6 DH*BAU;G-I9VYE9"!S:&]R=" J*3!X.3 Pe
|
||
M,#@I"E@@("-D969I;F4@3U))1U]6241%3U]%1T%?0E@)*"HH=6YS:6=N960@d
|
||
M<VAO<G0@*BDP>#DP,#!A*0I8(" C9&5F:6YE($]224=?5DE$14]?14=!7T-8c
|
||
M"2@J*'5N<VEG;F5D('-H;W)T("HI,'@Y,# P8RD*6"HJ*BHJ*BHJ*BHJ*BHJb
|
||
M*@I8*BHJ(#4W+#@P("HJ*BH*6" @"E@@('-T871I8R!U;G-I9VYE9"!C:&%Ra
|
||
M"79I9&5O7W1Y<&4["0DO*B!4>7!E(&]F(&1I<W!L87D@8F5I;F<@=7-E9 DJz
|
||
M+PI8("!S=&%T:6,@=6YS:6=N960@;&]N9PEV:61E;U]N=6U?8V]L=6UN<SL)y
|
||
M+RH@3G5M8F5R(&]F('1E>'0@8V]L=6UN<PDJ+PI8("!S=&%T:6,@=6YS:6=Nx
|
||
M960@;&]N9PEV:61E;U]S:7IE7W)O=SL)"2\J($)Y=&5S('!E<B!R;W<)"2HOw
|
||
M"E@@('-T871I8R!U;G-I9VYE9"!L;VYG"79I9&5O7VYU;5]L:6YE<SL)+RH@v
|
||
M3G5M8F5R(&]F('1E<W0@;&EN97,)"2HO"E@@('-T871I8R!U;G-I9VYE9"!Cu
|
||
M:&%R"79I9&5O7W!A9V4["0DO*B!);FET:6%L('9I9&5O('!A9V4)"2HO"E@Mt
|
||
M('-T871I8R!U;G-I9VYE9"!L;VYG"79I9&5O7VUE;5]S=&%R=#L)+RH@4W1As
|
||
M<G0@;V8@=FED96\@4D%-"0DJ+PI8+2!S=&%T:6,@=6YS:6=N960@;&]N9PEVr
|
||
M:61E;U]M96U?96YD.PD)+RH@16YD(&]F('9I9&5O(%)!32 H<V]R="!O9BD)q
|
||
M*B\*6" @<W1A=&EC('5N<VEG;F5D('-H;W)T"79I9&5O7W!O<G1?<F5G.PD)p
|
||
M+RH@5FED96\@<F5G:7-T97(@<V5L96-T('!O<G0)*B\*6" @<W1A=&EC('5No
|
||
M<VEG;F5D('-H;W)T"79I9&5O7W!O<G1?=F%L.PD)+RH@5FED96\@<F5G:7-Tn
|
||
M97(@=F%L=64@<&]R= DJ+PI8(2!S=&%T:6,@=6YS:6=N960@<VAO<G0)=FEDm
|
||
M96]?97)A<V5?8VAA<CL)+RH@0VAA<BM!='1R:6(@=&\@97)A<V4@=VET: DJl
|
||
M+PI8(" *6"$@<W1A=&EC('5N<VEG;F5D(&QO;F<);W)I9VEN.PD)+RH@57-Ek
|
||
M9"!F;W(@14=!+U9'02!F87-T('-C<F]L; DJ+PI8(2!S=&%T:6,@=6YS:6=Nj
|
||
M960@;&]N9PES8W)?96YD.PDO*B!5<V5D(&9O<B!%1T$O5D=!(&9A<W0@<V-Ri
|
||
M;VQL"2HO"E@A('-T871I8R!U;G-I9VYE9"!L;VYG"7!O<SL*6"$@<W1A=&ECh
|
||
M('5N<VEG;F5D(&QO;F<)>"QY.PI8(2!S=&%T:6,@=6YS:6=N960@;&]N9PETg
|
||
M;W L8F]T=&]M.PI8(2!S=&%T:6,@=6YS:6=N960@;&]N9PES=&%T93TP.PI8f
|
||
M(2!S=&%T:6,@=6YS:6=N960@;&]N9PEN<&%R+'!A<EM.4$%273L*6"$@<W1Ae
|
||
M=&EC('5N<VEG;F5D(&QO;F<)<75E<STP.PI8(2!S=&%T:6,@=6YS:6=N960@d
|
||
M8VAA<@EA='1R/3!X,#<["E@@( I8("!S=&%T:6,@=F]I9"!S>7-B965P*'9Oc
|
||
M:60I.PI8(" *6"TM+2 U."PQ,3@@+2TM+0I8(" *6" @<W1A=&EC('5N<VEGb
|
||
M;F5D(&-H87()=FED96]?='EP93L)"2\J(%1Y<&4@;V8@9&ES<&QA>2!B96ENa
|
||
M9R!U<V5D"2HO"E@@('-T871I8R!U;G-I9VYE9"!L;VYG"79I9&5O7VYU;5]Cz
|
||
M;VQU;6YS.PDO*B!.=6UB97(@;V8@=&5X="!C;VQU;6YS"2HO"E@K('-T871Iy
|
||
M8R!U;G-I9VYE9"!L;VYG"79I9&5O7VUE;5]B87-E.PD)+RH@0F%S92!O9B!Vx
|
||
M:61E;R!M96UO<GD@*B\*6"L@<W1A=&EC('5N<VEG;F5D(&QO;F<)=FED96]?w
|
||
M;65M7W1E<FT["0DO*B!%;F0@;V8@=FED96\@;65M;W)Y("HO"E@@('-T871Iv
|
||
M8R!U;G-I9VYE9"!L;VYG"79I9&5O7W-I>F5?<F]W.PD)+RH@0GET97,@<&5Ru
|
||
M(')O=PD)*B\*6" @<W1A=&EC('5N<VEG;F5D(&QO;F<)=FED96]?;G5M7VQIt
|
||
M;F5S.PDO*B!.=6UB97(@;V8@=&5S="!L:6YE<PD)*B\*6" @<W1A=&EC('5Ns
|
||
M<VEG;F5D(&-H87()=FED96]?<&%G93L)"2\J($EN:71I86P@=FED96\@<&%Gr
|
||
M90D)*B\*6" @<W1A=&EC('5N<VEG;F5D('-H;W)T"79I9&5O7W!O<G1?<F5Gq
|
||
M.PD)+RH@5FED96\@<F5G:7-T97(@<V5L96-T('!O<G0)*B\*6" @<W1A=&ECp
|
||
M('5N<VEG;F5D('-H;W)T"79I9&5O7W!O<G1?=F%L.PD)+RH@5FED96\@<F5Go
|
||
M:7-T97(@=F%L=64@<&]R= DJ+PI8(2!S=&%T:6,@:6YT(&-A;F1O8V]L;W(@n
|
||
M/2 P.PI8(" *6"$@(V1E9FEN92!-05A?4T-27U)/5U,@-3 *6"$@(V1E9FENm
|
||
M92!-05A?4T-27T-/3%,@.# *6"$@(V1E9FEN92!30U)?0TA!4E,@*$U!6%]3l
|
||
M0U)?4D]74R J($U!6%]30U)?0T],4RD*6"$@(V1E9FEN92!30U)?4TE:12 Hk
|
||
M=FED96]?<VEZ95]R;W<J=FED96]?;G5M7VQI;F5S*0I8(2!S=&%T:6,@<W1Rj
|
||
M=6-T('L*6"$@("!U;G-I9VYE9"!C:&%R"79C7V%T='(["E@A(" @=6YS:6=Ni
|
||
M960@8VAA<@EV8U]D969?871T<CL*6"$@("!U;G-I9VYE9"!L;VYG"79C7W%Uh
|
||
M97,["E@A(" @=6YS:6=N960@;&]N9PEV8U]S=&%T93L*6"$@("!U;G-I9VYEg
|
||
M9"!L;VYG"79C7V]R:6=I;CL)"2\J(%5S960@9F]R($5'02]61T$@9F%S="!Sf
|
||
M8W)O;&P)*B\*6"$@("!U;G-I9VYE9"!L;VYG"79C7W-C<E]E;F0["2\J(%5Se
|
||
M960@9F]R($5'02]61T$@9F%S="!S8W)O;&P)*B\*6"$@("!U;G-I9VYE9"!Ld
|
||
M;VYG"79C7W!O<SL*6"$@("!U;G-I9VYE9"!L;VYG"79C7W@L=F-?>3L*6"$@c
|
||
M("!U;G-I9VYE9"!L;VYG"79C7W1O<"QV8U]B;W1T;VT["E@A(" @=6YS:6=Nb
|
||
M960@;&]N9PEV8U]N<&%R+'9C7W!A<EM.4$%273L*6"$@("!U;G-I9VYE9"!La
|
||
M;VYG"79C7W9I9&5O7VUE;5]S=&%R=#L)+RH@4W1A<G0@;V8@=FED96\@4D%-z
|
||
M"0DJ+PI8(2 @('5N<VEG;F5D(&QO;F<)=F-?=FED96]?;65M7V5N9#L)"2\Jy
|
||
M($5N9"!O9B!V:61E;R!204T@*'-O<G0@;V8I"2HO"E@A(" @=6YS:6=N960@x
|
||
M=F-?<V%V961?>#L*6"$@("!U;G-I9VYE9"!V8U]S879E9%]Y.PI8(2 @('5Nw
|
||
M<VEG;F5D('-H;W)T"79C7W9I9&5O7V5R87-E7V-H87(["0I8(2 @(&EN="!Vv
|
||
M8U]I<V-O;&]R.PI8(2!]('9C7V-O;G,@6TY27T-/3E-/3$5373L*6"$@<W1Au
|
||
M=&EC('-T<G5C="!["E@A(" @=6YS:6=N960@<VAO<G0@<V-R965N6U-#4E]#t
|
||
M2$%24UT["E@A('T@=F-?<V-R8G5F6TY27T-/3E-/3$5373L*6"$@"E@A("-Ds
|
||
M969I;F4@;W)I9VEN"2AV8U]C;VYS6V-U<G)C;VYS72YV8U]O<FEG:6XI"E@Ar
|
||
M("-D969I;F4@<V-R7V5N9 DH=F-?8V]N<UMC=7)R8V]N<UTN=F-?<V-R7V5Nq
|
||
M9"D*6"$@(V1E9FEN92!P;W,)*'9C7V-O;G-;8W5R<F-O;G-=+G9C7W!O<RD*p
|
||
M6"$@(V1E9FEN92!T;W )*'9C7V-O;G-;8W5R<F-O;G-=+G9C7W1O<"D*6"$@o
|
||
M(V1E9FEN92!B;W1T;VT)*'9C7V-O;G-;8W5R<F-O;G-=+G9C7V)O='1O;2D*n
|
||
M6"$@(V1E9FEN92!X"2AV8U]C;VYS6V-U<G)C;VYS72YV8U]X*0I8(2 C9&5Fm
|
||
M:6YE('D)*'9C7V-O;G-;8W5R<F-O;G-=+G9C7WDI"E@A("-D969I;F4@<W1Al
|
||
M=&4)*'9C7V-O;G-;8W5R<F-O;G-=+G9C7W-T871E*0I8(2 C9&5F:6YE(&YPk
|
||
M87()*'9C7V-O;G-;8W5R<F-O;G-=+G9C7VYP87(I"E@A("-D969I;F4@<&%Rj
|
||
M"2AV8U]C;VYS6V-U<G)C;VYS72YV8U]P87(I"E@A("-D969I;F4@<75E<PDHi
|
||
M=F-?8V]N<UMC=7)R8V]N<UTN=F-?<75E<RD*6"$@(V1E9FEN92!A='1R"2AVh
|
||
M8U]C;VYS6V-U<G)C;VYS72YV8U]A='1R*0I8(2 C9&5F:6YE('-A=F5D7W@)g
|
||
M*'9C7V-O;G-;8W5R<F-O;G-=+G9C7W-A=F5D7W@I"E@A("-D969I;F4@<V%Vf
|
||
M961?>0DH=F-?8V]N<UMC=7)R8V]N<UTN=F-?<V%V961?>2D*6"$@(V1E9FENe
|
||
M92!V:61E;U]M96U?<W1A<G0)*'9C7V-O;G-;8W5R<F-O;G-=+G9C7W9I9&5Od
|
||
M7VUE;5]S=&%R="D*6"$@(V1E9FEN92!V:61E;U]M96U?96YD("AV8U]C;VYSc
|
||
M6V-U<G)C;VYS72YV8U]V:61E;U]M96U?96YD*0I8(2 C9&5F:6YE(&1E9E]Ab
|
||
M='1R"2AV8U]C;VYS6V-U<G)C;VYS72YV8U]D969?871T<BD*6"$@(V1E9FENa
|
||
M92!V:61E;U]E<F%S95]C:&%R(" H=F-?8V]N<UMC=7)R8V]N<UTN=F-?=FEDz
|
||
M96]?97)A<V5?8VAA<BD)"E@A("-D969I;F4@:7-C;VQO<B H=F-?8V]N<UMCy
|
||
M=7)R8V]N<UTN=F-?:7-C;VQO<BD*6"$@:6YT(&9G7V-O;G-O;&4@/2 P.PI8x
|
||
M(" *6" @<W1A=&EC('9O:60@<WES8F5E<"AV;VED*3L*6" @"E@J*BHJ*BHJw
|
||
M*BHJ*BHJ*BH*6"HJ*B X-2PY,2 J*BHJ"E@@("-D969I;F4@4D534$].4T4@v
|
||
M(EPP,S-;/S$[,F,B"E@@( I8(" O*B!.3U1%(2!G;W1O>'D@=&AI;FMS('@]u
|
||
M/79I9&5O7VYU;5]C;VQU;6YS(&ES(&]K("HO"E@A('-T871I8R!I;FQI;F4@t
|
||
M=F]I9"!G;W1O>'DH=6YS:6=N960@:6YT(&YE=U]X+'5N<VEG;F5D(&EN="!Ns
|
||
M97=?>2D*6" @>PI8(" ):68@*&YE=U]X(#X@=FED96]?;G5M7V-O;'5M;G,@r
|
||
M?'P@;F5W7WD@/CT@=FED96]?;G5M7VQI;F5S*0I8(" )"7)E='5R;CL*6"TMq
|
||
M+2 Q,C,L,3(Y("TM+2T*6" @(V1E9FEN92!215-03TY312 B7# S,UL_,3LRp
|
||
M8R(*6" @"E@@("\J($Y/5$4A(&=O=&]X>2!T:&EN:W,@>#T]=FED96]?;G5Mo
|
||
M7V-O;'5M;G,@:7,@;VL@*B\*6"$@<W1A=&EC(&EN;&EN92!V;VED(&=O=&]Xn
|
||
M>2AI;G0@8W5R<F-O;G,L(&EN="!N97=?>"QU;G-I9VYE9"!I;G0@;F5W7WDIm
|
||
M"E@@('L*6" @"6EF("AN97=?>" ^('9I9&5O7VYU;5]C;VQU;6YS('Q\(&YEl
|
||
M=U]Y(#X]('9I9&5O7VYU;5]L:6YE<RD*6" @"0ER971U<FX["E@J*BHJ*BHJk
|
||
M*BHJ*BHJ*BH*6"HJ*B Y-"PQ,# @*BHJ*@I8(" )<&]S/6]R:6=I;B K('DJj
|
||
M=FED96]?<VEZ95]R;W<@*R H>#P\,2D["E@@('T*6" @"E@A('-T871I8R!Ii
|
||
M;FQI;F4@=F]I9"!S971?;W)I9VEN*'9O:60I"E@@('L*6" @"6-L:2@I.PI8h
|
||
M(" );W5T8E]P*#$R+"!V:61E;U]P;W)T7W)E9RD["E@M+2T@,3,R+#$S." Mg
|
||
M+2TM"E@@( EP;W,];W)I9VEN("L@>2IV:61E;U]S:7IE7W)O=R K("AX/#PQf
|
||
M*3L*6" @?0I8(" *6"$@<W1A=&EC(&EN;&EN92!V;VED('-E=%]O<FEG:6XHe
|
||
M:6YT(&-U<G)C;VYS*0I8("!["E@@( EC;&DH*3L*6" @"6]U=&)?<"@Q,BP@d
|
||
M=FED96]?<&]R=%]R96<I.PI8*BHJ*BHJ*BHJ*BHJ*BHJ"E@J*BH@,3 T+#$Qc
|
||
M,B J*BHJ"E@@( ES=&DH*3L*6" @?0I8(" *6"$@<W1A=&EC('9O:60@<V-Rb
|
||
M=7 H=F]I9"D*6" @>PI8(2 ):68@*'9I9&5O7W1Y<&4@/3T@5DE$14]?5%E0a
|
||
M15]%1T%#('Q\('9I9&5O7W1Y<&4@/3T@5DE$14]?5%E015]%1T%-*0I8(" )z
|
||
M>PI8(" )"6EF("@A=&]P("8F(&)O='1O;2 ]/2!V:61E;U]N=6U?;&EN97,Iy
|
||
M('L*6" @"0D);W)I9VEN("L]('9I9&5O7W-I>F5?<F]W.PI8+2TM(#$T,BPQx
|
||
M-3$@+2TM+0I8(" )<W1I*"D["E@@('T*6" @"E@A('-T871I8R!V;VED('-Cw
|
||
M<G5P*&EN="!C=7)R8V]N<RD*6" @>PI8(2 ):68@*"AC=7)R8V]N<R ]/2!Fv
|
||
M9U]C;VYS;VQE*2 F)B *6"$@"2 @*"AV:61E;U]T>7!E(#T](%9)1$5/7U19u
|
||
M4$5?14=!0R!\?"!V:61E;U]T>7!E(#T](%9)1$5/7U194$5?14=!32DI*0I8t
|
||
M(" )>PI8(" )"6EF("@A=&]P("8F(&)O='1O;2 ]/2!V:61E;U]N=6U?;&ENs
|
||
M97,I('L*6" @"0D);W)I9VEN("L]('9I9&5O7W-I>F5?<F]W.PI8*BHJ*BHJr
|
||
M*BHJ*BHJ*BHJ"E@J*BH@,3,V+#$T,B J*BHJ"E@@( D)"0D)(D0B("AS8W)?q
|
||
M96YD+79I9&5O7W-I>F5?<F]W*0I8(" )"0D)"3HB8W@B+")D:2(I.PI8(" )p
|
||
M"0E]"E@A( D)"7-E=%]O<FEG:6XH*3L*6" @"0E](&5L<V4@>PI8(" )"0E?o
|
||
M7V%S;5]?*")C;&1<;EQT(@I8(" )"0D)(G)E<%QN7'0B"E@M+2T@,3<U+#$Xn
|
||
M,2 M+2TM"E@@( D)"0D)(D0B("AS8W)?96YD+79I9&5O7W-I>F5?<F]W*0I8m
|
||
M(" )"0D)"3HB8W@B+")D:2(I.PI8(" )"0E]"E@A( D)"7-E=%]O<FEG:6XHl
|
||
M8W5R<F-O;G,I.PI8(" )"7T@96QS92!["E@@( D)"5]?87-M7U\H(F-L9%QNk
|
||
M7'0B"E@@( D)"0DB<F5P7&Y<="(*6"HJ*BHJ*BHJ*BHJ*BHJ*@I8*BHJ(#$Vj
|
||
M-RPQ-S4@*BHJ*@I8(" )?0I8("!]"E@@( I8(2!S=&%T:6,@=F]I9"!S8W)Di
|
||
M;W=N*'9O:60I"E@@('L*6"$@"6EF("AV:61E;U]T>7!E(#T](%9)1$5/7U19h
|
||
M4$5?14=!0R!\?"!V:61E;U]T>7!E(#T](%9)1$5/7U194$5?14=!32D*6" @g
|
||
M"7L*6" @"0E?7V%S;5]?*")S=&1<;EQT(@I8(" )"0DB<F5P7&Y<="(*6"TMf
|
||
M+2 R,#8L,C$U("TM+2T*6" @"7T*6" @?0I8(" *6"$@<W1A=&EC('9O:60@e
|
||
M<V-R9&]W;BAI;G0@8W5R<F-O;G,I"E@@('L*6"$@"6EF("@H8W5R<F-O;G,@d
|
||
M/3T@9F=?8V]N<V]L92D@)B8@"E@A( D@("@H=FED96]?='EP92 ]/2!6241%c
|
||
M3U]465!%7T5'04,@?'P@=FED96]?='EP92 ]/2!6241%3U]465!%7T5'04TIb
|
||
M*2D*6" @"7L*6" @"0E?7V%S;5]?*")S=&1<;EQT(@I8(" )"0DB<F5P7&Y<a
|
||
M="(*6"HJ*BHJ*BHJ*BHJ*BHJ*@I8*BHJ(#(P,2PR,#<@*BHJ*@I8(" )?0I8z
|
||
M("!]"E@@( I8(2!S=&%T:6,@=F]I9"!L9BAV;VED*0I8("!["E@@( EI9B Hy
|
||
M>2LQ/&)O='1O;2D@>PI8(" )"7DK*SL*6"TM+2 R-#$L,C0W("TM+2T*6" @x
|
||
M"7T*6" @?0I8(" *6"$@<W1A=&EC('9O:60@;&8H:6YT(&-U<G)C;VYS*0I8w
|
||
M("!["E@@( EI9B H>2LQ/&)O='1O;2D@>PI8(" )"7DK*SL*6"HJ*BHJ*BHJv
|
||
M*BHJ*BHJ*@I8*BHJ(#(P."PR,3<@*BHJ*@I8(" )"7!O<R K/2!V:61E;U]Su
|
||
M:7IE7W)O=SL*6" @"0ER971U<FX["E@@( E]"E@A( ES8W)U<"@I.PI8("!]t
|
||
M"E@@( I8(2!S=&%T:6,@=F]I9"!R:2AV;VED*0I8("!["E@@( EI9B H>3YTs
|
||
M;W I('L*6" @"0EY+2T["E@M+2T@,C0X+#(U-R M+2TM"E@@( D)<&]S("L]r
|
||
M('9I9&5O7W-I>F5?<F]W.PI8(" )"7)E='5R;CL*6" @"7T*6"$@"7-C<G5Pq
|
||
M*&-U<G)C;VYS*3L*6" @?0I8(" *6"$@<W1A=&EC('9O:60@<FDH:6YT(&-Up
|
||
M<G)C;VYS*0I8("!["E@@( EI9B H>3YT;W I('L*6" @"0EY+2T["E@J*BHJo
|
||
M*BHJ*BHJ*BHJ*BH*6"HJ*B R,3@L,C,S("HJ*BH*6" @"0EP;W,@+3T@=FEDn
|
||
M96]?<VEZ95]R;W<["E@@( D)<F5T=7)N.PI8(" )?0I8(2 )<V-R9&]W;B@Im
|
||
M.PI8("!]"E@@( I8(2!S=&%T:6,@=F]I9"!C<BAV;VED*0I8("!["E@@( EPl
|
||
M;W,@+3T@>#P\,3L*6" @"7@],#L*6" @?0I8(" *6"$@<W1A=&EC('9O:60@k
|
||
M9&5L*'9O:60I"E@@('L*6" @"6EF("AX*2!["E@@( D)<&]S("T](#(["E@Mj
|
||
M+2T@,C4X+#(W,R M+2TM"E@@( D)<&]S("T]('9I9&5O7W-I>F5?<F]W.PI8i
|
||
M(" )"7)E='5R;CL*6" @"7T*6"$@"7-C<F1O=VXH8W5R<F-O;G,I.PI8("!]h
|
||
M"E@@( I8(2!S=&%T:6,@=F]I9"!C<BAI;G0@8W5R<F-O;G,I"E@@('L*6" @g
|
||
--[0231]--
|
||
|
||
[0232] daemon@ATHENA.MIT.EDU (Marc CORSINI) Linux_Activists 12/24/91 07:10 (26 lines)
|
||
Subject: gcc guru(s)?
|
||
Date: Tue, 24 Dec 91 13:00:19 EST
|
||
From: corsini@geocub.greco-prog.fr (Marc CORSINI)
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
|
||
Hi,
|
||
Does any body seen such a thing, an could explain (mail me directly if
|
||
it's not of general interest)
|
||
When compiling with the -O option i've got:
|
||
----
|
||
(insn /i 117 116 118 (parallel [
|
||
(set (reg: SI 2)
|
||
(reg:SI 2))
|
||
(clobber (reg:QI 5))
|
||
]) -1 (nil)
|
||
(expr-list:REG-DEAD
|
||
(reg:QI 5)
|
||
(nil)))
|
||
|
||
cc1 got fatal signal 6
|
||
---
|
||
Whilst without -O everything is fine (at least gcc compiles)
|
||
Remark I can't have (easily) the underscore so i've used - in REG-DEAD
|
||
|
||
Any clue?
|
||
[mmc]
|
||
--[0232]--
|
||
|
||
[0233] daemon@ATHENA.MIT.EDU (Peter MacDonald) Linux_Activists 12/24/91 21:27 (115 lines)
|
||
Subject: console fix, plus vt100 graphic char support
|
||
Date: Tue, 24 Dec 91 18:21:19 PST
|
||
From: pmacdona@sol.UVic.CA (Peter MacDonald)
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
|
||
The following patch fixes a bug in console that prevented saving
|
||
and restoring cursor position from working.
|
||
|
||
It also adds support for the vt100 graphics characters like
|
||
boxes, tees, lines etc. (Thus my all-in-one screen is correct.)
|
||
Now if I could just get the keyboard to act like a vt220...
|
||
|
||
Apply the patch to kernel/chr_drv/console.c, in addition to
|
||
my previous virtual consoles patch. BTW if anyone wants to
|
||
take a crack at making the character attributes work correctly
|
||
in all cases, be my guest.
|
||
|
||
|
||
pmacdona@sol.uvic.ca
|
||
|
||
table
|
||
!"#$%&'()*+,-./0123456789:;<=>?
|
||
@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_
|
||
begin 644 cons.cdif
|
||
M*BHJ(&-O;G,N,3$)5'5E($1E8R R-" P.3HQ-CHS,2 Q.3DQ"BTM+2!C;VYSz
|
||
M;VQE+F,)5'5E($1E8R R-" P.#HR,#HQ,2 Q.3DQ"BHJ*BHJ*BHJ*BHJ*BHJy
|
||
M*@HJ*BH@-S8L.#$@*BHJ*@HM+2T@-S8L.#(@+2TM+0H@(" @=6YS:6=N960@x
|
||
M8VAA<@EV8U]D969?871T<CL*(" @('5N<VEG;F5D(&QO;F<)=F-?<75E<SL*w
|
||
M(" @('5N<VEG;F5D(&QO;F<)=F-?<W1A=&4["BL@("!U;G-I9VYE9"!L;VYGv
|
||
M"79C7W)E<W1A=&4["B @("!U;G-I9VYE9"!L;VYG"79C7V]R:6=I;CL)"2\Ju
|
||
M(%5S960@9F]R($5'02]61T$@9F%S="!S8W)O;&P)*B\*(" @('5N<VEG;F5Dt
|
||
M(&QO;F<)=F-?<V-R7V5N9#L)+RH@57-E9"!F;W(@14=!+U9'02!F87-T('-Cs
|
||
M<F]L; DJ+PH@(" @=6YS:6=N960@;&]N9PEV8U]P;W,["BHJ*BHJ*BHJ*BHJr
|
||
M*BHJ*@HJ*BH@,3 Q+#$P-B J*BHJ"BTM+2 Q,#(L,3 X("TM+2T*(" C9&5Fq
|
||
M:6YE('@)*'9C7V-O;G-;8W5R<F-O;G-=+G9C7W@I"B @(V1E9FEN92!Y"2AVp
|
||
M8U]C;VYS6V-U<G)C;VYS72YV8U]Y*0H@("-D969I;F4@<W1A=&4)*'9C7V-Oo
|
||
M;G-;8W5R<F-O;G-=+G9C7W-T871E*0HK("-D969I;F4@<F5S=&%T90DH=F-?n
|
||
M8V]N<UMC=7)R8V]N<UTN=F-?<F5S=&%T92D*(" C9&5F:6YE(&YP87()*'9Cm
|
||
M7V-O;G-;8W5R<F-O;G-=+G9C7VYP87(I"B @(V1E9FEN92!P87()*'9C7V-Ol
|
||
M;G-;8W5R<F-O;G-=+G9C7W!A<BD*(" C9&5F:6YE('%U97,)*'9C7V-O;G-;k
|
||
M8W5R<F-O;G-=+G9C7W%U97,I"BHJ*BHJ*BHJ*BHJ*BHJ*@HJ*BH@,S<P+#,Wj
|
||
M-2 J*BHJ"BTM+2 S-S(L,S@W("TM+2T*(" )"7T*("!]"B @"BL@<W1A=&ECi
|
||
M(&-H87(@8W-I7V=R87!H*&EN="!C=7)R8V]N<RP@8VAA<B!C:" I"BL@>PHKh
|
||
M(" @8VAA<B J=F%L+" J86,]"BL@(C!<,S,S85PR-C%H7# T,$E<,#$W8%PPg
|
||
M,#1F7#,W,&=<,S8Q:EPS,S%K7#(W-VQ<,S,R;5PS,#!N7#,P-7%<,S T=%PSf
|
||
M,#-U7#(V-'9<,S Q=UPS,#)X7#(V,WY<,#(U(CL**R @(&EF("AV86P@/2!Se
|
||
M=')C:'(H86,L8V@I*0HK(" @("!R971U<FXH*BAV86PK,2DI.PHK(" @<F5Td
|
||
M=7)N*# I.R **R **R!]"BL@"B @<W1A=&EC(&EN;&EN92!V;VED('-E=%]Cc
|
||
M=7)S;W(H:6YT(&-U<G)C;VYS*0H@('L*(" ):68@*&-U<G)C;VYS("$](&9Gb
|
||
M7V-O;G-O;&4I"BHJ*BHJ*BHJ*BHJ*BHJ*@HJ*BH@-3 U+#4Q,2 J*BHJ"B @a
|
||
M=F]I9"!C;VY?=W)I=&4H<W1R=6-T('1T>5]S=')U8W0@*B!T='DI"B @>PH@z
|
||
M( EI;G0@;G(["B$@"6-H87(@8SL*(" *(" ):6YT(&-U<G)C;VYS.PH@(" @y
|
||
M(" @"BTM+2 U,3<L-3(S("TM+2T*("!V;VED(&-O;E]W<FET92AS=')U8W0@x
|
||
M='1Y7W-T<G5C=" J('1T>2D*("R8V]N<SL*(" @(" @( HJ*BHJ*BHJ*BHJv
|
||
M*BHJ*BH**BHJ(#4V-"PU-S @*BHJ*@H@( D)"0D)<WES8F5E<"@I.PH@( D)u
|
||
M"0EB<F5A:SL*(" )"0EC87-E(#$Z"B$@"0D)"7-T871E/3 ["B @"0D)"6EFt
|
||
M("AC/3TG6R<I"B @"0D)"0ES=&%T93TR.PH@( D)"0EE;'-E(&EF("AC/3TGs
|
||
M12<I"BTM+2 U-S8L-3@R("TM+2T*(" )"0D)"7-Y<V)E97 H*3L*(" )"0D)r
|
||
M8G)E86L["B @"0D)8V%S92 Q.@HA( D)"0ES=&%T93UR97-T871E.PH@( D)q
|
||
M"0EI9B H8ST])ULG*0H@( D)"0D)<W1A=&4],CL*(" )"0D)96QS92!I9B Hp
|
||
M8ST])T4G*0HJ*BHJ*BHJ*BHJ*BHJ*BH**BHJ(#4W-2PU.#0@*BHJ*@H@( D)o
|
||
M"0D);&8H8W5R<F-O;G,I.PH@( D)"0EE;'-E(&EF("AC/3TG6B<I"B @"0D)n
|
||
M"0ER97-P;VYD*&-U<G)C;VYS+'1T>2D["B$@"0D)"65L<V4@:68@*'@]/2<Wm
|
||
M)RD*(" )"0D)"7-A=F5?8W5R*&-U<G)C;VYS*3L*(2 )"0D)96QS92!I9B Hl
|
||
M>#T])S@G*0H@( D)"0D)<F5S=&]R95]C=7(H8W5R<F-O;G,I.PH@( D)"0EBk
|
||
M<F5A:SL*(" )"0EC87-E(#(Z"B @"0D)"69O<BAN<&%R/3 [;G!A<CQ.4$%2j
|
||
M.VYP87(K*RD*+2TM(#4X-RPU.3@@+2TM+0H@( D)"0D);&8H8W5R<F-O;G,Ii
|
||
M.PH@( D)"0EE;'-E(&EF("AC/3TG6B<I"B @"0D)"0ER97-P;VYD*&-U<G)Ch
|
||
M;VYS+'1T>2D["B$@"0D)"65L<V4@:68@*&,]/2<W)RD*(" )"0D)"7-A=F5?g
|
||
M8W5R*&-U<G)C;VYS*3L*(2 )"0D)96QS92!I9B H8ST])S@G*0H@( D)"0D)f
|
||
M<F5S=&]R95]C=7(H8W5R<F-O;G,I.PHK( D)"0EE;'-E(&EF("AC(#T]("<He
|
||
M)R!\?"!C(#T]("<I)RD**R )"0D)("!S=&%T92 ](#8["0D*(" )"0D)8G)Ed
|
||
M86L["B @"0D)8V%S92 R.@H@( D)"0EF;W(H;G!A<CTP.VYP87(\3E!!4CMNc
|
||
M<&%R*RLI"BHJ*BHJ*BHJ*BHJ*BHJ*@HJ*BH@-C P+#8P-B J*BHJ"B @"0D)b
|
||
M"0EB<F5A:SL*(" )"0D)?2!E;'-E('-T871E/30["B @"0D)8V%S92 T.@HAa
|
||
M( D)"0ES=&%T93TP.PH@( D)"0ES=VET8V@H8RD@>PH@( D)"0D)8V%S92 Gz
|
||
M1R<Z(&-A<V4@)V G.@H@( D)"0D)"6EF("AP87);,%TI('!A<ELP72TM.PHMy
|
||
M+2T@-C$T+#8R," M+2TM"B @"0D)"0EB<F5A:SL*(" )"0D)?2!E;'-E('-Tx
|
||
M871E/30["B @"0D)8V%S92 T.@HA( D)"0ES=&%T93UR97-T871E.PH@( D)w
|
||
M"0ES=VET8V@H8RD@>PH@( D)"0D)8V%S92 G1R<Z(&-A<V4@)V G.@H@( D)v
|
||
M"0D)"6EF("AP87);,%TI('!A<ELP72TM.PHJ*BHJ*BHJ*BHJ*BHJ*BH**BHJu
|
||
M(#8X,"PV.#4@*BHJ*@HM+2T@-CDT+#<U,2 M+2TM"B @"0D)8V%S92 U.@H@t
|
||
M( D)"2 @("\J($9U;F-T:6]N($ME>2 J+PH@( D)"2 @8G)E86L["BL@"0D)s
|
||
M8V%S92 V.@HK( D)"2 @:68@*&,@/3T@)S G*0HK( D)"2 @>R!S=&%T92 ]r
|
||
M( HK( D)"2 @("!R97-T871E(#T@-SL**R )"0D@('T**R )"0D@(&5L<V4*q
|
||
M*R )"0D@(&EF("AC(#T]("=")RD**R )"0D@('L@<W1A=&4@/2 **R )"0D@p
|
||
M(" @<F5S=&%T92 ](# ["BL@"0D)("!]"BL@"0D)("!B<F5A:SL**R )"0ECo
|
||
M87-E(#<Z"BL@"0D)("!I9B H8R ]/2 Q-2D**R )"0D@('L@<W1A=&4@/2 *n
|
||
M*R )"0D@(" @<F5S=&%T92 ](#D["BL@"0D)(" @(&)R96%K.PHK( D)"2 @m
|
||
M?2 @"BL@"0D)("!E;'-E"BL@"0D)(" @(&-H(#T@8W-I7V=R87!H*&-U<G)Cl
|
||
M;VYS+&,I.R @"BL@"0D)8V%S92 Y.B @(" **R )"0D@(&EF("AC(#T](#$Tk
|
||
M*0HK( D)"2 @>R!S=&%T92 ]( HK( D)"2 @("!R97-T871E(#T@-SL**R )j
|
||
M"0D@(" @8G)E86L["BL@"0D)("!]"BL@"0D)("!E;'-E(&EF("AC(#T](#(Wi
|
||
M*0HK( D)"2 @>R!S=&%T92 ](#$["BL@"0D)(" @(&)R96%K.PHK( D)"2 @h
|
||
M?0HK( D)"2 @96QS92 @"BL@"0D)("!I9B H<W1A=&4@/3T@.2D**R )"0D@g
|
||
M('L@:68@*&,^,S$@)B8@8SPQ,C<I( HK( D)"2 @(" @(&-H(#T@8SL**R )f
|
||
M"0D@(" @96QS90HK( D)"2 @(" @(&)R96%K.PHK( D)"2 @?2 @"BL@"0D)e
|
||
M8V%S92 Q,#H**R )"0D@(&EF("AC:"D**R )"0D):68@*'@^/79I9&5O7VYUd
|
||
M;5]C;VQU;6YS*2"0D)<&]S("T]('9I9&5O7W-I>F5?<F]W.PHK( D)"0D);&8H8W5R<F-Ob
|
||
M;G,I.PHK( D)"0E]"BL@"0D)"5]?87-M7U\H(FUO=F(@7VUY871T<BPE)6%Ha
|
||
M7&Y<="(**R )"0D)"2)M;W9W("4E87@L)3%<;EQT(@HK( D)"0D).CHB82(@z
|
||
M*&-H*2PB;2(@*"HH<VAO<G0@*BEP;W,I"BL@"0D)"0DZ(F%X(BD["BL@"0D)y
|
||
M"7!O<R K/2 R.PHK( D)"0EX*RL["BL@"0D)("!B<F5A:SL**R )"0D@(" @x
|
||
M(" **R )"0D@( H@( D)?0H@( E]"B @"7-E=%]C=7)S;W(H8W5R<F-O;G,Iw
|
||
M.PHJ*BHJ*BHJ*BHJ*BHJ*BH**BHJ(#<V-2PW-S$@*BHJ*@H@( EB;W1T;VT)v
|
||
M/2!V:61E;U]N=6U?;&EN97,["B @(" )871T<CTP># W.PH@(" @"61E9E]Au
|
||
M='1R/3!X,#<["B$@(" @(" @("!S=&%T93TP.PH@( EQ=65S(#T@,#L*(" )t
|
||
M:7-C;VQO<B ](# ["B @"BTM+2 X,S$L.#,W("TM+2T*(" )8F]T=&]M"3T@s
|
||
M=FED96]?;G5M7VQI;F5S.PH@(" @"6%T='(],'@P-SL*(" @( ED969?871Tr
|
||
M<CTP># W.PHA(" @(" @(" @<F5S=&%T92 ]('-T871E/3 ["B @"7%U97,@q
|
||
8/2 P.PH@( EI<V-O;&]R(#T@,#L*(" *p
|
||
o
|
||
end
|
||
--[0233]--
|
||
|
||
[0234] daemon@ATHENA.MIT.EDU (Ari Lemmke) Linux_Activists 12/25/91 19:40 (47 lines)
|
||
Subject: remove linux.tex ... FTP ... mailing lists .. news groups
|
||
Date: Thu, 26 Dec 1991 02:33:17 +0200
|
||
From: Ari Lemmke <arl@zen.cs.hut.fi>
|
||
To: linux-activists@joker.cs.hut.fi
|
||
In-Reply-To: Linus Benedict Torvalds's message of Wed, 25 Dec 1991 18:09:12 +0200 <199112251609.AA08539@kruuna.helsinki.fi>
|
||
|
||
|
||
Linus:
|
||
>I got a request that the ftp-sites shouldn't contain some very
|
||
>out-of-date information: Linux.tex was the file mentioned ...
|
||
|
||
I removed Linux.tex from nic.funet.fi (actually all old
|
||
versions are available from directory 'testing' .. that is
|
||
not visible althought .. possible to see it in file 'ls-laR').
|
||
|
||
It's possible to FTP put stuff to nic.funet.fi ;-) to
|
||
either main directory or 'incoming' directory ...
|
||
|
||
I prefer the authors put their work to FTP sites like
|
||
nic.funet.fi and release them on mailing list.
|
||
For those who don't have FTP, there's
|
||
|
||
'mail-server@nic.funet.fi'
|
||
|
||
so, everyone is served (just send a mail to it with body
|
||
containing 'help'). FTP site is nic.funet.fi:/pub/OS/Linux
|
||
|
||
We should limit sources on mailing list (just the traffic
|
||
is getting BIGger) .. and the FTP users of nic.funet.fi won't
|
||
get sources sent to the mailing list .. because I don't have
|
||
time (and will) to take sources out of mails (sorry) ..
|
||
|
||
It might also be time to start comp.os.linux? Who's willing
|
||
to handle voting etc.? We might 'steal' comp.os.misc too ...
|
||
|
||
I would like to spit the mailing list to two parts
|
||
'users' i.e. activists and 'hackers' .. those who
|
||
contribute patches and create new code instead of
|
||
asking quite trivial questions i.e. like
|
||
'why my PC won't work?', 'how should I partition my
|
||
20 MB disk?' etc.
|
||
|
||
Comments?
|
||
|
||
arl
|
||
|
||
|
||
|
||
--[0234]--
|
||
|
||
[0235] daemon@ATHENA.MIT.EDU (Wolfgang Thiel) Linux_Activists 12/25/91 21:23 (19 lines)
|
||
Subject: Porting g++ 1.40.3
|
||
Date: Thu, 26 Dec 91 04:02:45 CET
|
||
From: Wolfgang Thiel <UPSYF108@comparex.hrz.uni-bielefeld.de>
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
Hi,
|
||
Did somebody else try to port g++-1.40.3 to linux? I am having problems
|
||
with the estdio FILE structure. I tried the MASSCOMP define, setting __rend
|
||
and __rptr to something......., but - when trying to build libg++-1.39.0 -
|
||
I always get errors in PlotFile.h; this has to do something with those
|
||
inline functions, I'm shure. (And the problem with estdio only starts
|
||
AFTER that!!). So, questions:
|
||
1. Who has come a step further ?
|
||
2. Who has - PD - sources for a USG compatible stdio library ?
|
||
(I remember some PD source for some UNIX shell which included a stdio
|
||
library; but I cannot remmeber the name....).
|
||
Wolfgang
|
||
Please reply to upsyf108@comparex.hrz.uni-bielefeld.de, I cannot receive
|
||
the list at the moment: this wonderful vm/cms kermit is trying to send
|
||
from my usual account upsyf173, and I cannot login again to read the mail.
|
||
--[0235]--
|
||
|
||
[0236] daemon@ATHENA.MIT.EDU (Yanek Martinson) Linux_Activists 12/25/91 23:41 (13 lines)
|
||
Subject: Re: Porting g++ 1.40.3
|
||
From: Yanek Martinson <yanek@mthvax.cs.miami.edu>
|
||
To: UPSYF108@comparex.hrz.uni-bielefeld.de (Wolfgang Thiel)
|
||
Date: Wed, 25 Dec 91 23:34:37 EST
|
||
Cc: linux-activists@joker.cs.hut.fi
|
||
In-Reply-To: <9112260217.AA01049@joker.cs.hut.fi>; from "Wolfgang Thiel" at Dec 26, 91 4:02 am
|
||
|
||
> 2. Who has - PD - sources for a USG compatible stdio library ?
|
||
> (I remember some PD source for some UNIX shell which included a stdio
|
||
> library; but I cannot remmeber the name....).
|
||
|
||
nn newsreader includes a stdio library. They claim it is faster than
|
||
the usual library. You might want to try that. It also has substitutes
|
||
for many include files.
|
||
--[0236]--
|
||
|
||
[0237] daemon@ATHENA.MIT.EDU (Peter MacDonald) Linux_Activists 12/26/91 01:47 (32 lines)
|
||
Subject: getting to VGA 50 line mode without shoelace.
|
||
Date: Wed, 25 Dec 91 22:41:07 PST
|
||
From: pmacdona@sol.UVic.CA (Peter MacDonald)
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
|
||
The following quick hack sets up your VGA card for 50 line mode.
|
||
|
||
It does NOT check to see if you have a VGA.
|
||
It is NOT selectable back to 25 lines.
|
||
|
||
It is a quick hack. But it should work.
|
||
|
||
Just patch boot/setup.s and remake.
|
||
|
||
*** setup.s.orig Tue Dec 24 17:44:51 1991
|
||
--- setup.s Tue Dec 24 17:56:30 1991
|
||
***************
|
||
*** 62,67 ****
|
||
--- 62,75 ----
|
||
mov [10],bx
|
||
mov [12],cx
|
||
|
||
+ mov ax,#0x0003
|
||
+ int 0x10
|
||
+
|
||
+ mov ax,#0x1112
|
||
+ mov bx,#0x0000
|
||
+ int 0x10
|
||
+
|
||
! Get hd0 data
|
||
|
||
mov ax,#0x0000
|
||
--[0237]--
|
||
|
||
[0239] daemon@ATHENA.MIT.EDU (Oleg Moroz) Linux_Activists 12/26/91 08:31 (17 lines)
|
||
Subject: GNU STDIO for C++
|
||
To: Linux-activists@joker.cs.hut.fi
|
||
From: moroz@inzer.demos.su (Oleg Moroz)
|
||
Date: Thu, 26 Dec 91 14:56:25 +0200 (MSK)
|
||
|
||
For those who's trying to port g++ to Linux and having trouble with estdio:
|
||
there's (GPL-copylefted) version of AT&T 2.0 compatible iostreams implemen-
|
||
tation by Per Bothner including ANSI-compliant stdio (based on streams, of
|
||
course). The file name is iostreams-0.50.tar.Z; it's available in pub/gnu
|
||
on nic.funet.fi, for example.
|
||
|
||
Oleg
|
||
|
||
--
|
||
* Oleg Moroz Surface address: P.O.Box 30, 103031, Moscow, USSR *
|
||
* Software Designer Internet address: moroz@inzer.demos.su *
|
||
* Steepler Ltd. Phone: +7 (095) 214-81-92, 245-86-62 (voice) *
|
||
* "I've looked over jordan and I've seen/Things are not what they seem" - PF *
|
||
--[0239]--
|
||
|
||
[0240] daemon@ATHENA.MIT.EDU (Ari Lemmke) Linux_Activists 12/26/91 17:11 (29 lines)
|
||
Subject: Please put me on the mailing list of LINUX.
|
||
Date: Fri, 27 Dec 1991 00:06:08 +0200
|
||
From: Ari Lemmke <arl@zen.cs.hut.fi>
|
||
To: rhwang@cs.utexas.edu
|
||
Cc: Linux-activists@joker.cs.hut.fi
|
||
In-Reply-To: Rwo-Hsi Wang's message of Thu, 26 Dec 1991 01:22:05 -0600 <9112260722.AA09811@cs.utexas.edu>
|
||
|
||
|
||
>Thanks!
|
||
>
|
||
>Rwo-Hsi (rhwang@cs.utexas.edu)
|
||
|
||
We will NOT allow any request posting to the mailing list,
|
||
not this kind of noise to the mailing list, please.
|
||
|
||
The _only_ address for the requests (unsubscribe or
|
||
subscribe, address changes etc.) is:
|
||
|
||
linux-activists-request@niksula.hut.fi
|
||
|
||
We have about 110 Linux activists on the list, and the
|
||
groving rate is about 10/week.
|
||
|
||
I suggest, that everybody sends mail: 'Why should I know
|
||
that?' to the ignorant ones (I usually do). The only way in
|
||
network anarchy is everyone beeing active [your right]. ;-)
|
||
|
||
Thanks,
|
||
|
||
arl
|
||
--[0240]--
|
||
|
||
[0241] daemon@ATHENA.MIT.EDU (Oleg Moroz) Linux_Activists 12/26/91 17:48 (17 lines)
|
||
Subject: Init/getty/login ?
|
||
To: Linux-activists@joker.cs.hut.fi
|
||
From: moroz@inzer.demos.su (Oleg Moroz)
|
||
Date: Thu, 26 Dec 91 23:49:15 +0200 (MSK)
|
||
|
||
I wonder: is anybody doing standard (SystemV-style) init, getty and login
|
||
for Linux ? I miss it very much (especially after the virtual console patch
|
||
was posted) and I'm thinking about a possibility to do it myself. As it will
|
||
cause the noticeable difference in system startup behaviour, I think that we
|
||
Linux users & hackers should reach some agreement about it before some work
|
||
will be done.
|
||
|
||
Oleg
|
||
--
|
||
* Oleg Moroz Surface address: P.O.Box 30, 103031, Moscow, USSR *
|
||
* Software Designer Internet address: moroz@inzer.demos.su *
|
||
* Steepler Ltd. Phone: +7 (095) 214-81-92, 245-86-62 (voice) *
|
||
* "I've looked over jordan and I've seen/Things are not what they seem" - PF *
|
||
--[0241]--
|
||
|
||
[0242] daemon@ATHENA.MIT.EDU (Yanek Martinson) Linux_Activists 12/26/91 18:00 (38 lines)
|
||
Subject: Re: Init/getty/login ?
|
||
From: Yanek Martinson <yanek@mthvax.cs.miami.edu>
|
||
To: moroz@inzer.demos.su (Oleg Moroz)
|
||
Date: Thu, 26 Dec 91 17:56:28 EST
|
||
Cc: Linux-activists@joker.cs.hut.fi
|
||
In-Reply-To: <AARvaMfOT6@inzer.demos.su>; from "Oleg Moroz" at Dec 26, 91 11:49 pm
|
||
|
||
> I wonder: is anybody doing standard (SystemV-style) init, getty and login
|
||
> for Linux ?
|
||
|
||
I have started writing an init. I also have found a login, a cron, and
|
||
an uucp (havent tried these on linux yet)...
|
||
|
||
> As it will cause the noticeable difference in system startup behaviour,
|
||
|
||
I don't think startup sequence will change that much. After running
|
||
/etc/rc, instead of running shell, init will be run in it's place. And
|
||
the code that sets up fd-s for shell can be left out (a getty will do
|
||
that) and also the code after that 'child #### terminated' can be left
|
||
out (init never dies (supposedly :-)). This will make the system image
|
||
a bit smaller. I sont see any other changes..
|
||
|
||
> Linux users & hackers
|
||
|
||
Are there any users yet? I mean is anybody using linux for anything
|
||
other than hacking?
|
||
|
||
> should reach some agreement about it before some work will be done.
|
||
|
||
The SysV-style init is so flexible (with run-levels, and /etc/inittab)
|
||
that there should be no problem for everybody to configure it
|
||
whichever way they like it.
|
||
|
||
|
||
p.s. the telinit command (run from command line) needs to communicate
|
||
one byte (actually one of: '0123456SsQq') to the running init
|
||
proccess. What is the best way to do this? Send a signal? Write to a
|
||
file? A named pipe would be great but we dont have these yet.
|
||
|
||
--[0242]--
|
||
|
||
[0243] daemon@ATHENA.MIT.EDU (Peter MacDonald) Linux_Activists 12/26/91 19:13 (191 lines)
|
||
Subject: A screen blanker for VC (also fixes reverse video problem)
|
||
Date: Thu, 26 Dec 91 16:06:11 PST
|
||
From: pmacdona@sanjuan.UVic.CA (Peter MacDonald)
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
|
||
Ok here is my third, and final patch for Virtual Consoles.
|
||
This one implements screen blanking.
|
||
|
||
It assumes you have already applied the two previous patches,
|
||
(VC and VT100 graphics char) already. If there is demand,
|
||
I will later post a single patch for all of these, but I think
|
||
0.12 will have these included in mid January.
|
||
|
||
Also bootsect.s and setup.s should probably be changed in 0.12
|
||
to .S files like keyboard.S to allow conditional compilation
|
||
and sharing of constants (like SYSSIZE in build.c and bootsect.s).
|
||
I have done this in my system, and will submit them to Linus
|
||
in Jan 5th, but will not post them now. There are already entirely
|
||
too many patches floating around.
|
||
|
||
good luck.
|
||
|
||
|
||
|
||
table
|
||
!"#$%&'()*+,-./0123456789:;<=>?
|
||
@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_
|
||
begin 644 blank.tar.Z
|
||
M'YV04HH$(=*D"("#"!,J7,BPH<.'$"-*1 BBH@T:-$ J,@1AD:.%3UN!%EQz
|
||
M1HT:'D'4B"&CQ@T:-F3 J,'QQLL:&V%,W,FSI\^? .K,H1-&3D4 <MZ\H0.Ty
|
||
M8=*E3:-*G4JUJM6K.ZF@23,'!)PP=,:@ 5'&31@Q;,ITG3-&3IFR(-"&<;,Fx
|
||
MC9LS(,R\,6HEC1PZ=<*P 3'DC9LY;])VO9.&SE@V=NO@<:% 01(W9,V8*3.&w
|
||
M#@L0=\J .%.&#@C'7//NS>NVS.<Y=L>(MC($A&"W8<CDL<V&S9LQ8-7:CEM'v
|
||
M<QDY"N <!S'&,.*TI^GD^6Q8]!LSH+>*!8'"L>@Q=>2X=4.'S>XPG=/8$5X]u
|
||
M!>@P<]R<H*- 3!F[>(66(6/;39X[8>0QAPL5:26:7'0M!UL;<)@'@GY=H=:5t
|
||
M&,5M)L=G<Y&A0'-P"!@7&W.M$>$;IZ$A&FZ#L=4:9A0:)P=E"@BQ&QEEF!%&s
|
||
M'6QX]F&(^(&61F]QB48&5V>EQ1]8<2D%&!RGI=%&&02"0 6)914I6F,L** ?r
|
||
M")55-$=I=!S7!@@M(+@&"&Y4IL =)KJ%)@BIA8%F'6W89Y1]=(0&ET<9@F #q
|
||
M#%%. 6:/C9U&HA['D3CD'%;.H4"A89P1AEU1)O'@'('UMMN6WLU9YW(QP/#9p
|
||
MDW/U&"H(;406YH"5!6%&F$:% 4>#>?38Z5=AF=@5"HP^Z552LI$1GFCP@4";o
|
||
M>VH(99I;S3'X(Y0*&(@9KMM]20>L;;@P1G_\,?N&L]!!Z@9_;;RQ'IRFT4'Bn
|
||
M"T+)\8)OP+'Q@AB4*E#%ER6*YD89=X P5%%A.>=O';-"MA]U1I4[I!F[Y?%&m
|
||
M>/X2]5=SAQEJ&QG\*5 FB'2!<*JZ^>;EUU#^@BEFE-*"X)882L(8!!N(H;F4l
|
||
M:(XAF09V#M?AXQQC@;PE2B! MB^J;]#X6<ZH*BMSOR/0:(9=92A@11)$%/'$k
|
||
M%U8<$<07*'W!1!).%$%68VW"B1G%ST$Y!L)F!QT9'B]0_/09+J!!V64@ ,K2j
|
||
M9X4R!B0<28E1Y&[V@> TU/S9Q9QA<V/HVUT^.K;X8421YRC(% ])1QJ&">8@i
|
||
M?%_6"9VU!+NP&-F+TZB:44 ++9K"T"H01%=NS$S&9V08-M_JI*5+HEASD0;"h
|
||
M%%E,,4426H@-,@QXS ##\VU3^",9VL)HF?%5%#&%#I5E\3"J :+Y%G\@%QX&g
|
||
M@&Y>%[)>O;W!&.0RP#D'IFK!6%$,[EF+;<ET1&BBV;"R@V#BLIL[R*$Q/7J8f
|
||
M:>9"%K;(2C1?BD,=RB(;!9 $9)U"6V*@5!%+Y4YFIEE#[?K%)B1Y+F0"A Q_e
|
||
M(CA!-\C&421I#H[X8Y_7D,A27TI+9_8#@NJXS0V284YXQE.>&;U!.+4SC7XHd
|
||
M0Q(GA.%)#A*!%[:P!2>P000H0X/-NJ(6X"B'.LK!S!PD6!37# >(GS**$RP(c
|
||
M$CSI"3-\&I>?XDB^__DF-'( #K[2<JWE,*%2V$&,KP#WAC/(X8ELY B(8-7#b
|
||
M.M !#H[T7VI EC.CJ.@M;OA,I\S4)%_Y;3"% ]Y=]F,_$,C /4+@V)E2$R\Ca
|
||
M$=!P;_C"YI[TH@Z:)C5P>,/\TH 6,];,- J$I&EDR 8-D:1P9WB#K4C4J4O"z
|
||
M)5DD*U:A4F.F@[6-36G8CAZC%D,M'G*'<N@*,6DH&M^0# 5(2@M\3&,I-+Q!y
|
||
M.27:8LCNL!>2_3*1%1DG"+0XJ[*D($I"<*2_8G,@5?9(*)ERD&$4.@;PA--Px
|
||
MX<$//KUR',Z1H2OJTV"XS)(>.S1F.B$C0_"6HSX)R2]H[H,15E;*TI:NU$S:w
|
||
M6IA+9RH5CEPD(R/IR$= (A*2F)(&+9E!15;2DAO40"8W2$D,0B6#&>2$IE#%v
|
||
MBK**<I2G,,4J5HVJ5K?*U:[R1 5@C4L8UO""-90A#RPK"O6FD J3! $1.#,u
|
||
M3SV& QW(1 <U$&H,<I"#&&BL!2T @0M<4-;C[$M>8I'#%\@@!SL4%JUO4*L+t
|
||
MV.I6T<1U6S+(R%V?9]<<>(RO?@6K:$=+6A4H0+0@P @+:.#9T?XUL*I="9D s
|
||
MVP(V)J!<=A@,"9@7*A:4H QAP(-M<0N"$@37MQ<=KKF*>]S?.FH%(+BMN0;Sr
|
||
M!3/9)8""\2UPA0M=Z>:VN-ME0755*4/RV!8/>QF,<=G@6\$D( $O4 %X@WM2q
|
||
M!YZM:*)1P0ML:Q<Q@&"W>/A3>]E@VS$PR+\ +H.HUGO:L J.K&PQ$?7&T-:Wp
|
||
M7G:N,:CK74^UU[Z^5K"$-:L<#ON"").2PI6%JUPS:TH8Z &,K!K_#H<VM+:o
|
||
MV+2H=1X-6#"#4[F6MB#0,8]C8(/9 I:-;+2#,OF3.UDZZ3@H>!Q>QM"@%+!Qn
|
||
M#PKH[K\VMZWK[BA!_.E!WG9@VS+@ 5:8\;)]R@"'\M*!S-TU,YH!^.4UN!G.m
|
||
MT96S8>EL7?(<)X5X3H">1PP"):>!AJK\@C/=@ )#DR$%@1XT9AS](#>82=%Ml
|
||
MP62CEPSI+'.I(H(^\YXI/0<!K1D.0WGGI@_=Z8KP%SLH.+6;K7QC&S=8OCV.k
|
||
MP9"+_&/ !CD&-^#Q#&Y@Y-J".@$WXTX( "OKAY''RL=.0*GG<.I4PP$%K>92j
|
||
M=Y,=:_(ZFPY6[NX>$F F-P,VT,B&=34?[>GW[@%.ZO9V'<@#@AZ(N=L\\G-Ci
|
||
M!=,"_+FGW:"NR+O77>\Q SRZ()GWI1>-[1UH&^$0[X.KNPMJB4\<XH*&6=0Hh
|
||
MGH"*<#L$Y?YVN*/;<1 ,7)4\%',,T-W&1#.\T]TM>1_:/?.8)^#5W*$R&Z!-g
|
||
M<H<2L04^<.235[ ",H.Z#!J_M5@A;#(Y9(O"5^#AA5N2-Q?#P 8OQL%G/0QDf
|
||
M_9T,ZE)?,4TX&P,:Z& &1:;QK6LM6J6WA,<>Z75@W][C8B=2OA79 IGF32,Ye
|
||
MN X$6S ,'ZYCABZ H MWYXC>6Y!J-R&>(W@'/)G&H$ZC;,%S?'#+4 R/>.B"d
|
||
M(/*+Y^068-""/SV^(J:%?.(%U8:Y<'D.W&,[:96^U!FP8*FM;;O'Z?U..LA2c
|
||
M3&#TO>9+$_POV 6!@DD#HHKO4,1<J(=P\+U9(:M6H].Y]U]PG0%E5?SXN*_[b
|
||
MU^E?6Q+#7NC[WFDWRE'Q]>(60SJ;#-;W,O8%-X8UN)_OQ6=9,?,OM#44WRWKa
|
||
M$4YFA'U\=QRN0V8A<'W1IVCJXA;,5WG6QT;Q!0)/$'V<<U_DD10PDT6B(4 'z
|
||
M9"5H\D3"H47GLF882 ??%";D0R6',2R)-V]I($%EH1:L F1+M6,LX1&T96P*y
|
||
MZ'O8\G]J07SF9WQN@'R0L7Q#V'Q[47S3EU9R ']L)'\+J'V'! ?=-T+@]RHJx
|
||
M0G[%AWXXHB/8QWYE<'_C$G^\MX#T9W])@7]#J'^WTX;]!X0!^"7%5X!^!S4(w
|
||
MV(,,N!<#N("4!US/-W^J%($5,8$5N#F&,3DHF!@#4B#_XX%I ()F\21=08('v
|
||
M@DF*F((\!#)E@2EN\8)%*(/[,C^4(7NNA5HL@8,RD'M@]6$L40.W5W<[&(5Gu
|
||
M*'UE($MYH!P[\%X3N 1GY83DDXL<I%^T"$P+J!=?T!R^$8AH& ;)F!A[L8L3t
|
||
M6!C+V(C$N'O&Z'N4]P6>LXN\*%]#4'F\,1BKH7ET0"#$"%U2Z'MH\06IX@;>s
|
||
M"%_RE4HAXB^95A;HN%^N5HC@^"VM)T=_]Q7AU"-KN#FCR$2HMW:RYW87P0(Rr
|
||
M8 .L:%I ]I VX)!]97<@,7,5H9$/1VD"^27C%2+H) =GL#:V09)V$'P76'R>q
|
||
M\QF"0P;<2)(CYV5%49+Q.(%.0"=VTD/849-T4A;]LSHEDAJ]=X'YZ&G 8Q0Jp
|
||
M4)-VL 5=<)/R%00D^9.6(Y0F592&<93J2&\J@)7P^%[R2!CB: 8@@A<@8RU:o
|
||
M26==N8#=");3*(XG- >,D2L68RT]9!3#=XZ?MU];:1HJ\)(Q>090.3RE83$Hn
|
||
M^%;)QD#'D11&D1HT$B8[1#U[Z6E8!ET3" 5%@2]RT@)_2%5SH!QC<#/9!!9&m
|
||
M.9G0Y6D>!VLUN2T^X#$@P =\\'E>Z1Y_F1N!67!4( 79@V>HYY6XJ9M%P)OPl
|
||
MQAVK66\JYQZ5&5UKZ7LG)&9@H4PC>09-"0-= '/1Q6THL)S<""2M^2?N 9O<k
|
||
MH9TGQ -YDP(C]UZU"9,U^9N[B9H@('%(AR_)F0#B"21B!@/"67/OZ6E)MF1>j
|
||
MD9FWZ)4HX)480I(FR90N:9LUR7-)*9L6:!B#>8@7&#F/ 5Q# CDGT (GH#)Ei
|
||
M@%ND-)G8>)(VZ9;RE9-IQ),B2I5!R7Y#B5$/Z@9':8IMEV-7-V0Q\'EM!V0Sh
|
||
M( ,X(&PT,8N@]I&W6#O[$IT'BI*?80+8UWAF!)@+:GT5$9]7 FM#D4<,,J Og
|
||
M^ADBT)ER( +N86_E:5M"FHR59Z0%*IU)BGU<FJ9^R ;;67Y.*I/"*:7#R2LHf
|
||
M:GJ @( )FXJ7&&:;=-:9F8J8BFI(@H*1HJ$ILRHYN^HX)JIYRBD]2:EOIe
|
||
M>9MBEIOMN9$*R79*-P,SD ,\AA$XVHHZ:@.VAW:>!:0<80: <UUF8*=]]WPBd
|
||
MD'=[-RX&"#6 )WB$QWE<X 9>"J5YT:KD\:I#$:M:2JN,UX"BT06]^JOXQ*H'c
|
||
M-*RPNIC'*GF<*8Z7UQN9IQ9TP*N^:IT5 :VN.JWB4:VAITJ 1WJF=WC-FFT<b
|
||
MR48-&A9? )3551Q;0 5#\ 5%X 14\ 7'DSQ/&98!Y2)"V7@](B?8XD5DD8%Ya
|
||
M$*,RBF-AA1(]NA)")7<JX:DL4 - A9%YEG3')JQT\*HB4 )S( *:- ;SRK Hz
|
||
ML*5DX*79IJFGZ7D@,($;4X^C5WK4F9:IR1V"&"+_)K,5 ;(B2[);4 )D<$6?y
|
||
MH3U#P'_NJ#CNBF0506FM9Q>$RI2TYF!C%3?.L4':4F&6M6(9D6%VY6)4IW9 x
|
||
M-EB%-6)(%S=HH%B,Y5@:I38)$'7\,75CYV(T@+<S!EJ;6FMN!ZHSD!$6NXH\w
|
||
M]J.T!;4@, *QP09UH#H\(#2246)B04IHX -LI+@NQ+B."[EP<RT-6[F>AKF4v
|
||
MU[BB\;AOH[5N,#=U8[D5(;J:6[KPT08OP#FK>[F+2[H@P .Q6V("$B;9 KJMu
|
||
M>[N.6Z7X4;L/"['R!52KI7462P.VEU<<VS0U@JM/( 5)< 180S56\P50$ 1't
|
||
M4 3OE9TH,&^P<0;[LD+N]!>?EP+,DP// P,TP'/2^S1#4[W7F[U5<S5-\ 15s
|
||
M$[[B2[YI8+X\Q#-[X9?LBP?N^SPVX!XFD#=XH!GR>SCU:[W8.S7Y^P5#\ 1,r
|
||
M, 71A0(>K +C>Q@!?+[^DKX&W+[ON\"'ZL":\3SNX0.MB0,CI[AFX#3&HKU7q
|
||
MDS5;TS5?$S93<+D2+!KV6\$X[#5@HST)@ (H,<.3"EWS2[T4C+_;V\-(C (Mp
|
||
MP<3C<C- /+T3?+\6O+U%H#5?$ 18D,0@#, "C+X%O+XH_#PRO,7T*\11_,57o
|
||
M$\9;(P1E_+\BG,8EO,8J<, )# -A$,%<+,=>7,1VC,%Y?,9[3,($K+Y_W,8Pn
|
||
M, 97*Z-*9P/!]A*CFGH10YK;@L:.;,()X%$T$DNY]!=? &C?:"R'5@8DTGY<m
|
||
MP4@I]%:G3 ?TJ8^=S&5T!ASC\AO0:!3W&8&!]<1#TP1D[*]#( 5?( 5/< 4<l
|
||
MC!)PC*O&C 7(K,P9O,$@@ ,P$,U#,P7)C,%($ 12P,$H,,W5O,S-S,'R9<[>k
|
||
M;,T:/ 6$',?#\\W_*C:-ULJQ!!N(\@5)<0<J0,JN_ 5HE'U0,P<\MV79%#%Rj
|
||
M4 >=87(?=@,RP (WD*J'ZR5$H<N@/,"B#-"F7,"I+!C>.(%]4<H<>@:QO!RSi
|
||
M+!JU?,MLA-!=1F^\G#O*N!K!C+C$+!KL_,W7S,':'+I!# (YK<S,[,P5,<12h
|
||
M?#54_,.M^]/M#,[B3,Y!C<Y$O<['W-0['<^XVM3US!T<K6C*=XO]_,_X+-!Tg
|
||
M0M"C>- 7G=!5RM"F@67'2WLQ (LYN,FN*!.WQZ/1^]-=?1SP<8L-RM4HBS9;f
|
||
MX'-HTP4N8 <HN]>'!)))F0(WM]2%+#\S;12-%MC.,=A#5-B'C;)<,=D\YV5Fe
|
||
M< ;/>!@;5'#XZ6DNS6<H!Y.A77#]AF=J9E#ZED*F#=OTEM%JK+XA-V^F4=/[d
|
||
MF,L)36JF]A;7YFC9UK<WUJDYL&.?&I$?EK<130-QS;'2MCD-QT;O"EVI;1=_c
|
||
M1VE;02/)&![.AP)>1MC.,7+SJ4!B\ 775G:?T=6US,]C:)T)H-[LC0+,HQDFb
|
||
MX,$JDK)DT )=_21MP( DP(PG ,I\-YC'=\I1-_VW=ZP6&@+[M'MY^".M-[7a
|
||
MEM]FL-^\TA;^#>!C+> $_A<&[@/XH^"ES-X>W>!XII\MG=;;0FF:ETOC0MXPz
|
||
MG=G.\1J'V=">RX +W=#RY;D\AV6@UJ#RQ21B%A!3 5/X 13$)S(;6NH1;$9y
|
||
MNU=T#6K)I"YXD <H8-Z'P0*,LAXPB0>O$09B_@5Y\+2NEH#;36]MD =@@8+6x
|
||
M1VD4\P4&U!AE8*<_GB[2X>-L_7G1D>97QE_TY@9R0&9 =E2@FE>&>V18OA1Ow
|
||
ML.5=CN-?'N;[\05D[B]F?NEI;GWOFH#]>6B38^<'%"9Z_N<]OM9 'NA#3NBFv
|
||
M8>AD]M93GED9.VQ7'ETL.NGB@3:U+42[[AP\T -.X,Y.KL':XW!>/@=$QW,Eu
|
||
MQVV>^Z=40 59\ 54$ 1"P 1%H.MY=-[,WD:XL0:(?IVPENP^,.P8W.138.SPt
|
||
MK#$0]Q5%. 8K6^=W'B8Z ">],88#Y+G."FH?E^SN,;-!+AU\P@8 XB'S+AP8s
|
||
M]#\^!Y0]M"]'F8 EE^P%%]JCG3;6EW'X8EOY1.ES<&Z)5')<$E@^51%O'N? r
|
||
M;!O7<NBV9>@%-P3A/,[=(1U =_!?$ ?9E@#8!!TH8.B A9RVE0#?BZ]($/-Yq
|
||
M,/.E?HMQP *4C.B^IK&B<A+QHZH)D.L2'\R^ONV'$>SFGL'%CNU3@.P<O^P:p
|
||
M7Z?/#J;1/NW5?NW9[N_=SA%B\.T7W^\<_^\3Z+D#7_"+<?0C$C(+SWL./YD0o
|
||
MO_&_7C'W1O%QZP,]X!$_D!>B';<@4._K]@6A??-T.O;)[O';!FO:CC:(O_7Hn
|
||
MKN[?&9N;#^PP8)X'Y^[9%.^&0>IX7N\_DA:2,ACZ_K(@O_(G[_)/3?1&C^<Um
|
||
M?_,Y+QH[+P<][]#'%O0NK_L^0/-)O_117EI*I['/*UNN%6U@F4M=T0)BUM7Zl
|
||
M#-;N<_%@^5YL\*K^[OU@.7,0__U?P(US,.!?L+*XY5_N".<I[UO&A0:]R@5Tk
|
||
M( (___TB@%O]4@+&A<R5@!AP__*? CA_WT\'Z 1$ 9F59=+</W/ 8*P1V; j
|
||
MK!^S^WX)8 $&EWU'<JJ?+@$!*T#,R #R]U[P -%A>H'E)$PL3$;=,*#U(Q/9i
|
||
M;ZQM/W[6_?8?6 I_H^\PW+SO9_XZX'M)?[$K_;D_<^%?2D!$ X!AP/ZY ?RGh
|
||
M_ZC?>^E_YN+_!4#?0@"7H %$@&!) 3) !TC)6$ $#$^\PH2M+PN8);#@$VP#g
|
||
M#M#D7< $R #Q =T@1\P!)H2$I@ 3:7ZS9\KQ%1;P)VC"]/.!"4 @;0$Wf
|
||
M()"Z0.(C@82P*!Q"&[AERD /F %YZ/O%%VZS+>S-"=@")V -)H!WTPA[0 T@e
|
||
M@17A[0$7<&<#)8Y^"7F^Q@;$-3XH VZ4U/M^@C 1R@%#>-JHGRQ<A-2O$T+"d
|
||
M ^@#)^&X,TZ7,!-6!",P;])#(IH^-I 37C1'^ EM8"B$>Z5P+W$)61=6; .c
|
||
M %4027#E*%^35#2 R+1 L;1,0< +JP G@'DXP 9@C/A3>Y$ .-&ATD-Q b
|
||
M0YOS7L;A"6 #Y[#=8$#L) BI$^(K?:])]/7#+A#LO--YPH G)]]@E\$@9I" a
|
||
M%E !?T(%#$1T\_U"H;RA-V*FSRQ$BEC^].'W$X5C91>50AL($DEAM!F'-2#Vz
|
||
M/"RE<P.&C42C 7Y0]P#"%XC])%R*FX']C [BP/$W$K$@$%Q_0A *V@'X5_+Fy
|
||
M'Q)4@DS0!B8 H2@%FTL53(IF4 LVP)R#!B @&@2#%' ,ZA)-F ';X!OT@%U!x
|
||
M#HY &V@'42 (,"J@Z@98PW#X7FAB#+R)7XT&W@&=*/[F'@GL@>A/_;&_(3@4w
|
||
MB\L1K'\%L D"0J987*;@ R,O! #2D4N6!6]X%447UGQCY'!Q,C_'J,:5(H:v
|
||
MT WNP+88!T4@"2R+>/ 4A16;8'ML O/:AH%EHE4D;1;U*EITZ6H#S75T!3%Cu
|
||
MU.B8$?-A%P^^10K10!OG6!'K7M\K-XXUOL;8O(EIPP,P **=MNZRVS!BG;DNt
|
||
M?P:DV1:<@P)J8Q';7U7C3]T Q[;*DH DZ0IRHES4CL3R+80$5V@0 6+Q7:/Hs
|
||
MXM96(FK) =:0!>2 &W :296OX2L1+53, *VCJD""5D,>14#-/1SNAJLHC7P1r
|
||
M<-;B#JP:_B!?Y@ +P&U]3'VMC?(F<BB3I_F)>W%+%1/$V%U$@%N QPRNHB q
|
||
M5".7]%]W68PY!P(2 0=HT+S@&.""%?)$;BDWZ 6'A+."+FX!,!":.=#B^!-Tp
|
||
MH30+YQXQ&O3V<'86O@$SD@\OM*9^,W) 0HX,#_#(/46^UB9F#-_62@O"J7=@o
|
||
M&J?3H5" E21M:0%<[9-6U@['VY=,&V+R3)8V,?/:W!."+ T*<D&NKP#7H:I+n
|
||
M7_L,S",YVK5YILRVFG5R<3_2/RD<ER,DL8V%E%G<9DKBA6!')O"'>ZH(3W+$m
|
||
M""<U"1TRXFI+DL))4;JVE>.>K,66%'!>LO%=R3(@)KE-5Y,.\ 1,V49I!P6*l
|
||
M@+[2&K4!/)U*8?2G5F46:)6O,@@T@9]%$CSE7@A@5(M2DDKAY"F5D#L4EG_2k
|
||
M1WX:X!;C_)-<DA5;4M-X&332ZD "MT$C?PI93A0.I2.C)$B@/&G@NB%*6",Lj
|
||
M_Q23?)25)DBNB.L&$K2DB@"5R-+A/"M1"29YHZ< 5D2AEQ"TH3!Z#(^8,0$]i
|
||
M+E^FA4%()U9 ##!LN $FQ0&',PW=8U@)%;T%8O(:F<B/^$?VV0]S8.?QBXJWh
|
||
M05A 8H!)<0O2@"B.\"SA0+0L"QKS#G#,,.GIV!WBDC2%QEFZ$Y6Y91;D<;-!g
|
||
MR5%4A JC8G>\BL_\F4 S: K-H5D5_L7$< Y$TZO4!%&54T+"3M$I39,C,!6:f
|
||
MH!)>T4L *BSA?C 5G9 WDF;2G"I&02-D%:RB)+RFV3R;:!, L(LYX"[@A6"8e
|
||
M%W;A!>0.GH%T!H/<+ ..Q7/%#[CI!DK,6# !"F!MMLW?\#;I1=^<FR8"2-S-d
|
||
MO"D=A K?])N'*G"VBW=!..6%X92;NB1QVDT:P3CS0$9XG#PC<@I.RADO0&?3c
|
||
M&1,M8'\XOA8@AL@0HD$/9Z),P$[7R1S@'&;@ A:D9G6,4W&M !&'(AFM:7&^b
|
||
M ,_E5T:GV[2<<=/K.!TRH3I')9EHG6M(CF"3,$$FTA#M1 MO!7=6A-Y)54Y(a
|
||
M\.2<PU,ZR #)R39)9^%,GJ>3>8J)R9$VGB<?NIZ,2S3(SOI#.\> [00!VG/Rz
|
||
MP"7N-+/ I^>: >1S<);.RZD\46?SK)?NL_U$3_Y@/QG(_%1#[^=#9$\VPCUCy
|
||
M!?\4GIZ+!BB M,E!.Z@'_: @-(2*T!%*0DNH"3VA*#2%JM 5RD);J M]H3 Tx
|
||
MALK0&4I#:Z@-O:$X-(?JT!W*0WNH#_VA0#2("M$A2D2+J!$]HD@TB2K1)<I$w
|
||
9FZ@3?:)0-(I*T2E*1:NH%;VB6#2+:M$7"C2(v
|
||
u
|
||
end
|
||
--[0243]--
|
||
|
||
[0244] daemon@ATHENA.MIT.EDU (Peter MacDonald) Linux_Activists 12/26/91 19:27 (16 lines)
|
||
Subject: screen blanker minor bug note
|
||
Date: Thu, 26 Dec 91 16:25:04 PST
|
||
From: pmacdona@sanjuan.UVic.CA (Peter MacDonald)
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
It is a law of hacking that 60 seconds after posting anything,
|
||
a bug will be uncovered. This one shouldn't really cause
|
||
anyone any problems, so you don't even have to do anything
|
||
about it if you don't want. But for the record...
|
||
|
||
Line 709 of console.c, the check should be
|
||
>= 0 && <= 60
|
||
not
|
||
>= 0 || <= 60
|
||
|
||
Right, so why am I wasting your time...
|
||
No ones going to try an invalid blank time now are they?
|
||
--[0244]--
|
||
|
||
[0245] daemon@ATHENA.MIT.EDU (Peter MacDonald) Linux_Activists 12/26/91 21:18 (15 lines)
|
||
Subject: VC uploaded to nic:incoming + new patch
|
||
Date: Thu, 26 Dec 91 18:14:57 PST
|
||
From: pmacdona@sanjuan.UVic.CA (Peter MacDonald)
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
|
||
Here is a new patch to VC to try checking if someone is currently
|
||
writing to a tty when a console switch or screen blank is detected.
|
||
For screen blank, it just waits another 20 seconds and tries
|
||
again. For console switch, it just fails. So you have to hit
|
||
function key Fn again.
|
||
|
||
For those of you getting sick of all these patches, I have
|
||
uploaded lvc.uue (Linux Virtual Consoles) as a single patch
|
||
to nic.funet.fi. Now it is up to ARL to make it available.
|
||
|
||
--[0245]--
|
||
|
||
[0246] daemon@ATHENA.MIT.EDU (Peter MacDonald) Linux_Activists 12/26/91 21:19 (43 lines)
|
||
Subject: Oops, forgot the patch...
|
||
Date: Thu, 26 Dec 91 18:16:39 PST
|
||
From: pmacdona@sanjuan.UVic.CA (Peter MacDonald)
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
here is the patch to watch for someone using the tty write
|
||
during screen blank and console switch.
|
||
I forgot it from last message.
|
||
|
||
|
||
|
||
table
|
||
!"#$%&'()*+,-./0123456789:;<=>?
|
||
@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_
|
||
begin 644 inwrite.cdif
|
||
M*BHJ(&-O;G,N8RYB860)5V5D($1E8R R-2 P,CHQ,CHQ." Q.3DQ"BTM+2!Cz
|
||
M;VYS;VQE+F,)5V5D($1E8R R-2 P,CHP-CHT-" Q.3DQ"BHJ*BHJ*BHJ*BHJy
|
||
M*BHJ*@HJ*BH@-3,P+#4S-2 J*BHJ"BTM+2 U,S L-3,W("TM+2T*("!]"B @x
|
||
M"B @"BL@<W1A=&EC(&EN="!I;E]C;VYW<FET92 ](# ["BL@"B @=F]I9"!Cw
|
||
M;VY?=W)I=&4H<W1R=6-T('1T>5]S=')U8W0@*B!T='DI"B @>PH@( EI;G0@v
|
||
M;G(["BHJ*BHJ*BHJ*BHJ*BHJ*@HJ*BH@-3,W+#4T,B J*BHJ"BTM+2 U,SDLu
|
||
M-30V("TM+2T*(" *(" ):6YT(&-U<G)C;VYS.PH@(" @(" @"BL@(" @(" )t
|
||
M:6Y?8V]N=W)I=&4K*SL@"BL@(" @(" )"B @"69O<B H8W5R<F-O;G,@/2 Ps
|
||
M.R!C=7)R8V]N<SP]3E)?0T].4T],15,[(&-U<G)C;VYS*RLI"B @"2 @:68@r
|
||
M*'1T>2 ]/2!45%E?5$%"3$4H8W5R<F-O;G,I*0H@( D@(" @8G)E86L["BHJq
|
||
M*BHJ*BHJ*BHJ*BHJ*@HJ*BH@-S<R+#<W-R J*BHJ"BTM+2 W-S8L-S@R("TMp
|
||
M+2T*(" )"7T*(" )?0H@( ES971?8W5R<V]R*&-U<G)C;VYS*3L**R @(" @o
|
||
M( EI;E]C;VYW<FET92TM.R *("!]"B @"B @+RH**BHJ*BHJ*BHJ*BHJ*BHJn
|
||
M"BHJ*B Q,# T+#$P,#D@*BHJ*@HM+2T@,3 P.2PQ,#$X("TM+2T*(" *("!Vm
|
||
M;VED(&)L86YK7W-C<F5E;B@I"B @>R **R @(&EF("AI;E]C;VYW<FET92D*l
|
||
M*R @('L@8FQA;FMC;W5N=" ]($A:*C(P.PHK(" @("!R971U<FX[( HK(" @k
|
||
M?0H@(" @:68@*&)L86YK961?9F<@/B M,2D*(" @(" @<F5T=7)N.PH@(" @j
|
||
M8FQA;FME9%]F9R ](&9G7V-O;G-O;&4["BHJ*BHJ*BHJ*BHJ*BHJ*@HJ*BH@i
|
||
M,3 Q-2PQ,#(P("HJ*BH*+2TM(#$P,C0L,3 S,R M+2TM"B @"B @=F]I9"!Uh
|
||
M;F)L86YK7W-C<F5E;B@I"B @>PHK(" @:68@*&EN7V-O;G=R:71E*0HK(" @g
|
||
M>R!B;&%N:V-O=6YT(#T@2%HJ,C ["BL@(" @(')E='5R;CL@"BL@("!]"B @f
|
||
M("!I9B H8FQA;FME9%]F9R \/2 M,2D*(" @(" @<F5T=7)N.PH@(" @9F=?e
|
||
M8V]N<V]L92 ](&)L86YK961?9F<["BHJ*BHJ*BHJ*BHJ*BHJ*@HJ*BH@,3 Ud
|
||
M,2PQ,#4V("HJ*BH*+2TM(#$P-C0L,3 W,2 M+2TM"B @("HO"B @"B @("!Ic
|
||
M;G0@;F5W7V-O;G-O;&4L(&]L9%]C;VYS;VQE.PHK(" @:68@*&EN7V-O;G=Rb
|
||
M:71E*0HK(" @("!R971U<FX[( H@( H@(" @:68@*&YU;2 ^/2!.4E]#3TY3a
|
||
13TQ%4RD@<F5T=7)N.PH@( H[z
|
||
y
|
||
end
|
||
--[0246]--
|
||
|
||
[0247] daemon@ATHENA.MIT.EDU (Ari Lemmke) Linux_Activists 12/26/91 21:30 (15 lines)
|
||
Subject: VC uploaded to nic:incoming + new patch
|
||
Date: Fri, 27 Dec 1991 04:26:47 +0200
|
||
From: Ari Lemmke <arl@zen.cs.hut.fi>
|
||
To: linux-activists@joker.cs.hut.fi
|
||
In-Reply-To: Peter MacDonald's message of Thu, 26 Dec 91 18:14:57 PST <9112270214.AA16543@sanjuan.UVic.CA>
|
||
|
||
|
||
>For those of you getting sick of all these patches, I have
|
||
>uploaded lvc.uue (Linux Virtual Consoles) as a single patch
|
||
>to nic.funet.fi. Now it is up to ARL to make it available.
|
||
|
||
Made patches available:
|
||
|
||
nic.funet.fi:/pub/OS/Linux/kernel/lvc.tar.Z
|
||
|
||
arl
|
||
--[0247]--
|
||
|
||
[0248] daemon@ATHENA.MIT.EDU (Peter MacDonald) Linux_Activists 12/27/91 02:51 (18 lines)
|
||
Subject: setterm.c note
|
||
Date: Thu, 26 Dec 91 23:48:25 PST
|
||
From: pmacdona@sanjuan.UVic.CA (Peter MacDonald)
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
Some may notice that setterm -background color doesn't work
|
||
from the command line, even though it works in the startcons
|
||
script. Thats true if your using VGA 50 lines with a
|
||
TERM=console50. There are two ways to get around this.
|
||
|
||
1) Change VCTERM_AM in setterm.c to "console50" (or whatever other
|
||
wierd console you are using) or
|
||
|
||
2) Use
|
||
setterm -term console -foreground color
|
||
|
||
I have done the first, and uploaded a new lvc.tar.Z to nic.
|
||
So once again ARL, could you replace the existing one, before
|
||
hoards of puzzled hackers besiege me.
|
||
--[0248]--
|
||
|
||
[0249] daemon@ATHENA.MIT.EDU (jim v5068vm.temple.edu) Linux_Activists 12/27/91 15:12 (18 lines)
|
||
Subject: Parallel printer support (TODO)
|
||
Date: Fri, 27 Dec 91 14:54:18 EST
|
||
From: "jim v5068vm.temple.edu" <V5068U%TEMPLEVM.BITNET@FINHUTC.hut.fi>
|
||
To: Linux-activists@joker.cs.hut.fi
|
||
|
||
Hi all;
|
||
Linux is an extremely interesting and well-designed OS!!! Congrats to Lin
|
||
us et. al.!!!
|
||
I just installed it on a 31 meg partition on a 210 meg IDE drive on a
|
||
486-33 MHz AT bus machine. I was able to get 90% of the system working and comp
|
||
ile the kernel in jus' a few days.
|
||
Anyway, is anyone working on lp support? I was able to put a stub in for
|
||
the lp major real easily in fs/char_dev.c & the parallel I/O seems basic enough
|
||
from the BIOS listing I have. Does anyone have a FAQ sheet or tutorial on the
|
||
GNU assembler? I am familiar with Intel syntax but am new to U**x.
|
||
Also, is anyone working on tape drive support, like for the mountain
|
||
60/120 Jumbo?
|
||
thanks in advance
|
||
jim wiegand v5068u@vm.temple.edu
|
||
--[0249]--
|
||
|
||
[0250] daemon@ATHENA.MIT.EDU (Peter MacDonald) Linux_Activists 12/27/91 16:04 (16 lines)
|
||
Subject: lvc.tar.Z (binary) + a few more fixes
|
||
Date: Fri, 27 Dec 91 12:58:11 PST
|
||
From: pmacdona@sanjuan.UVic.CA (Peter MacDonald)
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
|
||
ARL: I have uploaded a proper lvc.tar.Z to nic.
|
||
|
||
In it are a few more changes. First attributes should now be
|
||
being handled correctly, including restoring defaults.
|
||
Also setterm accepts the just the first 3 letters of commands
|
||
ie. -background or -bac
|
||
|
||
Also colors or numbers work
|
||
|
||
No difs this time. If you want them, get console.c and setterm.c
|
||
from nic (generate console.c from dif+0.11 console)
|
||
--[0250]--
|
||
|
||
[0251] daemon@ATHENA.MIT.EDU (Ari Lemmke) Linux_Activists 12/27/91 16:07 (12 lines)
|
||
Subject: lvc.tar.Z (binary) + a few more fixes
|
||
Date: Fri, 27 Dec 1991 23:04:03 +0200
|
||
From: Ari Lemmke <arl@sauna.cs.hut.fi>
|
||
To: linux-activists@joker.cs.hut.fi
|
||
In-Reply-To: Peter MacDonald's message of Fri, 27 Dec 91 12:58:11 PST <9112272058.AA00895@sanjuan.UVic.CA>
|
||
|
||
|
||
Peter MacDonald:
|
||
>ARL: I have uploaded a proper lvc.tar.Z to nic.
|
||
|
||
nic.funet.fi:/pub/OS/Linux/kernel/lvc-3rd.tar.Z
|
||
|
||
arl
|
||
--[0251]--
|
||
|
||
[0252] daemon@ATHENA.MIT.EDU (Peter MacDonald) Linux_Activists 12/29/91 01:02 (214 lines)
|
||
Subject: a select call for linux
|
||
Date: Sat, 28 Dec 91 21:48:13 PST
|
||
From: pmacdona@sanjuan.UVic.CA (Peter MacDonald)
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
Here is an an implementation of the select system call adapted
|
||
for Linux 0.11. I have done only rudimentary testing on it,
|
||
but decided to post it, not because I expect too many people will
|
||
want to use it immediately, but rather to get some feedback.
|
||
|
||
Unfortunately, there are no test programs included.
|
||
If someone wants to write some test programs, or better still,
|
||
knows where to get ahold of some already written, that would
|
||
be great.
|
||
|
||
Myself, I am still trying to size up pseudo ttys, and would
|
||
rather devote time to that.
|
||
|
||
|
||
WARNING: Both the VC patches and this one patch kernel/sched.c
|
||
But this shouldn't cause any problems.
|
||
|
||
How to use it:
|
||
|
||
0) Backup your system
|
||
|
||
1) move select.c to lib/
|
||
|
||
2) move sel.c to fs/
|
||
|
||
3) patch -p0 < sel.cdif
|
||
|
||
4) remake
|
||
|
||
5) reboot
|
||
|
||
|
||
---------------------------------------------------------------
|
||
|
||
table
|
||
!"#$%&'()*+,-./0123456789:;<=>?
|
||
@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_
|
||
begin 644 sel.tar.Z
|
||
M'YV04HH$(=*D"("#"!,J7,BPH<.'$"-*1 BBH@T:-$ J,@1AD:.%3UN!%DQz
|
||
M!HT8-2K6B"'#Q@P9,6;,N,'QQHV9&V%,W,FSI\^? .K,H1-&3D4 <MZ\H0.Ty
|
||
M8=*E3:-*G4JUJM6K.Y&4D5,&1)HY(,*X"3LV31LX;,JT*>.&*)TT;\:^,0."x
|
||
M#IJN<\JD'4,'Q)P\0]6"&!.	NP9,+ H5.&# @%9MX899+&31T\(&"XB!'#w
|
||
M1<4D(-"$L=.53-RN<=GD 2&G#AFS;(G*6<UX:.4S(.)ZI<-"@9@Z?<F4&9-&v
|
||
MN&,Z;T# >3-T-PL0;I:"$#,\C-"NH,O@@3.\+_+D;<2NYOX&;=<[:0PKN"/6u
|
||
M>_+KN[VV6?LZ#&/5SW_WE6/_KE'D()Q11E]SO+$6"&:4T9@888RQA@L**%"%t
|
||
M&Y')04<=;MBG5Q[/V;555T5U%5U=930'1U)G\-<&6)6-P89KC4&8!%T%KG4:s
|
||
M".RU!1: =\B1!F-^&=A5;7V=^$:*8:SXG&33#<B84;89UML:T=T!UAW^#9F<r
|
||
M@'V%@<8;;#@V5Y '%L95&&2LUN./C+G1H6A]W?%&'6'ZUE6*9=@'H0)- *:7q
|
||
M&<^!EJ1?;QE6UVRWU97<'&GHT54=<"B7EVO)T4$'8,^)Y9B<=#JF '\>&B6<p
|
||
M'4L-"9NB=<&YYV-7!"&%$TDX<80.%0FQ%!JI=F7%$,K9-\9=8&F:ZE>YN=$5o
|
||
M'+[BNL96QK+QPAR_QCB& D( -RQ8<WS9J1LG]$48?.(IEY08::VX)Q)OW($Jn
|
||
M?#_J$&%(*8 @1(-K0 I"'G-""1AC;;P+0@SQMO$&:7[IU9T+8Z#*1AIBO."Om
|
||
M# $/C)=>"*-JQAP.*U#1#/$B2\>O(+0 AT<\%,P&PJ^9X2\-\7(5WK+^UM!Rl
|
||
M&6(H18<"6.6L\\X\]^SS3WF=/$;*/Q?]$T<793121Q^!)!))_\I @TTJL>22k
|
||
M###0($-*_\)0 ]8Y&2VV5$+)=M133%F%]MALM^WVVP"H(+=7;K@(XPL+6X;'j
|
||
MLX"Y@(8+DJ5Q1@)4H%$'"$0,!T)+F>6@ PPVZ"!##O_FD$,,"K2@.=UV"X=Wi
|
||
M99?Q/8??"5S1&.**;UVY#C'@\#CE,5B.N=RTUVZ["@K0#L(-,+!P0TJU9[XYh
|
||
M[[[;$++F+6@,@G9/EM667X!],4=>=(0WQQHHI+"#\LPS2S>!T5//51W%9;]]g
|
||
M1=W+X3SX<T@_(%=GE*^] BLLCT?SWT/??M#=F:^\\F9PPQ<6HZ_V$<8P7R *f
|
||
MN<JPA2Z H <@V(/^W'<A.#SG+^W3SH\N&+T*K8&#[3L3&7I3$0Q^84V, >$7e
|
||
MRL,6%;J(.650(7M^!(?BN/!,O)E@WCZ8N]OY$'>ZP\$,6( #XP6OA-%CPQL<d
|
||
MI$*X\(4-*C3#&-H"Q0F>!0\JI!X<XC?""=+)+!M4G@DQE*08>M%Z'YS@K]"Fc
|
||
MPK+91X5D@)0,5,@E.-1PA&*,7AU39,$)4H]1730AH\[0H+?$)8M<0F,6J:=(b
|
||
M!83 C^\K _E&*,A(<A$$?=@>\D" QH0D2;(2QX2VZ=$)D[0B72HH@FE2$45a
|
||
M7C&+ ]JB#;VXL#:$<91?(.-:VJA(-:*!C5X<RALG&$<XS'&"=;PC"9$92S["z
|
||
MD@Z S*+@"@D7-_DQD6&XWB('U,A'5I(.X[/A-^$WRTKNI2^9[*$*0+"PAC4Ay
|
||
M#,LR0WK* #@?#:YPATM<PA@' \>UCG4RJ-SEA-<"=C+L!>^,YSP)9SC4[=-Xx
|
||
M_62=ZV2 X'.[H>W4^?B:L""&<0 !$<$00):D+ 6)(<$*@ <"$C @_]5Y E"w
|
||
M4,(4*@)!ON2!.RK]@@;IH%(6ND&E+\R+2K>BOC>H%(7T3$XQ5?K'XJB4"XX4v
|
||
MJ7:&0YJCAN%'3 7G;50:'L,L$7 N-:@87! &6I$ !3"5:0J4EX"SNJIE8P!+u
|
||
M.\FZ4K3&= IKW>36.OK14+*5I"$[:4I/VM***"^M,WW@8"Z%T^3H% ]838Y/t
|
||
M@:I$H2:'J-$YJH\8H]*E+FI @'QJ5!,PU3%4-3DSY.FBM.J&,W"U,*5DJL'Xs
|
||
M E;#5F2N9:TK8M=:D;:BX*VLB:M8Z7K6W6KT8@B%9QGDF99Z"JYTI]/G1E<'r
|
||
M ]?%@":Q&^@FD9O0Y2[4=(Z1KNIB][@;Z C%E4G1FFGT>NR0 8S "E[;0L"q
|
||
MQ/8@ 9--C@A/N-FDTNT-PE$I<\N0P# L4*6_,4."Y,!42&U%M+TEUQ+7\(51p
|
||
M 54T<JAP&>P@X'EJF,.KU=-E\3 <E=:PL= I8QI$^\@$B.%'X8&#@*>82I6Bo
|
||
M\F25:DW=-%3;QU3D8H SJUW5RM:S,H$(\6J!44R*H-&==,AX)>B_;O#>^/J5n
|
||
MOO;%+W=^JM\\D8&_/_)O90#LWP$7^,#)2?""&\P=!B<'JA$N)84MG)Q?%>7#m
|
||
M'4X+GD.L6ON5.#DG]F^&UK+B-X_VQ=53S(RI:.,EUCC'&"(,9S^+X[ "^0U"l
|
||
M-FYOC8SDD"TY.9?6[5W7JKL6O<AS&'P!8TOD-^<.#KP.G2YYM2:Y@&87<YLTk
|
||
M]=U2O>K1H0&ZX4U=2F8] QU\+;WKM9U&:3!$&AB1O9MDMN_ZBCRVVMDH9OB"j
|
||
M&9#EH"W8H OGPV2XZ0>"$0A'GL9*@!.$((0L) '"4C "]9IF390QRAC0C2+i
|
||
MQA*&Z>0!2"IP6/W(/6]R@Q0$4YAM7ZX#%D2# (U@&=. 02 <:/EH,9+9-SOCh
|
||
M<H;1&7R=A2M15\(SAJ2 )3QN2 ,<Z*0AO]0!9 Z7IU[( !84> A!\\0@OQ[>g
|
||
M().# #[7GD,*(%2_@QN!"%^80A&H,(4D:*$(/%\-=2CN76,Y1@RTN<O/\R*'f
|
||
M_%CKYN>V#AOZDJ6/^T5;86H2"'P P2= H0A.^$(3@H %$*"@EC_R]= _+O!Re
|
||
MG[LR94C T9.^]*8_/0%8(S>Y5WWNC;<V 6;X,AJW5S]S5[TK3CBZ$)+ ] 2@d
|
||
M@%&.F@L*(O\%-,9KG>MN=PKDO4Y]*V<K/+\>2/M.;LNC._!?N@/*\X "+-YKc
|
||
M]2@(/AY2L(+@YR$%+0!8"EZ @N.O=>#0K\M-&[/<! RE-7Q!T)>I%T%R0U[Rb
|
||
MV5S#]]NG[RWD?O<H&+S2F>[T(CPG\T38/--3 &YR]T'[%*3\8RK_]W2K?^DHa
|
||
M8$UP 'PH,( MX .11WYYMP4!N'SP)W]3X$!\ $$H\%$\4#+!YP;Q4@(@\("<z
|
||
MAU<I\'Q^=WF"AW1#P 12$(#/,8">5X#(AX T]P7EUX OX(%,YT F $%^4($@y
|
||
M<(%VUX @P($V"((B:'N 5X)?D 13L'XJJ!P$:( PJ(#0Q( :6(.:]X$X:'<6x
|
||
MB(% *(17.'\A6'O]UQ6#]W12\ 0NZ&*.DA3!=VT@E0(N>$&-4@:BIP(N&(8#w
|
||
M5Q$CP!8IHU&ZYCEOL1:M%CBO%EW"MCHTX$_Q=6M2]H=EH&JP03JP)E[#YCB)v
|
||
MJ ,S4%&,F&S!HSLR0&4O(5]R(V6?V%&@5&V]51G>T09?\!4T1P?AEDZ&53_7u
|
||
M]W+> 1MV4!C=5S\)H$2M51=VX#YCH'^]R'' F$MY,8SVIW_*\T(.DD"#(6<Ht
|
||
M0"K%,3\5$8@$=HMK87.P 8WK1 <#&&ZF40<+1'%IHR(UK 8W8>$S8R(ZPs
|
||
M 3#;4VIU<VJ/B"%?00=D,(CV!&RQ-EZ**#D?Q8BY5H]W@X]#L8^_-HF'* ,Rr
|
||
M\#B1<VR;R(FCJ#LU,$0U4%'!LTD7R0(U0#E75FZ.V(.I)DP\A08^H#PC,)(\q
|
||
MP&NPX6LIJ8<LF6K ,0>#1D\H67LLB8U^$Y,B:9#"T8/ $8DY25\K&7G+!0)?p
|
||
M\ 5,D 1"( 6ND@5+J5[)UEZ3PP(QD1$;N3DQT3LQ83PA:83&HI1?X 12(#V,o
|
||
M%'X)8 ,YH))C2)9F24'A1 8)P#MN>7EP>9;B4P9<5)>8PW]XN91QR3]\49<Rn
|
||
M$%9BV172 Q@'Q 8P8'/3QP(W&2]P)GW<D6+;2(UD0)E4N5X:)34Y\%X7*8JXm
|
||
MHU<K(9JGJ#G*HXH!$DMW-(UO4(WA=D?0N$=R >P*9O*0YL$ EKEHYGS4WD[l
|
||
M290I63^L29AT@ *L22'/07K<IP*5T9S;-R @-2<YY)S4J0+:<4'@9(MU@8NZk
|
||
MJ )T8 <@8(T^5FY\>(X:M2SJHQ>BTY@NX&3]B$__"%$P8&PTP#H#*3M2QI[-j
|
||
M(CK\\@7P.0<,E4^I8Y_XB8F+R)\469%SDY$L<!&D*49AH&UL$ 8=IU@X0*%?i
|
||
MP!5#(1FP!T$L\3^/Y 89IG-J(:"P!180= .'25\%QQ'K] 1I!!I<TBO\81AZh
|
||
M(2ZJ"'L]*@>ML1A7@@;SM'6)<G-FH$1VM!H50B9E(&40*J$A.0<5FJ08RJ*<g
|
||
MQ*$>BAQ<810B^J*/4:(GNB\IVIA8>A-A%:,5,:,UVII%4A2PM:,G\J/?0U20f
|
||
M DTX0J1I8:2_B*1*"@=,RB0U\J2ZXY_N"2UWL8]CX&K^2(F9\9 P\) S4(G:e
|
||
MM3F&ZBR(*BV->HCDE9&LDQ$329'MA0,<%3L>L94%U3H<Y9!6AHHBE0#5 P<'d
|
||
M:))ET ,P$(O_4S^:^7!T\A:MV!9VNA@,HV=SD!9E <KY :?UYW91Q37(SW,c
|
||
MVA=R P<-]!S+*0<BN ?>QYIIP )YP1;$6(O-&G[0BGW2&JM;$)=N!W?UQXOGb
|
||
M:'<A,(#>EP!<<2'JPXSN2A<H, 9U *2Q\4 09 +*F7)T4XP+.N@9X^*K(a
|
||
MDG)C@ (BD+!; ,.!$YY<*2+8JQP( +!*5+O&H!RP';J^G9.((+QUK!I\+ 1z
|
||
MJQ0\YP:T$7X[DK$*LK$="WE,HIRVN@->P0,FJK-IL (K8+(2A*YIX$ 09(?4y
|
||
M6K0UNZ8%N 5*VP/\ZJ]M08Q]0&Y<P1WVH0,)$+5<T1:SZA9= 4%4$ 13L 1)x
|
||
MZ 144 12( 55 54X)1,4 3A&BUQE!;^PXO?.A80=*O>UZ0X>ZL[V[-> ;0Fw
|
||
MFP ?B[1.VP7Q8@(F %)-J[0A4%/]VK5T$"_:RHOQA@)R\[B*.W2TFK/S:GT*v
|
||
MHK?_0HP)4+68JQ=Y,:\2A+A/ZP15P 1,8+H5\;%$J[BA>[M?JR&@B[FHZ['Zu
|
||
MFK>%>P9+T658"XOVIWAY" *[RA[+DDNX*:[>0:[2*U_R6A':FHKZ&BF,"U(#t
|
||
MV'UP$[[B.[X,$30(0[[ABS3HM30AT31,P[XE\34Q8#P@L!(MX5$N>ETE 0,Ps
|
||
M, ,T$#;H2[YN9!0:L39J8S,!G, *O, ,&\@4#C$,G%C$!=$41D[HG5&,@:-r
|
||
MT:\E@B!,<G.BX09DD#>X,2;(J3&X<W AMSQM,1O*$9LZ\CV50J1@,7$A@L(<q
|
||
M81KN<TY:VV85T@:Y@G!%$+=#0 7ZLW.-B<(9LY) V14\D#>A V0YR<2=X\10p
|
||
MO#>7VI,*0,7VV(-7K&J7HL5<#"->##I[DZD*F9)C')0\D$UM\"Q\N19M(<8Lo
|
||
MZ<8 JA9TW,0D"1BJ-GTPN<4SR5JN-<4L.<%N,!1Y7,4]B%E&1<AZS ,\Z<B*n
|
||
MW)*"DR$GDY-;_)9!@()-,'=EJX4]B(%-=P2;+ 5-D'QAF,EX*09K^ 8H,!@$m
|
||
M)(>.4IX/IQ;4LZ^Q? )< ,GX*USN%;I,Q:[V@:]F@:_^B1!^A8+)#T:FZS+l
|
||
M:JYU0;W1:KW5FC]N$(X18I(IFS_$/';&7*PSVXK9IA:+P7O5F[#EZIUR,X5=k
|
||
MP +7NE82M)R*%0/AYB)IX#\5T<V^^J/)/*P$!L['ZLS0))G8&FX?R[6Q,:N5j
|
||
MK(N-6\J=3+9+P%L1-!B3F] ^,$B6# (Y" )^X-">O 3A5A&DR[<54;4E]!;Xi
|
||
MS!H#TJ_*JH';4[4*H,T)PYJ6D@<[W#\8@M&G8V=NT"S6^CPJP$+8J@#::KC/h
|
||
M(T*KL;?;8WW37-/IG'W?>"F*1054()5C*P1QNZ\AW"SS8[CZRM/-(K)G2=59g
|
||
M,%-\P <@$ )"/3/V.A8M4 1",!!&L-2'*]0:+<1,<+;QH@ )4+OZ6@1-X+99f
|
||
M8'.7,JO#$1>),1MAV-<R:M<;[0=*E]>QLM3HPP9Y\1B,71%(#;3;P]=UW69We
|
||
M'=E?\ 150 5[S=@?:P2QRP2$G0<'B%1?$ >+#1)!#=J/+=JD3064O3R6_:29d
|
||
MK=)HD@><S=>U#7NW/<1?4 18L-3URM(H@-3S ],.7+T3IP+H]F7,A9N$ LVLc
|
||
M.&;"L4X7]]-]X7KPO)K/DP;AYK=ID+,[.[)PY[- 6Y[*X]=VA]!>BX#ID;0Xb
|
||
MV+C[6M'WG=V)>X#9-L$8TA>1FQF+:P+S#1+]+;5T(.#Y'> (^*MD!K"LH7()a
|
||
M7M_^_>#XS0;Z+>"E5^&-JV]A"#7-K3X-3KD0[N&):YXGKJRPDM=&D 1, 71z
|
||
M'7#^$M-NL<VL&6@WS1>O7+W='1U!J0+AG3_%C:T)0-3FO1]>EM298=#ZFN2Ay
|
||
MC=RQLE9>;7=0D 1OE]R!7=6:>W&+G0!4?MR2[00ZZ\#])D*# 5LX,B=I)V$.x
|
||
M,GM\K;J^K=E//MSTK;F.C=>C7=I8_K%;WN6J+;MACN%83N:.K8.X7=IIOD[]w
|
||
MAE1M;BAC8A_LE"?-$5!85QMOWBG3(6=T3EJ]S==X'MQZ7IVVS>C(K=R/#ATCv
|
||
MIL'"JALXCN=M_=Q/'MT1H@#'&3X*]\HY7<FGXXNXH0)J!GOE[<!0L!4_',3(u
|
||
M&8!=%)VY 1S/L9W &"\H"L3P2>?+208[@)W26AEPH+/>7IW $>[X]YS:8>[Gt
|
||
M#)Z'(9YV$.Z0,9U] >W6.>UXL#WC;L&C84;62:6D8>_^7@;;L^YKD8N',9[;s
|
||
M\^MG8'6.AQO8B._@)WN]!%(J]QRU;?''.O#37-W9#4X:S]T47N1C1D )?\C r
|
||
M[AC9(AGS'N+"L3VC HVCLCVL*=3/P:] O+?/84O6Y-0T=D&^Z2C/@=2*U3O q
|
||
MG29?$!URT%5#+_/G_1SUMCUNJ )C ._G+,W0O,YSD*YGN:Y.4'_"#AUEP!X7p
|
||
MFO1+$B:%411MT-DB[1@4J(HIP"7:1DH<AP+%+@>$:]#7K%BC)^]O"/<7\P7"o
|
||
M3O=UH&!;<??*8YV10H'CK@)O/R!Q#_AS7_>&CS[;H?>+W_@%^_>!+_E!&V[Cn
|
||
MF?AV1_ ;5AB,[_=RWUJ"3_@%O9I?#?I:711O^/D2+4'JS=YI0,FA9P8V9P?:m
|
||
M,[A!N^ 5$7RLR?@F,)XID+B*9?HR^&]E@,LKD ;F>8VG D'CB;#!F(P'AP1:l
|
||
M +UL_O6CXR*LT[:'R\OT#7\>_[;DY@@,'=8\ 50P)1/("MV!P-X8 3V?__Vk
|
||
MSP0A P)J<(XR)W0+SG:="K:S_NB.^X-_LB)>8"/%POX.(!.(?T=@_\6 V:4\j
|
||
M[H^=^TX' H(TP/?W &5%JZL,_2?,8$ Z9"UF'=@3>VA/L?0_!9,&2L0*>'ABi
|
||
MY.>%K1\DPE; #4@!/L '< PI5]]<7]1+ >!.HOV8F[7> -?M:RJ. K[]/JC1h
|
||
MAC#,&S(!^HXT'+^BE?P<W]_;=,UOZCT_\V3G%EP94EMH" H>LGUGG@Z:#W2"g
|
||
MC _Q"4$/9A3^EL]J23)0":[!X/?ZC +QZW=D$/E!$.6'!9T?] LW71 D?,$Sf
|
||
MA ), !Z4@CP0E^F]'YCNUF#M,X)P$)K,(3D(_'[0#S0!VB'@34&CY:8>7Q_4e
|
||
M@G^0>XPZ08ATS% 8S(1D4.U%BV>4@-Q%[2)=45#@503KI%@.H2S4#HH%%9(&d
|
||
MG76>YHU]XW#;9H<E$*D&09+/#@@XK"<L3(\ZL!9HQ8AX :,"C*T&$ZAR+%_$c
|
||
M6P-/L#+HK/)@#4M/^'F"UDEG':MNB$:>H';P?)="0#T/I:8\RJ&(2F]$<.EYb
|
||
MA1X$';B=[[-<"\ZNZ3WHQ+UBC\+Z 7XN5H 6D'2.,)GNVNF)S> MA4 01J=a
|
||
M;@N 4VX<-JZ$:-<8HI]C=0L.(MJ=M3;1'!B1N!;:A\Y!C8\U>O(;.%$LOW#%z
|
||
MZ;=XT0,@2(S[ C.NQN%#J%$1;)YB>6MQC0C,M4I8$<3 F5@#(8TCW)_S!!)&y
|
||
MWDF$(!U/#H X[R;P*N&\,8I*T0=\,[TP0))"PH @6.(-!,576![ R0&:BFQ x
|
||
MV[ ]KZ"S3&!19'DS$"I^1;1XUY+ %ZAJ;V<K>@5]I1:EX@!1.65@)M)$H6<1w
|
||
M?5RS@XK/P1""MNA'$DABGQ-M I$E[JW34PT?V^0! 0[,0U&GRH @+M2P<Q@Tv
|
||
M<2[^H,.(W'*;8D1PJ$ZCZ:#'&!E%3E^@A5;J,O)$S1A\.&->4VZTK"6"1NW$u
|
||
MO49C^&EUDK$OX,+4&.H^EEIK,PHPZ_&\M@"T.*' JHO&++40QI+&VR[;QS)Ft
|
||
M B,HR4:W. 20@*M(.F]G""2!3:87H<:HT'LOKW+]%P*R%O7 :9A8]2<SS@'Ts
|
||
M\#%P!0J8.TK@":2@41&"ND]FK(G9I"O4 %KAP*#AAI&&(O$^5H3O*+D<W &Jr
|
||
M::W.#+@Y590<S.)]](4;3L AJZ Q#*$<>@N0F9$P7+;\!!G7B7^T ](0"V2!q
|
||
M[><@,^/'HH_V44!R!)W' &.%?$0!]%$NFDA]%8"8H6)Q:LU.YP7&M18O"" ,p
|
||
MF(,JDB]"D*>W&J%&(%21(,$F#DEF*"-IHF&T;0'1"<3&Q4@4563K:HRV\7K@o
|
||
M1M-(-RHCAL*02+(N",=T2&.*HV(16&3M+08!K%8$4(#.>T')"+$5A3S@ C(8n
|
||
MX,M'R_$^FK0P^22-FY_SC!;N1U9) =FZN*%CO(T=4J5Q']1H&<$DDIQ"PY$.m
|
||
MF,F A0+2Y%7+:F_RM?67V%8GK>*=' IY,C,.Q2)9&&FD:TQN=><S"DK:*!HYl
|
||
M&FD$;UQR-S9*'/?;]MQOW I[#4E:P-[6$3UD-*QIBN5#O@#+8"A*Y'UDE8=2k
|
||
M2Y+*DK8LI\-/;)(#<KF(G;[@"E4DLLR20'$U[DF0L"LOFP1Q8$A/Z4T<)B'Gj
|
||
ML.$<X [$(3QA1IKHP,).KQJ(1>\Y2+HGL 2<WJL[5H9D+!C+/<</J]R9 Y(@i
|
||
M :D=/<G054[=2)QRAO)/ CI2*3##96$PF"3A6KK*VU@)MR4FR8@@H1Q>H'>Hh
|
||
M$=WD-Y2-@C)[D01W6+HJH<KA; H191XKB+DG[X\#:U)FD?7]H!!@\S(<"@@!g
|
||
MT$VC-:Y(J3-'X.Q+E-Q'+(2%L0?$A 5 @P,O(+4XROSAH7J57 03B8%HHL0(f
|
||
MZ0/.7M*3B[X1:EI-(';63N#6Y %:DV@"3(IF(*NFU!R286]KRL6F.784BS[[e
|
||
M9LWL'.F4LW I;,X<8 &1,D^F1+.9 B%(V$1[<G'>S*FV@#U$ -ND SV@!'01d
|
||
M8X$"DU[B["(K\/\]3B[@!D0 "SB<DBEM$DT6$#E;H- YANNR*.HKG%DB>M78c
|
||
M?'$HX$=B37W%.+>F#^B<)6)L$B\ L0HI3 *2BQ>0KZ%.U5D!_860+'HVS6&Rb
|
||
M@41(.H,;".B:-5-Y2!#463-Q%4@HC0*#8" GGB,'U@!8P'$.C".HM^A 0!0+a
|
||
M4_19W/,DE@PQ2&:TWMEZ D2@"$0@\-D5[=X2+)5V!SD*PPQFX;)BO)"?%))^z
|
||
M*K4 ^1ROF2,D@K8O$H(>6?BSWB=(6#F9C_PPO^!3!XE?9=B$+* )PC[&%P2Wy
|
||
M8")4@PON$;Y!)$A "5<E1*"><(%*4#EP!X$#!!VA:;#<$9]0N.<:808%H)"0x
|
||
M@U)"J %"KZ (;: I !,.G\0507%H([2@&%.EU3KH]M(B! ,[HD@TB2K1)4H5w
|
||
MD-/Y8J(Y0WTI#9+P-)R&^P(),2!K9(3Z937PET/B&EFT!L" & # H.C/&&!Gv
|
||
M X$=,*A@1MNH&_4)ZF\I-:6G%)6FTAIS8I%,C;$DA*2/M)BN>Q[-SIIUD<5'u
|
||
M-Z03!3DX]>[<92?[\1S$2%-C=P?'^!&UGV/R%EZP,T9U;PO4@/0X'0;?@D&/t
|
||
M>D_A,3QAEP)$6+C)I#& $Z( 47I)6PL0= .GU)-NA2T@ U0I*W4,I#0<*H],s
|
||
M.@-L:24=I1PG!9S#72I+Y< 6H &^5*?ATF"*\)0G??EZ2\E#\4+EL93<V%)Br
|
||
M7F#"/A0IB,6:2 #]PP$P0 08%L9&*T1 #P@#XA0%1-/8.4XK0CD-IW9',.DEq
|
||
MA9,"6( ($ /I].X$T]2W8$)0[SM/'VN=@@4?&2\P&ZUC:?&S+<0+@3I-T0>0p
|
||
M&A'%D*'2EQ<7,N@9?:E:, UGO-&-RE$[JD?]J" UI(K4D4I22ZI)/:DH-:6Jo
|
||
MU)7*4ENJ2WVI,#6FRM292E-KJDV]J3@UI^K4G<I3>ZI/_:E -:@*U:%*5(NJn
|
||
#4=VIm
|
||
l
|
||
end
|
||
--[0252]--
|
||
|
||
[0253] daemon@ATHENA.MIT.EDU (Peter MacDonald) Linux_Activists 12/29/91 04:12 (11 lines)
|
||
Subject: select comment
|
||
Date: Sun, 29 Dec 91 01:08:21 PST
|
||
From: pmacdona@sanjuan.UVic.CA (Peter MacDonald)
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
When you go to compile sel.c and it complains about an
|
||
error on line 84 (or something) just edit the file and
|
||
delete the preceding line, which looks something like
|
||
|
||
if (oper)
|
||
|
||
Peter
|
||
--[0253]--
|
||
|
||
[0254] daemon@ATHENA.MIT.EDU (Robert Blum) Linux_Activists 12/30/91 04:10 (11 lines)
|
||
Subject: Amaru Linux still not reachable
|
||
Date: Mon, 30 Dec 91 10:00:23 +0100
|
||
From: blum@cip-s01.informatik.rwth-aachen.de (Robert Blum)
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
Hi Linuxers!
|
||
|
||
I am sorry to say it, but the linux part of amaru (in fact, all msdos stuff) still isn't reachable.
|
||
So please stick to nic.funet.fi, or tsx-11.mit.edu. I will try to bring this up as fast as possible.
|
||
|
||
C U l8er,
|
||
Robert Blum
|
||
--[0254]--
|
||
|
||
[0255] daemon@ATHENA.MIT.EDU (David Fenyes) Linux_Activists 12/30/91 15:13 (50 lines)
|
||
Subject: shoelace; compiling regex.c
|
||
From: David Fenyes <dfenyes@thesis1.med.uth.tmc.edu>
|
||
To: linux-activists@joker.cs.hut.fi
|
||
Date: Mon, 30 Dec 91 14:01:59 CST
|
||
|
||
Hello Linuxers,
|
||
|
||
I wanted to compare notes with some others who are running Linux,
|
||
since I'm new here :-)
|
||
|
||
summary:
|
||
|
||
386sx/4meg/20meg partition on drive 1.
|
||
no Minix.
|
||
|
||
1) Linux installson drive 1, but didn't want to work on drive 2.
|
||
both are RLL, same controller.
|
||
|
||
2) Does anyone have a compiled shoelace that can be made available?
|
||
|
||
3) gcc chokes on regex.c in the GNU dist,
|
||
a) is this happening to other people? (see error msg below)
|
||
b) can someone make available a working regex.o ?
|
||
|
||
4) Has anyone compiled Jove or Emacs? Jove chokes gcc also in
|
||
a manner similar to that of regex.c. Maybe one of these
|
||
editors could be made available. (I am now using uemacs).
|
||
|
||
gcc choking on regex.c:
|
||
|
||
gcc -O -g -I. -I../lib -I./lib -DSIGTYPE=int -DST_BLKSIZE_MISSING -DSTDC_HEADERS -DPOSIX -DUSG -c regex.c -o regex.o
|
||
regex.c: In function regexec:
|
||
regex.c:5285: The following insn was not recognizable:
|
||
(insn/i 117 116 118 (parallel[
|
||
(set (reg:SI 2)
|
||
(reg:SI 2))
|
||
(clobber (reg:QI 5))
|
||
] ) -1 (nil)
|
||
(expr_list:REG_DEAD (reg:QI 5)
|
||
(nil)))
|
||
gcc: Program cc1 got fatal signal 32.
|
||
|
||
|
||
|
||
Thanks very much,
|
||
|
||
David.
|
||
|
||
--
|
||
David Fenyes dfenyes@thesis1.med.uth.tmc.edu
|
||
University of Texas Medical School Houston, Texas
|
||
--[0255]--
|
||
|
||
[0256] daemon@ATHENA.MIT.EDU (Linus Benedict Torvalds) Linux_Activists 12/30/91 16:58 (47 lines)
|
||
Subject: last call for 0.12 and gcc choking
|
||
Date: Mon, 30 Dec 1991 23:47:03 +0200
|
||
From: Linus Benedict Torvalds <torvalds@cc.helsinki.fi>
|
||
To: Linux-activists@joker.cs.hut.fi
|
||
|
||
David Fenyes: "shoelace; compiling regex.c" (Dec 30, 14:01):
|
||
>
|
||
> 1) Linux installson drive 1, but didn't want to work on drive 2.
|
||
> both are RLL, same controller.
|
||
|
||
Interesting.. Can anybody else report similar findings? What does linux
|
||
say on bootup - does it say "partition table" or "tables" (note the
|
||
"s")? What does fdisk report?
|
||
|
||
> 3) gcc chokes on regex.c in the GNU dist,
|
||
> a) is this happening to other people? (see error msg below)
|
||
|
||
yes. I f**ked up when I did some minor "enhancements" to gcc.
|
||
|
||
> b) can someone make available a working regex.o ?
|
||
|
||
compile without "-O", that should solve it.
|
||
|
||
> 4) Has anyone compiled Jove or Emacs? Jove chokes gcc also in
|
||
> a manner similar to that of regex.c. Maybe one of these
|
||
> editors could be made available. (I am now using uemacs).
|
||
|
||
Gcc choking is probably due to the small hack I tried out on it - the
|
||
string instruction recognition. When I get gcc 2.0 going, I'll leave it
|
||
as-is, so that these kinds of bugs don't show up. In the meantime, not
|
||
using "-O" for the files that result in errors usually cures the
|
||
problem.
|
||
|
||
I have also been adding 387-emulation to the kernel (+,-,*,/ and
|
||
comparisons mostly work now), so hopefully gcc 2.0 won't need even the
|
||
soft-float patches, but will compile and work without changes. Linux
|
||
0.12 won't have complete emulation yet, but I hope it will be good
|
||
enough for most things (ie no trig, exp, but most easy maths). I also
|
||
don't handle overflows/NaNs etc at all now.
|
||
|
||
And finally I just wanted to remind everyone that January 5th is the
|
||
deadline for things to be in 0.12 - I'll accept /small/ patches after
|
||
that, but nothing major. Note that if you have started on something,
|
||
don't feel forced to send in a half-ready patch - I'm sure there will be
|
||
more revisions to the kernel, 0.12 doesn't have to have everything that
|
||
people are working on right now.
|
||
|
||
Linus
|
||
--[0256]--
|
||
|
||
[0257] daemon@ATHENA.MIT.EDU (Yanek Martinson) Linux_Activists 12/30/91 18:27 (26 lines)
|
||
Subject: compiling regex.c
|
||
From: Yanek Martinson <yanek@mthvax.cs.miami.edu>
|
||
To: dfenyes@thesis1.med.uth.tmc.edu (David Fenyes)
|
||
Date: Mon, 30 Dec 91 18:21:49 EST
|
||
Cc: linux-activists@joker.cs.hut.fi
|
||
In-Reply-To: <9112302002.AA04802@joker.cs.hut.fi>; from "David Fenyes" at Dec 30, 91 2:01 pm
|
||
|
||
I had the same problem. The fix: compile without -O optimisation
|
||
option. Works fine.
|
||
|
||
> 3) gcc chokes on regex.c in the GNU dist,
|
||
> a) is this happening to other people? (see error msg below)
|
||
> b) can someone make available a working regex.o ?
|
||
|
||
> gcc choking on regex.c:
|
||
>
|
||
> gcc -O -g -I. -I../lib -I./lib -DSIGTYPE=int -DST_BLKSIZE_MISSING -DSTDC_HEADERS -DPOSIX -DUSG -c regex.c -o regex.o
|
||
> regex.c: In function regexec:
|
||
> regex.c:5285: The following insn was not recognizable:
|
||
> (insn/i 117 116 118 (parallel[
|
||
> (set (reg:SI 2)
|
||
> (reg:SI 2))
|
||
> (clobber (reg:QI 5))
|
||
> ] ) -1 (nil)
|
||
> (expr_list:REG_DEAD (reg:QI 5)
|
||
> (nil)))
|
||
> gcc: Program cc1 got fatal signal 32.
|
||
--[0257]--
|
||
|
||
[0258] daemon@ATHENA.MIT.EDU (John R. Schutz) Linux_Activists 12/31/91 11:44 (23 lines)
|
||
Subject: Problem with VCs and Kermit
|
||
From: john@csrnxt1.ae.utexas.edu (John R. Schutz)
|
||
To: Linux-activists@joker.cs.hut.fi
|
||
Date: Tue, 31 Dec 91 10:33:06 CST
|
||
|
||
Has anyone else noticed a problem in running kermit and VCs? I boot
|
||
up, run startcons, and then kermit. If I switch consoles at this
|
||
point, I can do anything I want, and no problems. But when I get
|
||
kermit to dial, if I switch to any other console and try to run, oh,
|
||
lets say ls, or sometimes if I don't run anything at all but just
|
||
switch to it, the system goes hog wild. I've had different results
|
||
ranging from a panic from the kernel to automatic reboots to even
|
||
zapping the drive information section of my CMOS. When this first
|
||
happened I thought that maybe I screwed something myself, so I
|
||
reinstalled a virgin copy of the linux source and repatched it,
|
||
installed the 50 line VGA patches, and tried again. Same schtuff.
|
||
Any ideas?
|
||
|
||
john
|
||
--
|
||
| John R. Schutz | Email&NeXTmail: |
|
||
| A learning NeXTie | john@csrnxt1.ae.utexas.edu |
|
||
| (512)328-0587 | "We are all victims of dead men." |
|
||
| 3009 Hatley Dr., Austin, TX 78746 | -Charles Fuller |
|
||
--[0258]--
|
||
|
||
[0259] daemon@ATHENA.MIT.EDU (Peter MacDonald) Linux_Activists 12/31/91 13:45 (26 lines)
|
||
Subject: VC consoles problem.
|
||
Date: Tue, 31 Dec 91 10:34:53 PST
|
||
From: pmacdona@sanjuan.UVic.CA (Peter MacDonald)
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
|
||
Sigh.
|
||
Regarding the serial/kermit problem:
|
||
|
||
I actually discovered this problem by inspection of the code,
|
||
before seeing any symptoms. I don't have time to do a cdif
|
||
to patch, because I am working fast and furious on finishing
|
||
VT100 emulation and psuedo ttys for 0.12. The latter is in
|
||
testing stages with select.
|
||
|
||
But if you want to fix it edit kernel/chr_drv/tty_io.c around line 348
|
||
and change
|
||
|
||
if ((tty>=1) || (tty<=2))
|
||
tty = tty + NR_CONSOLE;
|
||
copy_to_cooked(TTY_TABLE(tty));
|
||
|
||
to:
|
||
|
||
if ((tty>=1) || (tty<=2))
|
||
tty = tty + FIRST_SERIAL_DEV-1;
|
||
copy_to_cooked(TTY_TABLE(tty));
|
||
--[0259]--
|
||
|
||
[0260] daemon@ATHENA.MIT.EDU (Peter MacDonald) Linux_Activists 12/31/91 19:11 (10 lines)
|
||
Subject: Re: VC prob fix, + VT100 emul
|
||
Date: Tue, 31 Dec 91 16:08:57 PST
|
||
From: pmacdona@sanjuan.UVic.CA (Peter MacDonald)
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
As Linus has pointed out, || should be && in the tty patch.
|
||
|
||
On the brighter side, I now have VT100 emulation working well
|
||
enough to support the VAX full screen debugger. This, only
|
||
because I gave up trying to reverse engineer the VT100 escape
|
||
sequences and fetched a manual from work.
|
||
--[0260]--
|
||
|
||
[0261] daemon@ATHENA.MIT.EDU (Peter MacDonald) Linux_Activists 12/31/91 20:52 (903 lines)
|
||
Subject: VC, select et all
|
||
Date: Tue, 31 Dec 91 17:40:22 PST
|
||
From: pmacdona@sol.UVic.CA (Peter MacDonald)
|
||
To: linux-activists@joker.cs.hut.fi
|
||
|
||
Well here is basically what I intend to submit to Linus
|
||
with possibly an additional patch or two to tty_io.c for
|
||
ptys, in the future.
|
||
|
||
If anyone installs these, let me know ASAP of any problems,
|
||
so as to make the integration as painless as possible.
|
||
|
||
Here is lvc 5.
|
||
|
||
Peter.
|
||
|
||
table
|
||
!"#$%&'()*+,-./0123456789:;<=>?
|
||
@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_
|
||
begin 644 lvc.tar.Z
|
||
M'YV04HH$(=*D"("#"!,J7,BPH<.'$"-*1 BBH@T:-$ J,@1AD:.%3UN! DBz
|
||
M1@P:,&I4K!%#AHT;,&#(D'&#XXT;-6QLA#&QI\^?0(,"J#.'3A@Y%0'(>?.&y
|
||
MCM"&2YL^G4JUJM6K6+/V-/*	LW=]*X.0/B:!D0<,+0&8.FS!P0=-Z4]0H6x
|
||
M!!.Q=?# E8LFC)VS5M+(H5,G#!L00]ZXF=/5K0L%5-K..9MVK>2R<L[&!2'Fw
|
||
M;!@X<-BD*4.F[)DP8HN"^"MG3AK%(&"X,/E8 5>D=-"\F0S"35,08N&V!;'&v
|
||
M]QT6(*P,>6OXZQT0<^Y\AB.6[)PQF<NX =XFS!FW"L+F!J&&*!WAFM_480OBu
|
||
MC9FR(,S4<3.&SNOM:\KD0=Z9SITRVJTF&&&&0>>6:XK-45L0;#"&W!QU@/;&t
|
||
M8/%-F!P5,<0$PAER?(9&&F.\Q=91;_7U5F<!AD$&&:0AIQ8(;)011E$*:*?>s
|
||
M&6CL!0)1F@UG11!8Q%>'5]!A!^!V+(I1QQG?R5%;9&F\51E[AC&&UE)VI,'Br
|
||
M6]=EMYT8;(3AQAK558A48(,5=EABBS7VEG@YBN9&7H\EL5T99IA11GW(_;=Aq
|
||
M&>?E%J69\67WH%AC #;$7)FIF,=<7XVAEEOP*9EG&7(H >F((R18&-PT;%?p
|
||
M>VZ<Y1X(=WS('@JYG35&'7)DY@8=;#P:1GUI_/668F6D@.J,;IQ AP*=E<ECo
|
||
M:6+F(5T>"E84V5E@BID?4JZU$=JC/+XEZ(EU7"J'BVZ0H8"G<##+69AC:BM7n
|
||
MJR T>EB71W+6K9Y.*J" $(^R:$880]+!'[IDCH5J&D1V!@(9488!)FEEG2<&m
|
||
M4X3! 5<:;93A@K-R::=PC,#YJP"/(-A;T61TT(%I&R"T$.V8O=F;*J9G;3=Hl
|
||
M&+W5T49G2/7W7X >B5F:#;)5- 6@]@F<1J!RZ8&I7 C/L3%X1YN&FAL7@Y#$k
|
||
MCA VARUO[,YY,Z<9(E>QF&5F"$(;>)FL(&0?EC@CHS*2\2B*VZG(8FF;%774j
|
||
M6@D2FH=Z%]NK7*=O5"RB8F:D<0:LZ6%]E@PJR7E6&V^P6'42[_U=!PA]_06?i
|
||
M%4<$ 6YIFH<LW:PZ@ER#1Y*?77D9R+4J\^QCL%$'BR_(F=<+GKJ1^!DNH('<h
|
||
M?)ZV4?&L.MB;P CZB@58$D04\<07H ?QQ>I?,)&$$T5,82^#5E+N.<D1NJ"Ng
|
||
M@1&[, 5G>$[H&6BUELGNE&@\U@3L5L.81GX@K*Y_J7- 3AG^LATX"2A-!>H=f
|
||
M8SB&@MKQ2V]PT(T8TA"&%"R(2X4K Z]ZTY06'4PQPC+3=Y#6J;Z,Y2Q3R,(4e
|
||
MII $+11!1S# PPQBXI'@*(E@9'#!&&HCA/9E!@2E.X-<DB6DP;3E6\(9E(G8d
|
||
M%R"UF:PTL%%,K<[FO+*$2P$TT]-SQ-"A\:FG06>[U8< & )GH6$I2\K1MCXXc
|
||
M(>243CLFP\UP[C A-I1& :<20A&H$ 08^:PV+0BD( =)R$(:\I"(3&0B[?4Lb
|
||
MZ)@,#LS)3/(4$)*4@4 (MUI#A("H'FHQRV0H\YGK//>PIKR ?' PGXY*28=3a
|
||
M JI\4ZA-16)@R2# [U'T<XL.*B*^L[#!#CL< \+>LQG-4:N3B3J88/84%SD\z
|
||
MZ@5$D<,IY3 &!23 0JF:%&NJ-JU2L0$Y9@@@<-QPM-&-LW:WFYQYV-<NQ:%Ay
|
||
M6 GHC'.2V"P0. $LR4M JR9 /JE# X>X0&,@*G#8?*3DB1IPAO&5P8VZ%!'x
|
||
MX;1B:283H_H\=#.B$8,+]"DR$,C DICCY.9.1T+5L<YY;T'!VQ2VT%X)$&'Gw
|
||
M093M<*<[// .<8H+'@?O\)@$@$\NW>$?A'[(+@C!;S1X.YFD) 9'9P+G+<%Yv
|
||
M :!V:,V?(N=J(SHA"*A0!"DTH0<*;(S_@M.&1[D #DM)7(QD"8(96%(*>RH<u
|
||
M=6+4T8RT #%R)=A92!;'-CQ4E*(DPV[:XI6_A@LM=3A/&?"PI\0^#:INL"8Tt
|
||
MYR#-2!GF!1.,+$)5<M<@S %":!-8;EY4.L,T2FZ<\XMF1$5+498L#Q\5;*EBs
|
||
M-QR['>T^AK'F:T4D)G8::5*E$<.C%MO8HI&%78)M0W$J5R0YI $.=&"K#=Y:r
|
||
M!E8.;#Q=*\-SDM"=[["U)G=E"^5*4X<5Z$5O@U&@.7NI(ZFNI:,XL&01&/LJq
|
||
MDSER;PKL: Y FCGUH IF6"O39)Q;(#A,B XG\N%96,7:%[Q6!KYJ51ZL:9:=p
|
||
MMDMC%</;ND1U$0=SN :!4T 6_#L'W0RI-,9)K>?,T,D#$N@P88V1."G*S*==o
|
||
M-T=&B$$+C$"#.O5WI&+RET@[U=OQIL$,CW*"%+XPA"<X80I/8$+WQGG.F98An
|
||
M=WBQZ6N#IX#-]'8Z2T$K!>UK!\/4P3.'S4SQYFJQBESA:&IL&W="4X;C&<4^m
|
||
MBF&! EKR5/3H#VWG<0U]>@3@0?EF+TSB6'[R4#4A)-9U1#5A26*@@+$MAH,'l
|
||
MLQEU!(;6-R3JLXZIB+T@LR<TD%-2A_&-VMC:R-UBQE4F_ X9=OG:&C*'#<O2k
|
||
MUG!>%2LX#BQ<8.G3A^A:D=?*["U90N!A^BJ6 FV'QO5AF 'E0Q\\XT<_(# "j
|
||
MU1#ZV@YW6R453G%1,47!PQAX,&L3FE'2VS=)?6FOZWYBH0H' O>.X074Y,^Ci
|
||
MN>K5'I#!9AJU%Q26LK VS.$%2?CLF><P29(8@7C6)HY^WN*6I>ZU#'$X\Z#?h
|
||
M!&!5LZ],DDJCPQX5XS(@E",H&&" .L/B'Y85+6IABUM28,[,0(@-\@[.B#H4g
|
||
M[=9(E(F;!M[)S0BSEN/O:IT[2].>AK>V"&:<<40KH-1R'RHO^F%'R6$LAPX"f
|
||
MST[F9C%"BJ%_\W(Q>,><5Y-M")?[G%0]:M%%64I^Q)DJ$*&!ZQ46BQDRDW%?e
|
||
MJWQ6XBP5PS9C,!.2(4:E"<Z,OKZP>G&=":1ASF&7>G"OP<C3:XADS'[CM+^0d
|
||
M =]N:2;#>"TK6C&ZHQP96LE.ACY=GT4L<2SS882+*N<:MSV/[FW%/W/QO@^:c
|
||
MZYMA5\DO]T$.GH?MJ.K+>9KC9]EKR4"^_S37/75B]CU(+E>#MKPW6--.P:KTb
|
||
M4Q0LI3S.H\>0Q EAJ-@41>"%+6P!"SO(P@ZTP 815"TR+QK4[C>%G#=LZMD9a
|
||
M9Q8N4C-?@Q18P'4Z$R\]<UA \W/LXAR8(BF\$2.KAQ1,<'_#X34X\Q99(%%<z
|
||
MIP6O!@)8L (QX%:B-((Q4!,VMRFX\A>U8DX#YCEO(W-CL 8$N($A0Q*"EDQ'y
|
||
M!AT9="5OP"'I]U]$)1?J00=P\&CC%GV-8TS-=23( 7S#L3(V:!\5@RI?%%RPx
|
||
M)B:RAH&#$E24$C7S(1KY,46;P75] 1H!,A^P!T>XY16GQW5" #!]AFJ(QQGYw
|
||
M\@9?8(68<CDQ)26[X1H+0ULO<H1)>![49T<(>!9")#_K,ASP$B#EH1IO$S6#v
|
||
M0H4>%!QUQQX2:'(DL7.W$D>'4WT&\Q6JH5+G$2,S<AY(YW\]DG^NAX6M$2C*u
|
||
M-WU9F%IJZ 865!&.%FB( BT 8RQ9 X>D,D6>QFMO\6_.-19<MRG.53F[\AXEt
|
||
M-TZAF"M',RK(Q86<<BIK-"C.87X@@72J518KPC T0X-5*!>3\7KOH7.*\05Ws
|
||
M8'OXHR2T^"+=,6$DX7%T) <V6 (9(ANH)S0-Q4Q]YG'N,D7_021.Y$&B!%WFr
|
||
M\G<P<B ^V&B)A8"/(E.W(S]M@3+&@1QK1H%GD1E;HCB7=H_LY!=OH"6D 8X<q
|
||
M005TA!:BHGF0XFG =7WDL4[T4R:BI&9Y)2=DP2M<9R'^(1=J12D,E@=?\!HZp
|
||
MY"LE=HO-41=.I).'Q2)VT!7^9V>UH0!!4(/&@7C?86?)DX,@< 03(EM6(P=Ao
|
||
M@C*G0GVM@3\MYV<3HCC-YE (U01J(2AOPP3\0@>E@D1OJ7T_YY 'XQ8DN3:Cn
|
||
MI@ JD)B*N9B,V9B.^9B0&9F2F9CV @?=(4R*$09 L$ N4 =9$DQAH !0 "A]m
|
||
M:)=C0 29:4= ( 8A\DEUIB!"9 <NP)HZ%)H*H!6XF9NZN9N\V9M8D5S+10:^l
|
||
M.9Q"81,8\1$@(1(DH9PD,4LSD!']TQ(V\!(U, /5.4LP0 .0LQ/$V9U481Y'k
|
||
MD111X118,9[>>9[HF9[J"0#*Y1NE\0)4Z6%YX%9C (9,0.5%ISU%I^OE1'Uj
|
||
MF1$TD)_NN9\#))\7T2GV"0(7(:#,!9\%^FT(FA$V4 .WN9X6>J$8FJ$:NJ$<i
|
||
MFIN"56(-Y5!CT*'$R1$7D1$CT1'(J:(I"A(F01,KT1(U0 ,O00,U4!,E 0,Oh
|
||
M(0/<2:+K"9Y(H1'F69X0XZ-&>J3I.0(8R2(@P -%@3!O$#P^H !*2A]6UJ1Sg
|
||
MP"PO4)122J5+>A8\@"ERX!M=6B-X$$?;L7,@H )9.@=?(*:B411;T 4[8"_=f
|
||
M(18H 'N8<09CX)%]@10J<!1G8 =SF@(*L <!V8,J)0=\"@(AT -MY2N(F@!Fe
|
||
M(&:S8@8H\*1BBAPB0!3>40:[]*&$=1@\8&SI5P8^@*6CZ@:GFJHFP 5N( (Id
|
||
M4*<)L%A'@P(Q,*M#UP<!^0(JT"FFJ'1@L1UF0 8G\!8J\ )#5SN[408H .Zc
|
||
M"A+,.AFX&JT<,:W."F%U.G2^.IA&P1Y[1V]I47I ^&ES<*P;@D82DZQ#1S*Nb
|
||
M008HH*O<^JNNN!VE\AROM:;*"A**6J^+.JA;$ -=@!S3(P5$< 52@!S0"@(]a
|
||
M *DMD*O69*MT@ +:.G3_!@?/:JT5<;$96Z<@05RU@[&"2J@R,+ @( (M( (*z
|
||
MJ['U]JM-67W3(2-( 1OW&BJ,Y@(NL$OL"A*5NHQT@*F:&BN<ZFXA!++0,:J[y
|
||
M5 )S *LJ"QW,\J:Q$J=TL 5BZAM=P+(2BP(SH*N\6J%(^K5@&[9B.[9@^TO!x
|
||
M-$QDFQ4F>IPM&ALK6DEM>Q+::1(QZA(O 1,N@9TS6@,]FK:[":3B6:1$*A5^w
|
||
M6[B&ZQ"**7%CVE"\<T9?0 9R8 <WU29KM4-Q>08)0 5G!@)$L"<Y&ALPH /5v
|
||
MJ0,R$%\QD ,Y0&F"I+C>U+AR\+B1.[D+9#%CD !&X%R<Z[DP&@,XH ,P< ,Zu
|
||
M, ,U<;JIBYB329F)*P,YP (S,%V+J0"KJ[S,&U^#A% (5:7HQ*0\4%.G)',Yt
|
||
MA 936A'8>Z7;FV7RV:4K +CFTY-RKV]\SM=*KY?VJ0ST@8OH)3@>[WSRP/Us
|
||
M>TJNZ5?YF[[KJ[UQ5QWQ*Y:^>G*_^BR\46$DLR,20WOC%C$M@$9%XQD. S$Mr
|
||
MP(?)<[S(FYCV&0,L0 ,U\;RK2P,SP +76;WBVSRE @)/( 5)< 34 SW2\P50q
|
||
M$ 1'4 3ZA (J@ +SX1IG4"H3I1L4H@(I$$,Y0$,T8*@MC"=5%,,S7,/1,SU-p
|
||
M\ 31T\,^#,2+09(,TY1'G,1XL,0Q80.^8@*Q@0=YXL3JZ\)G(<4T; 4V/#U-o
|
||
MQ@3KDP HD,<_',1>7,0'MJ9B3,8Z>L9IG"<QX2L^D*HX8*@"?&3ZDAQS3#VAn
|
||
M<STPD#W;TST*(,!N#,,R',>1K#W<,P5XO#J,K+X--1G7N\EP3,4W#,K=@\>0m
|
||
M4\HCH!T&]<2)\\*K+,=5_ 5%,,E @L=[W,5#_,5&?!Y(K,0TM,BI#,6XW,FLl
|
||
M/#V];#U"@ 7 S,5"3,1'^\?'/,8T5$'+?,MO[,RZ?,/1S&34O,5\/,Q^',;(k
|
||
M'!-C8*@>K +&^ZLWR@(XX!'/*VHC<V<@LB/"C,T[EP!9PB)Z*"J;L@/ZU*U4j
|
||
MD >;TA[OT32A$09S4P;"2!H)L+/W91_UF<[8_!5C(= JJ8=>\P6>8CMML!@(i
|
||
MW:U. '#;2$R+A8A=83.+<='[FM']S-$,X]&8.] :] 6NH31?L!1W@- )T*WXh
|
||
MHC9HP2E"K4\8K3<:[<_7G-.*L=,A_04C+3ESD-*_NM(%Z-!P$7K_XQ9,7=-.g
|
||
M?=/_/'I_"M($_05I\1U$W:UV<EL%PM-RT=9E,-;0:],;?=:EH=-JW=,5TP8^f
|
||
M'6]:#0)3$&]>3=<@( 5!T 1X?5=EO==1W==3_==Z&-AO&BYO_:M%<%BGHMB,e
|
||
MW00@D*E_[!XI0-,(%=E0W<?9/!B6S=8'%M1E< :;G1PA?6%G$"5Q9" 5=1[Gd
|
||
M1@>HO<]4)]FL#<; 3=>P/1A?('NU'1@$C=NZS2FRM[F_C=IEI-HXO<['7=68c
|
||
M,B-E0-)_6MA#\*<K$ 0EXUQBH"/=S1MP$MPA<]W\3-SJ?'D??;EB4=M5,!FEb
|
||
M\9;1_ +5$Q^KV%Q=P0;6K=>K/=]^W26930:%G=\,P]^AX]^A ^"JT24#7N#8a
|
||
MS=?TC;D&EM4* -_#?> =7=EXP )Y4*<@_M39O>$)$!=PP (/4S*%@^(&ON()z
|
||
M?F=ET ,P0.,9/MDL[@;CR@+CN@5.D,-20*<?7N,:[M=]-P<ZSN/Q+>)H?10)y
|
||
M<)=RH.-X\+L>*Y:J797/UZ8H@K%>3@;6"KV!I* I7((>P<)<'N4K'M#(;=!Ex
|
||
M4-L+W="G M%A,M$530;NW>.L[=?(/=(E+=-97=1;S=(SZ])G2C@F/=/LFKY^w
|
||
MCN"5C=R8;7:34=N8Q!N??=N!/2&/\NA*[N. 7M68W5>UW=E0]!Z*W>E.U=1Nv
|
||
MON237M4__=U"C>EY@-3.V"Y@@=?"K>*P_M&!;C-?@-6%S=4XX]5.%-9SP.NAu
|
||
MSMIP7M5V7=MQ;1]S?=MVS>R1CLW&_=J_+=NTG="_ZMP:!-U%P2F 6=VN'N(Kt
|
||
MONW(W>W,#>ZV_=R9D=OECA3331D'AN%1KJ?N)E@E;2&0NN/66T;,P\QGT01 s
|
||
M\@53, 1+5L?K<\])7O#@# ((CP4*S_!?( 5/< 7KP\E3/,[3X\K>0_";O/ -r
|
||
MCP1!( 7K@P(5?_%+IO$<OZ84G_ FSV11-@6&2O(&;]@8ST(N--K(/>M!#18Jq
|
||
M$.R"C=4Y;^!QMQ[G@:AE5!%OGM; ] 563N-0K^%P/@:/BR=4?]Y6+^64#>Q:p
|
||
MW^1?;^.3KO5./>=)?O6B?O:RG?9E_^L[K?7H>-]K#_8L/O7V[0;XK=^$TM__o
|
||
MO2\5CAT7SJY/C_> CO;8L> -[O<0'@02WD>"'VB$[Q4%SO9_[O8='O=M+_9?n
|
||
M4.)3?^)W;_:>[^(L,/4Q'A=MP/F9[_E ?A2GK_5#7N0IC^2'3_ISO]RD7F>#m
|
||
MO3>%?=A[D]BW'=IX??MR+]!:3^F\3\NG[MFJ/OR-/=J,02&F??EX/_6=1QJ?l
|
||
MS_KSC?VJ109?(/K&[^/LGOS<W2&3 =Y'@=!WKZ=3'R7_+@<TW@>K0?=]0^0-k
|
||
M[V10)F538/M*3P=R@.F! *?'$=9=,7M"VF$+U+PA@/)4GO^C?]@/.U@*_&?Sj
|
||
MGDR4Z1[^+^)MLKV'QZ:> MD"I$>!= $7H/><2V[311IPYRDX6M8![=]B ('?i
|
||
M1P220,7WNFA9TI-X5:3#M4"2EB!@8*R0@5.OP]W 3>;B=N '#($)8@1./1<Wh
|
||
M!'=>ZBL<1K '(L'%H 2UWA-L TUPXN&!*/@"I^ <J(*?+PM6D3S !>> #Z0Fg
|
||
M27 &AC\Q^,+27AD\@T 0[>$X-AB20L^D>(->$ S:G#F8 B=>W7,#># &ID$/f
|
||
MV!9JD%B@@[UA7 7"'S@(M=[KDP.(4!&B \H!04A%52#XPH1-KE%B 8OX=1Ke
|
||
M<HC0RG'".-CU " BS'[@;PM.0A=H!O.@&D2%8; /5A%82 97(0_L@I;P"[["d
|
||
M[[<&9>$+4WZ"#;T -UMX!',A& 2&O6\P($)D2,N 'BN$@XU0]ZTUS&8#?:'2c
|
||
MX7JBD!A60D;H";6>OBB%D- :"HBUMMZ^FYIRAK>P%1I#-8C<RJ'Z@X3[1.=-b
|
||
M//AGE9""-L2%W% 7OK_K4 ^3GIXR V<@'8**@ ?E0IR>PD3@#R RK)01 VC<a
|
||
M00Q&LP)3R)Z%*/#*B)XR@'^,"E$?U$$0K5>OZV=CSFG-@3 W"5,2F=MR\VPRz
|
||
MS3,0@ -J M(76M*,7VS*A(0I@ 4T'\O1 1P 1@P V; %O@!#5$&C $1X!%;y
|
||
MECUY EREC B1N( ''H6@2!<@ \T+*/' QL=5-D5-LCP&3BQT#I"XE)\ TW1x
|
||
MFK$V/76O/A\+6'%D4;OTPHJ J"I" E!495$OI"JJ..A.VEO@ WR@-ZC%1^$#w
|
||
M(!551'H(19]D!L(PINK4ZBI!+O$DT!(VAP-?6$V\B4\F)^[$GO@3@^)0+(HJv
|
||
M#2D6 :78%,"B4QPCF2<J3L6J)NABFEWL,V\@*RJK%-?/N&(5\8J=,2SRNUR(u
|
||
M'-+B'3"+:!%UE,4\P,;:(@AXB^\!!<1%$# 72:.PJXN7!B_JQ=O(%_VB<3QZt
|
||
M*(6-"<974AA3HF1:B3F !K" ?Q03*9-;[' ]8.^!@/25!XJ>K$L#0$VHC<?1s
|
||
MA@=X _(55N.5XD:UEB?7.,O-(GHXPOLO9*H)7IC8*P=:2!>;;EKDEC$ %O#r
|
||
M53( .;2[V#;O=-5AQ C;T7^PN7ZR&\*C"0P.Y-$\KC6AIQ[3%PIHC^_16LG'q
|
||
M][85W4!7Q(\D0S]>2#>0IU"'%_2/;A% "LC >(0,),9J"0H2VC'(V::KXME*p
|
||
MS!#:\45U1WGF%HM"@!21 \_ A<0N$2'X(YE#* 00. *]JB;G&!:D GE?@ IDo
|
||
M 2A0!'A9Z%@4RC'.,;2ST+ @V2[3DES22S8VZ>@;]8FB"@$N#@28 #1V!:WDn
|
||
M..QI5RTZ#L# J$_$XPIPCAL2/=(ZL& 8SUP,F%';T0:XE0EI)&=D11B12:[+m
|
||
MH4CLT"1G8S[TCV5$2N8Q+V@G :) C!%G#(TEN010$?*8F&QH91)+HLDN&<W l
|
||
M9%X\E63R2D:R5:DFFT *N)6!L4UJ2CCI?^0DG6P*JL]._D4]J2NOR8H<CX"Rk
|
||
MIW%(0FD=(]./;%[;43L-23ZI3Q* "" "(D#Z+3Y:U@*"GJ <>G= .E;+!* #j
|
||
M1, 8P ,J2P0@#%DU(/4)K\J4^B1%[D=KY2Y!P"D["\7R"U"].2#8O@ *,)=Vi
|
||
M!%9Q 3I %-UBM10!F0$."$R":>;N"N^Z =LQ!RQ*04(M]<FUS):9:EN&BVYYh
|
||
M'M,C6!"7U;)<GLMTN2[II;L<E?$24*A(N<0B7V2[I'_W<D\:S 2@+^N7OOR7g
|
||
MM8,,+,R"^1L/9L+<F<T2,OW(E[ =<<*T=(LC$E+2Q]4P*>6 8+D#+'+,8<K?f
|
||
MJ*A@I9U4E5N257Y)$! FJ>28O)JS,FO62C;))VLFO[R9(N!) <V9B3#+@,)Te
|
||
M P.3*$8OWL4"9@)XH9A($Z$H3279-)\FB[24G7 .3$U-V4!R8:<,B"4G5))(d
|
||
M4CG:)J'71)6R\DR*S5;)-5_EXXR59O*&T<IH9BMQI5O4E6:S7_Y+M0DW&2;;c
|
||
M_)FEDRCZR.0% T28#/A=1_,W)LTD*2F?#QO 5%(32@9&194'2! /N(*2BD_Vb
|
||
MSA50*.\*Y$AAD&._3,C9.1_YINW$5(!3@<!(JAD<>V<,^)W LG $3X,Y/.O4a
|
||
MZ@1AKQ,'U,T4%#OU28=#EG=2#RW+H<8G!R.LX'N!\5W^1B:)L9!D\ZR=I<&Yz
|
||
M.,GIJ2GS@ ]@@C*S9^:!0%(\/0K0J)LV0'GBS9YY/O]D^O1IW[+6M4_J"#_Sy
|
||
M9J:DGX7S4L9'VAGE0J+^C)X)@G_RSO_I?[:G "6@0?,QK4090#=E0$\LGQ3Rx
|
||
M+;2 9*D^(RBS-)CNLSI:T/F)'?RFHP0!>Q-_=@HYL#]UYW?<#2D#4H'(AA@8w
|
||
MI:+ >Y0<-,2%1!;!!HHH6]R=P1$/F%#SB41GJ$<IH#0!!M3-EI@R%B@7E:$Tv
|
||
M%()Z3/:)0RGH@)2?":!+^%"7J3>CZ%,+B=BA12*B7,@_SZ<77:(#THENT/O9u
|
||
M0?$C%=6CWN=2&E'JR1ZW: Q-HE\TA3JF%0HM90 )*Y_,DT0*T1"1!KZ $D"Dt
|
||
MF7"1)@"=1CCFPWD(G6AS9-)+4BH,00 J]9?J,@VPRR091\7#JLB$ 52?=*+8s
|
||
MH ,,G;U$?V<A7*$,9"24,H;S4R9S(*)]NII6+3?B>8!4&;,&;DPAF,B8Z,QLr
|
||
MI9!J\S5,CX(#Q*?R4J"!)'[644(J1?$C)_6DB-0+UD;480="Z15UBZ34F;K2q
|
||
M?2DZS26Z7*53[;Y0B%?Z+TLF2KR@MC1'3$)<JBMW:>CRI>5PW@Q36#']U-LQp
|
||
MQ7,235]12WD*35?@--T-*:":MLLXBMBRZ6[PGAYLA4ZHNGD#G)=,-)@B$UVRo
|
||
M@%@Z2Z$H.;VCYM0U?($E $J/ O^,I^H!=?!3>]I2?R,K16P[U9_2TNAP-&ZIn
|
||
M3<VE"<"@]M)NE5"%:2)MJ)NA&9Z*UH'1JJ6BP@-]D2Z:QL4 ,A- #H6?JVL&m
|
||
MI"#F5;K*:#A%J3QUI0I5EZI)"^GS.:<T%80NAG5Z'MJI316E.-64SE.;"4M5l
|
||
MZ8#\J<$OJ,K2,@=0BZI M:N0$*DJ580*3!7J4RVF]O*84E5FZB:S:%9]CE61k
|
||
MT'75KPI2C]<*S0$V@'F1SWS6,U,JR1RL@Y1$XE&9V@:L:"[54VD );K%MY2Gj
|
||
MGEP:X $]X!'N@#2P E: N"2JEF&T#;DT<+7V)+Q,JMZ-EUHY+*?EN(B,6 ,Ti
|
||
MKIDFUQB@ Y9K#($!9F '.-<P %U1)G+E#32@NIXWYII=MVMW/:Z[%'A95SP h
|
||
M$[1KHSBO/?.[/@[U.EZOZPUPK\_U98[3MFH03>1K1)$JDY@2T=SY3G^CC*27g
|
||
M-?) GH0<N=:Z78,<D D68\60/&$"\EB'XYC3D/<)PXSJ W( S7F@[LXP.,@Sf
|
||
M]YS$)TI8<V:47*95EFH_56M,[:2M5:Z^!1&*.F)K4:14%J*V[KC;FEO'U6[Me
|
||
MK;\UH K7H[ %B&OP1*_)-70U# #H;["AUS.O.Z B="M]P2]PCD1%LKR!NB[9d
|
||
M*Y>G^.%7D ,_P,KQ@>O:N\3L=34#LPK*2ME?]3#LR)6-K[LTO&[9'F!FLUQ#c
|
||
M5+-&<3ZP"+141;2B=.4--6"7+-<Z>\_P*W>-LD813(B%@$$6_*PN3:[ :\ZBb
|
||
M(@#H'IL8'YBT<B"1-3%#"UW7K%X\#?;!<SA:^>I19("@':]6S@1,V/NJ9KN5a
|
||
MQVFSI2%9+<Y'RQLLZ:EELJEVPLXY/.MJ?X.>Q123U;ON4LAQ:Z]<KF6OY?6]z
|
||
M(MI>ZS#D!*-]LW]VOA;;)FL&P"&GC;+=JL/=%L]!,3X5M*6U9V$&Y(!IBVGEy
|
||
M9"I?V&UHY<WMF9Q5G4+;"-KG2@'$K:=<M&FNWZ=;) D!VJ\:@592%LMZ5x
|
||
MRO:+Y'%<*\*;['>>IA]Z5Y < ON4XE_"Y&).EQ%A0*&:Q?HBS-$<59<(DM<w
|
||
M<>L,6&1)KUJ"A'4+3>WMN?45>7'CRH$BVP5:0,:-KOJD(L1,HXA):A"'R*FEv
|
||
M >*.6GX5'%4NR^V+*$'C6ES<2@- [L(E"21WM)G<=LLU&Z?%;0%!M]+J*H<Ku
|
||
M<QN$R3FN\03>&LQ,&BFCG)HZIT(H@J13VEA"PA-[2'H$L"*HJ:)G&)!#H!H#t
|
||
M/2#)B0 8P 5ZX@P( US )<0 -+ 344(2V(DI" SLQ.QD!NHN3#@#==<&Q Us
|
||
M4'?%ZAK(NS>!#31>&= &ZFY,@)LSI ;$ <M+ ^B Y9T!=2#O7@0[8'ECP!VPr
|
||
MO#( #XC>&> '=B+D$ %?[^ 6PH"1]$#"5VT@:&#J<H2J62 @5=QA"T3T5K q
|
||
MMH K#U]%N+T_3/:0H%OY]6ZOOR6124Y^=MW^>B*_7(!EJ!-B["K2*YJ^-"6Gp
|
||
M?%3Q 7%^"E"9R7[C\76C_U$T_% "20=L)*[2CB!V1YX!!%L@#^2$-0,5MN+No
|
||
M!@P+V#1LO.&P'I;!]K00RP9Z9$A-7#/@=9)5D^H=YZ=]^*%!U*WF3[=@8,)%n
|
||
MI@* O"U#+8 6!]DWFOAGVL7+2S$QX@34>()XXDCC'PRR@?<8J?O4[./9R$Dm
|
||
M?@@60=*P+Q&5L6AW5$;8]RN ]9"#Y9'1=0??W_QK4<D _[UL_G=O . /NR"5l
|
||
MF^S1O>S7_1[*'IS<Z("W@\)"6(WAWSQ6A(_P%\!L&[::,F$=Z81%[/Q+<BX8k
|
||
M).+'%:08X)6,?1 8N -KX*77@7_5!Q:E(5AB0"H2'!E1XO?\57:7>8G;\DDNj
|
||
MD%)<X(&ID30<I1:\-$-B:L 45GCGN-8V"5M[ !X8D!B10M !:]%_W&P:=8<[i
|
||
MIX!J)^V(PE#L636P_L<0ZR%/D8CAU0=.K6FX/CGBQ0")WZ'V#9PT-J988DRLh
|
||
MX8P;7.#$[<$3/U!0'-XD:6-:B<\)8EHGMT):$P#7;<3X\1$K-\DQB7<GZN@*g
|
||
M9,#T8>,K:(+/' HSL<=I>>[76,PTGX\TML+4& >+4CV%C;6Q'>'&UNL/MY4:f
|
||
MX!*;%P,FDK]Q&V?/-M #X+%;='$]0/2YQ3J91O,D (FN<G18K5^ W([]SX"\e
|
||
M@N'Q'>]C6 R-GP\5)4VVF,"^UAK+B\G? ?Q5>GBT96)CYBNTZ0FC42/L1IG5d
|
||
M%D C);*,X\?^^#<"9('\&PGR S7(;@$A]U"%3$?_L?^)R-G8(0=&B*R/7S)%c
|
||
M=IZEX2*;#%NLC@OL6^3(@7$DR[R0+!;GFR]&8FCAHQICQH2,<<+THB7-6 6$b
|
||
MY'8(3-_A41:B2OF[46.-3(FOL1UQQV0@)F]3&A5:2=A'F9!B>2&29>]FEL=Qa
|
||
M14[* VDIIV,7R4?7L5L.RB^N**L^/WR 0=C'36'B-B,T8\5<./KQ1 Z,,_DAz
|
||
M[V.]C%F)W:C$H/22(;]EH3R0]S%0CLD1N)R^59FJ%JHR-B.+X= IPT6D4!S7y
|
||
M6FFTBN+2#2"%@GP<MZJ'.V$W@!23T0E)F6'R9?;)<" @:^:7S)EML[#SS!>4x
|
||
M4F*LGBR3?W)#A@/+6?6=YN,,1.VH&E[-G;0UOV&\!YM%:'#4S<3Q)O=FW,PGw
|
||
MT3-O%FS(T</)8W'K$E&"9#ZIOS%FODG=G)MW<TD8D'6'@>CF0!)RG_* B<1_v
|
||
M"@)[9UG\8K.':V88Y7D=GV?:K)ZA(P#IS\T93SYGE"**<4!=S@&<Q8SJY^ 8u
|
||
M OAS>_;/UO0W!N@%,Z!;0($^Q[:8.J=FF J>'?1XSHWGP43+Y@F=GH?EA3[1t
|
||
M&5JD;>B#O)6?5^)""?7Y))3/$3W:2G1L[IGN^3\'QA4]VEKTBZ;%T]AY*.B7s
|
||
M^IUSKDR% @\Z\>C&)TV)>71MUM#PV3=CZ/><6>VB* :M*BPEK.3 R*11@)->r
|
||
MTU+:+5)IX2@'"#3*A-'46$8OZ'+LI3LIF+[1&BY"[^@J3:&U*GLVF%':41.Zq
|
||
MSJH2C_04'L5+VNH"!Q*MHZ$TB@;0PX9%]VD7C3+3LBUFQ$BY4\C4)A"FH4YOp
|
||
M(--8E%'WZ,X<'8$TF_;,JVMUA%:6$*)/<:W2U/OY2>N3*)VB$\">MM*E.C";o
|
||
MPP0MJ+DT@Z[1K!I1^SA%_5K-=(4>=K4:4OMG'YV3B[1,/-*08X3=A$S-&X)Un
|
||
M?^X!Q?I8C^H";:JI,:I6;7H*%@I2<ARO>6$>>')H^"]#!]52@P>L2>2?\GH7m
|
||
M!T9:J)S]<JK>@^ZC7U?C3/D5PZ*\?A#VN@57!#SZCN+1T7!6=#A0B(H-+ #Ml
|
||
ML*C(Q:\ZNGY=V?H;HS0#3'E3X"BU !]@L9=R'*"7ZII (]4=1@48H,IFV?+Hk
|
||
M"\2!X6LR@2M;N,"3XLC"V20;EN*K]_4!8M57=HKW2!,<J56UK#U 4MM%IUTMj
|
||
M]8(7E=HHK6*>44CJ+=<HS!V7MW/]CDLX.BYWJOA(;^"0!92 $A &^&[JU-K6i
|
||
M4GP\A[4=!DJ</P*:6%>?Z(!R&08PYCM;J6T 8_ZPJYP"A"#<YMOW=*-N;0<Jh
|
||
M Q1W L #O55QPTQ@'1SA;@]HVMXU7N(X=*VXZ[3E-AO*\7/3DM#=L%I"@:Z6g
|
||
M8=MDZA//7;JW5N9.JD14=?_J<EVY&U97"0)3H$N>;"FPB$^W/CFDLIMU]X!%f
|
||
MAE2?=B,MWE4;A>;J&+"K<8!=$=&4NTEWZF%]Y=)UJ&;4?AI>MFLMW:SY*XV>e
|
||
M*/R:U]QBZ2E* _8E'MCVNF"S57+L04-/PA;?3=FX_L:&G0<R:.!D 0][7WN>d
|
||
M-0B+TU?YA=<UU@W<PI9-)F-#G?+?Z4L[V(P!" *ZAV^0 ]WAFS3PH7$=D$/Wc
|
||
MF ,!*#-8\"DP0L:5..D>2]&#;W!J4X/T0Q1*7Q7A@A.-D['!24;8%1X3_(5Ob
|
||
M< Y1<38X27(?0/2 BR6*+< )^ 7FP!H;*65L#_RQ#7..EG^C\NOZ*8J($KNOa
|
||
MC-7A)*'\DH2G/,#E4>0.&2@<).R3[LLI(=5K6=G&QF;H\%WY(CUMK9D+N:;Vz
|
||
M7.SS(7R^CZ_A%1<#U#'.+C[:/&7)Z8L>X0>$WT]Y%G8)0OP" %%7==^867[Gy
|
||
M>"Y$H4Z\YWK!OJAD*N#^ZQXH-^5Z01X K4H9XTP+IP9G5FQYM$L(1HPX#<M&x
|
||
M5,Q2%,XXQ5(",-D-,&5_<9Q]L74VS+[>?%IFZTJ:;;-7.0'7V3R[7?IL- "Tw
|
||
M38;0CK83_(%'\*(]+A75&$#:M&1.+NV6< .HMJ;$JE$;L\9G9_ZXN;8T]\V.v
|
||
M^Y%>[8XY*-EGWAZEF(HZCTMG_+K-]D));R4@0=)MMQTWX;8(D-L@@&[;[1B u
|
||
MMXVVWN;;?IOFO'/!G:D^<N'&J'KFF^]SI7O>NJK>%@%UNZ>.\P8*J1JWUH;<t
|
||
MQ+-B3F[:/=HL-^;.VVFO!W2/BM.YHW<#*=T>@72CZ]&=%S\WA'G=85N<5TOAs
|
||
M78)\-^RVW]*SHU/TCZ[1&5ON9C(-L'>_[D.JTE>W1[?<Q+M85M;C+=3U"1Y r
|
||
MH?*XZ&K'&O Z8:CQ_I ^ &L+3N1MU*VY<T[35C&;^]$TNCZ_-NK&5+*;G,],q
|
||
M7=H#<H#DMI<_O6$U<ZT-Y@!$_53<#7=H9UF":[0S>D4TVL:\89V +7 "7'I&p
|
||
M=^A85WB?@"+0UU\W_7Y6)F[Y>G7!W@0*>][6GU!XI:?U'G "B(!CM^>I>[%/o
|
||
M]A.@!2[[.&?#%O@59^XZ+14I^PWP[.,R^RGLR.[39WII/P$X +572X2=&58[n
|
||
M7(>W6/9Q$/-JV7*$X[AZ<H^0!] ^*; #'B&0U=I#[A%V 7P]UA\AOL:Z&7T&m
|
||
M*&Y%U>1Z $T_ 3^@KQOTN [,9\!N'^K7?0>< *4=W(?[PW+FQCVBC_6LFU^Wl
|
||
M:0U(72Q@.O5JEKS>KVI4O^:XF:I7\VU^U=MTUE[OVIRKVU!O;L_!.4P/H8Y[k
|
||
M1(YSN&O6)3I:G^F6>ZVO][;N-F=D]XVY^?FGV\F38,DQ? +8 R5D3P2,B#O&j
|
||
M/7RO*^![<%*4>,9)SB\\B_?<&[X&='@6KW9G;W#HB&.=NX/;"5YQZ'IJW]PHi
|
||
M(,6;#-O-P6W.&/@!(+Q#1! =X, G1 1G[;74L%9TWQTE12Z1X0U[_03X^!\_h
|
||
M*33Z%,#@A2$S>'7V?F@SM]I-KH-=RQOVV%B_U:D8M9Y0GLS#UW%YYK%\8]_Rg
|
||
MLSU TM&\K>,Q_"ZM[&H^;Z=T/CKF^_P<1_.='<]/QV3:A@_\7!7M?!ZW&^TZf
|
||
M?Q9.P&E7]'$T?,,*1R\X"[VDI_-7OM+'=DQ/V\WAIM_S]MS04WH0< )0@)9?e
|
||
M]7T]T$]ZCL!1)\5"5.%TX(43M=>MZD,]JX<"LA[4%TD<=^N__ J'X(C6S-/Zd
|
||
M7O_G1T"PM_*UWKXX+(D[Z^4\HHV'L_[/CX%G7RU7.;/9#3HD*9F!,$$6(%42c
|
||
M8'A.@ EX]7\L*L#XR7@-"D+KN0=ROQ"?P$V< E2 #S@9)L#PUKT#MO602L@7b
|
||
M\"8/P0W#F(^3'9'/;^9;S:%Y_:<7N=WJS_N 5U\1N!JYJ4^+)BW$VM4XZ2,^a
|
||
MFJ?LNZ0BV)+0<#$ROHKXMNYRG^3XAT]J+W@&!U45L[<[]QU7WHU<<1]7QWV]z
|
||
M)_=QM=R?J-&>^5X]HX-P0.'!O;HQMY)9WE<8Q8=3;:K.HD'Y'SZCY;CN0<(7y
|
||
MC;\W]/3/E#_UZG[=L[OG3/4L?Y<.?21$(KZ[]]7KXIV\CROA;N3..U5/[XX;x
|
||
MX,ICIB[":@ .*&'X>6P_>'94T?OB"8 !XUV9CP'<>@)R0%^GZCO_*"SW#"&6w
|
||
MB:QR7P%CH 7\_1,0]UF^,][[4K\'T("O'6<5O5U7W+N\@3CS/W\$7OV?!P-Jv
|
||
M'L KJB$' XHKZV^Y+6#,)X##_OI-7%BW]EK[SP>!U%_@W^3K+\E$MO5'[M<]u
|
||
M^]G\AS1Q+>#W9W. N][_O! P_6B^#/#^<;XK?S_,6;G"/Z)_\\->XGJG\H?;t
|
||
MS-^>__DA /VQ?!B8_N/<]P=_U[_^A__V-_Z0N_;SQN6O=<4_FK?L9A^\AP#Ks
|
||
M__K=?X'G_LG?^F?[T7_M7?.'YA%V^5_UM_X!?]A?%^#_47^'W9NW GQ_ %[Xr
|
||
MM^"A>48 ^E?,D6C\7_NG_?U_QM^;%P V@+>?!3@N_7G&2@*X^BV U]\6T/JAq
|
||
M4.\?4U2_E3@48(%G @)S)P 24/Y5>F: !OC4=8 -( JE^@5'0X[ P@ &++"?p
|
||
M[$?[$5D"BY"S !* 99X!B.4I =Q>,R53?5(U(/5W ^YX)\ 24 7J4C(5394%o
|
||
MCG-;(*EU C !7V!2)5,Q 3Y7ZU<"UG\7H)V7!IY3K-H8."Z5@7\>L(?IJ8&&n
|
||
M6AMXM4"!W9446.D! 7,@:S:QV('5$AZ(YK4!A2",);;=@7#@"8CFR0$^('@'m
|
||
M!+J 2> V-9V$5C= C:GC743'=_70/A]@)_2-OA1=H:?,Y?XR0&+'PS0^*U<l
|
||
MCU_D-_E5?NT=UA4*9GX@7%-0],5;O$$N2/:U!IX?D"?P$7DTW'6 Y!5Y'@*3k
|
||
M-P4(<V98Q13ZO3-4'>FW [)ZJ)\*2 2R@*\?# @"RH"<GA/8 Z X%\DB /Nj
|
||
M?M9@DW8)9G]*H/&G3G5_(R F^ 86@/8?EO?\[1)_GO17#MIIYZ #^ %"@.H@i
|
||
M;=3]38!/8#@(#\:!E1[Y1P^B>>??/;C_88,>8#K(#:Z# .$W./\)A%%@/%CIh
|
||
MX7]PF_I' K: Z"#Q=]BM@^U@ZP<.5H#B(!>( &:$'"!#V ^@./<1T@;28"(g
|
||
MH#ZA"&)Y&:!"F ^RA..22Y@/L0 B8$R(^PF"K%X*B!(.61MA-AC[>83]X$Y(f
|
||
M P:$).% * EB>3K@08CE]8#W8#XH!/9^U^#*902V@ *+-L@//H2T41$XL/B$e
|
||
M,V&E1P7N@>?4)Z5.D84EH1GH!:*%86 WR!8ZA3@@&@@7=E)LX%K(%-J ;>&?d
|
||
M=^<1?W2@7+@7:H%](9JG!P*&7YI@2 ("@H[;GT<(WH5=CV+H#C*&N=\BV A^c
|
||
M89S>.U@1$H2L'B58%:J$F"!2UYC1,Q)3? <[-6/CG()'!A:&6-ZYL@>J=N*;b
|
||
M9A@(6H2L7AV0!I9ZMAU%.!N.;7R2@@='I4@"UI:&P,@SJTLG*#[A ##*A)0:a
|
||
MZH:-(9KG&A)_L.&I1^@QAY4AEF<;[H&XH?C6TR6"\):+QP6R :]>MT*%0!T2z
|
||
M48$@QZ5_/=?KA\<)7>L?;@4TS'A6GC+GVX4G?9%'$2H5<N-<J>1S=84MG9UDy
|
||
M_2ES^"&H9V$1627+P]+,^8<+H*\0(%9+(!X65^!5!%1(&Q*Y]%X@ !*@!:@ x
|
||
M0,,KB FN>%:>1I13/5/G@K0@(3(W"^+)! HNB "7BR?V30%5GWZ0/+AX$&)Ww
|
||
M*->=!;A>7Q'R=2NJ1U\A)#1]"4(<IZS B+M7Y68GG0!30&$')+)%@TFUE715v
|
||
M/0%B<[*7I3]J"C3U)"YK1X&JE>6L,4T7"J!NG3?NT2*SXH$$65^3R!'<2V*Bu
|
||
MP24DEDEGH)$87S4GV)8*(#G$(Y\!J2!K.8A67M7%&]")&)Z96-$-B>#AC,<Ft
|
||
MMBQOHI+GT)@!<V*9*/45>\P@&Y#L 8EX5H"X(KIP2AX:\"*NB9O:GH@F GY^s
|
||
M(@-GS-EX*-"1R!&D/<6>KF<HDHF>XHF'*#IY!I^A*/"%BI'BEPA$B1I (JE(r
|
||
M*1Y]:.+SERF:B@&?'23M!7.HHJ(H)J:(,V(,%RE.BL!<DM?CB8FK(J22Y'D(q
|
||
MKB*M"*D<2DI?MX+JI"L> HB K/R(E"*(]P<Q<88BJ*@L+H.]HJL8([9W0&*8p
|
||
M&"MJ>&42A^=I 3\4P@MG+4I40**VR"F2>(8BL&CEF8N4(HQ7)F%N\>*A^"URo
|
||
M=*JBKCCP%7D HZ=H+V)XO J0R!Y *F!7I-@-OC.+XJQ8N>5>"Z)]%\WU=]/<n
|
||
MGN0=[G=L6GS&(09X#U175R(.>AK4@I@P&FWFG!V SJES;!L[QS!MC._<0C&Wm
|
||
ML6WS'-"T,>YM")W?EGL!;OP<X28$Z1DP8^!&T)E")2+B-LH9;0Q=).4=0G2Nl
|
||
MXL&8 A<. >QB.&E/<,?HZALP8J4(D@@)O:&XM0%=7VU!MD7JC?%B055W,5&k
|
||
M0(DED-*:Y:U],+^*XK6\V "6U+2TNN XI8]8Z-\@K_1O!/=( 513W@2!@Q(j
|
||
M:Q=$A91L"?4)I"("_ "(XP\ >_U'?\J:(CBR-0#0&"=C442U$7*@!H@-=9L:i
|
||
M$&7=6%)=O2?.1#(.SX#4M75S09I5LYX1.C*/0R>/P8TND:*$S\A$<R-*UA+=h
|
||
M9684M_860"JYS"=SR4P!HB.TXVWACI_C+I/#[#"](SE4ED6):<SO\CJ-<1ZBg
|
||
M7@6I1(@1T83H*[I%L1H*D#ON,E=,]& G-7/5$ERC:\P,KH-O 'S]((*C'E=5f
|
||
M(2JK(THVH8!EL..9XZ$=A\$9WBC697B3 ?4'[X04JD9M](<P.A."CY@KX8<(e
|
||
M%\3U++9+R! VE<:( ?=,3$! DF%6V+R3 0\,@09L/GQ24V8%29[/)!IS Q d
|
||
M!M0 E-IUE+A,)PG2=(+W429S8TMDS^0 M*.O]KM%"<K4UG,=+$0B@ HP!(0.c
|
||
MB^/6)4YU7\B0I5/ %9"$32&'#.F(:10UI-G<6-T*Y$&+G 4\ E+ =A00R@=Qb
|
||
M(!:D.LB4,G4P.!>LP7\1@A %94)5M3;*,Q_D#2 ^)5"O8P,61VE,?$X0F811a
|
||
M".F+[2CSC([@TH!4!.%X-=D^AD':CO_4_&;\K3)8 NPRF0!]%**! !]!E\ z
|
||
MJ.6LQ! L% M@ EP=;T#6D91$CP$0=$%_M5\'DEC@?A&2N8J56*SPA'@ "T4Oy
|
||
MA0$]@"1I?^$!BM<CZ7Z% 6,6'G#/8)*A9!!6(*D4J"1\M%]U*TZ5&# '&&&Ex
|
||
M AW0 IA:$I6HL;HL,2F,Q)1"TG<\E#151CY08!ABDT;2:@#$&LG-M9&8F?^!w
|
||
M0?I\\80<R? 1:5E<E5-?93GWE13W&VV)3)9]!<4U)Q>&MX@+@HL%GZ^8Q34Gv
|
||
MVV)'U'TU.=RB$^=E 3P&'"VE$]YO>*0>Z<SPD0.2'ZGD!9*3PK.228HPAZ1^u
|
||
M@'4X38MD'-%(T@&B9"3I!DR2_V0*8$F2 9BD)CD@<9*>I(0%2KJ2;M$.1DK&t
|
||
M$*=D#)%*ZF#UE\C22NI>LU6.E09P;L"!<)?_6$#\3Y3%6_E6=T]S N)10B\0s
|
||
M<:67/4.M7W0UL3U#Q)4:Q %!4[A/"A !R0$34$\9B<!/F=).F0ZQ7*\0&3E'r
|
||
M\I1@D)]TK6$URF2@Y+6-2DKE!]133CT\9/#C%T&5/N6*I%/6/TOE5FG^9%B"q
|
||
M33,$3:4!(( >1U.:06:E3T-&@@"[Q ]Y,D!A664/%%>"1V\E4\E5[C[!D#$)p
|
||
M1&A(RM* MQY]2.Z1*YE4AA%X@!I0.N)D<P!A*:1A=9,:5DDHH !JP)-#'O o
|
||
MW4%C&66I <>=\05.*I5=0E$Y AV56X :T 64CL38^A-3D@29%"RY%* ,LB0Mn
|
||
M"2C<DCI+3;-%KD0P <1T Y@-)LR9DQTM+R8!"B,_UDC^I(ZBL. !V@F]U*W$m
|
||
M "] ?#$9] X;WU#FUE%4%:(6$%VR/^G+R5A^?9>0SKZ#.JP!!E(F@0*X:F2 l
|
||
M6A &5&&E#**2Q>DI@Y%ST:TA<!Q!?#D:W(YIS#\B\&1Q>UH@85]2"N"71Z#,k
|
||
M591:HGK)7CHJ$*01$ 18<D2-+R4=1 UO228!+]:7%%20!RC(EYT>O.,;N %*j
|
||
MPU)0*4J8:@9%XWE,F-YE>-E?'1\&TH,YL<1K=P91P%Z67^[E[H4Z_)?X90RAi
|
||
M7WZ3>QH*X%]>F/<E@AD;:%P$IE/C8OXVA,QU!6&4,B#!-WE[T9B"7'=&7^*(h
|
||
M@(*?(640 ;O"=B!\? 9O0:1@@X@2EH>6*7$P"X&#B?F]Y4>(QQQP7HYG[)@=g
|
||
MH4" .TE>"ECIB*1A]CP.B 'Z:514(7!86K!D'E@?),O#::P'?2-2J08 /Z4f
|
||
MF5M R<)GGBE^)MZCII"7X,]X4084FD@.?9E7OD#8F R4_=PAD JC.>Q$'ANBe
|
||
M-ME75III4/;C:"Y$FJ:CV6EF<67F3;E4ND*7)FGP38Z:7^6JN0Z)FJ_#-ZEId
|
||
M$IJMWT)49MJ:@N87]CI@@@N1H_E-IIK05![C:"8R9HP) &%DB2C L>D#R'@Fc
|
||
M0!/39)9?2DJQ@B> %# %) E70%/@#:Y^DUU,>;3:&#^-A01*(D#C'%"IIM"b
|
||
M;D*0-X!#E\7=@M0F+7-D:)/A9IVY7JZ;:0S0@&ZVF.KF'P-!7@3?9(G)$9"7a
|
||
M\ AJ,+&DF^PE=\D1[&#VYIV9QA0!1$"361$0G.9EPTEDZG#:),&I8O9R>J8Rz
|
||
MI'!6! SGN'E@( =EIL1)')27-4B!:6=>G!Q%=SEANIE"U @A5T)P=<;X%D+!y
|
||
MF-YFSV4UI4IA4YI$.75-:TV5Q'-*3CYGZ& K^4K:9*DD'H%?7:4RA&0R<+@/x
|
||
M</!-&EP+41>V]TR=9T.=,0:4"Z82?H3$#)43D!TW?I4!IZ61H!T@!TX2(+/Ww
|
||
MU$9L)M89V&R=]1O08Q(A,7D,[G44?)TT4-@I?E$N9*?Y8';J(BM &D!S))THv
|
||
M1TCT=0*67X .B1S4/#Y/$= "")X!IS8I*X($;R?7F7;BG3.GWLG'E9U> M (u
|
||
M3EZ>0B7BJ7CR/$M&XVERBD</I*>)>!J0K9I.(U3FG=W"%B!V\IV<YY'P33)#t
|
||
MAX49&5CN#2O K.,>V$*E9>SI!GZ31=@<N7H*EFKDK\)&2E!97!'T3'Z3X)%4s
|
||
M61XMGW6!A[1$F9Q7D/'9WWEFW27,*8'E1UU"8&-S<E4X9Q;7=(*(.:1W<WLBr
|
||
MGFHE,<G[F#K:Y$_I?NZ>@P'QZ53JGLG0>7!,;I\H15596%Z5S:<S^7QJD]GGq
|
||
M-)F3.8@50?1Y+&5(U.=S8'TFEB9GY5F_@9[IYV2 =AJ>KV?F&7O.GK-+[7EVp
|
||
M$IZ,9PM1!#29 B<,1JC)/($-R7 '7)[0P5G4BQU ?0J_\R&VF>G+3I4SV8R_o
|
||
M4=OT-K5SW5?:%!=$!T11]X4S]FU3WDJ%+4D_^MQ05-'-H(6<::56H5;EUU<%n
|
||
M'>AP F=(1(7,G$="O )C(J"58HM4-OIR]&:(."9@EQ:B"K \$IZ<%1=Z,NJ)m
|
||
M*, ?IQ"E*N<=&HI^97%N:+FWQY4<WZ3,&7[6G!QH8V!RSF"F'MA(1/6AH-(Wl
|
||
M28@6< _+J_F: HK* 4J>GHWRZ7R*$:1G@J/"-IVEE]5*'XT'URA1Z46FK[$k
|
||
MF&PHV=@[$'!/)XC7/')$V:49NE^2!&FH-KF&=J%U:),R[3V=YQ=A!#]E<8?Hj
|
||
M0E2'?I.QZ+1'?*I,>VAK=8B:G%73Y00V$9U:4Q#@*CU00F?DI#E-3D:G@GA.i
|
||
MYD?[T3#ZBT9B-A@*8(UBHF[F__9]1@> 9"=*%MD,-&B06*4M<&72,"J'VJ+?h
|
||
MY('U32HJN6B9%(=.HYLHP("%:@<6'D>@AV('XJ<URH7&HP3(-VD4+ S8FIR2g
|
||
M:T(J)H &-I#&"%N UT""C$"GA<X6,18;3T-!.K4(+ M10KJQ+:2/ID,JL+@ f
|
||
MMUP<<(W.G/WHWCF[N%O:9*-$C 9'.Z<S.CUL3EL3T-G3-*.9TTL*C:Y)7.C(e
|
||
MH#)5HR:I'SJ2!H=> PGJ?:IF.5>L80Z-G8A44%I^TES+"%F0;+P8A /?28#Hd
|
||
M".R"T7%SZ5G]!U(P!N0!M4/C4"HL.M/(O(G"_2J6QZ#PL#P&8RFVZ&WJ1FI1c
|
||
MR=&)@3]X:,XYVHBBB@$INHZ^3YNCI-F%6A[U82/79+"4D-R%P8ZZF2"G'<''b
|
||
M+41ET30"J1RB&&<6UZU8 6:&J? >Y*(SPQA@KI@C60I]<$8H!NK!'#!%T!Z(a
|
||
M9-81KY"'L4*$,"R<D[^*!>,\( >"AX:1U,@!+0?*X&5V!B$';Q AU)FN@I@0z
|
||
M0A@,B\-1$&0 "*YI9Y!T_BIJ0>$ (J"E( &HPX9:'O)HKJ(QEFQMZ=A9-3)2y
|
||
MPE%T*I7VI2OE(X?S+$>'J3K)$82"A5QB.G8BIF(<86H4J1X1"1D@>21E+&2>x
|
||
M0RC4+,/'A.EII4AE9G5Z&[FEV!@?YVXII]"!= 'W*,LDGC*=PJE]&6?.::<w
|
||
MH$W);>34[$^-Z0GZ."ZH&PYN(R/H!>TE%ZJHS#L3JDKIR%U . _AF55\!WS<v
|
||
M>8FAUFUM)Q<Z>7Z*NH&">F<H:(E+-\&X %^PB^02FCI-ZH,+<+DD %< P]"Yu
|
||
MU"<)RJ'DNP O[UU)@+JH+F>.B\H&N"XQZ@LPHVH=F<OFLJ-Z%!G!Z^2[A"[*t
|
||
MBY!:O"1UI-A^$5S>%1 22R _B@^' 0E@8XI1)<"$&AB)#_%<W::VJ:=GZD*1s
|
||
MIMIMX$'W!::Z4M!C[-%VE:EU6R$WI^*I)4[B"3 X4TU4'9&F?A-L&X'C2_&Ir
|
||
M?<9UT%MX"DQ*525)@@!B*BA)IN86,9*UD-Y$JF7 I,H&[):LDS<U$\1.'IB<q
|
||
MH9J^,(:'C+$CX@JP =RAP-0T))R/EX24&(<!GQH8O:IH0*RZ)^ !LRI14*O&p
|
||
M<Z0!KIHIV2&N5(+:^PP+1U1HP*N2 ;AJL6JKGDNCDH%AK,JJ%U0=( 9<JC'$o
|
||
M#" $J&VY1::D!J0WM P@1SS\1Y8JI+J\%*J!T;9J*JP!WBI],+!)JY<JW42Nn
|
||
MSDUBU$PPWRDP](2NDUA4$:4JI4#"11RJ*D> T;2JGQF["JE6J]<JN:JM<JOAm
|
||
M0KI:37Q'NNJRFJS^1K2JK8JL-JL-*Z^:I_ZJS,?CTIY*-,-JL^I_V*IYJK)Zl
|
||
MK#ZL%-*S>JN.2FJ M2!S):PD'+@*!URJXRJE^AN9J^T!NMJR%DD"*PG@KN86k
|
||
M+:J?^:(Z+I"+Y#)@E!LZA(UJ B4 "L5V\*0R;R6!=S=#!"\9 ?%"I-X51BJ2j
|
||
M&K2Z$@2&B&*[X"Y/ZN[BW;%0HHOI,J1RJHZ9B:42D%9M4HH$>[PN@J0_:4FQi
|
||
M *U!#%!0BBFF:1^I,JVM_*3)X+:F,*V!##"WEJ:.9'0E%MPJ"NG3@ 2Z !%Ih
|
||
M'. "V)M0V. ZL12N"P.DB;CK;XJI>BI(M$D.I25J)10#$1$FV8&&5V8HWg
|
||
MIJUWZZS MO:3A*1V%+?^K0>EW6J%X:UM*R')M\X!?JN$V+H*KN3$Q$(%:$E9f
|
||
M4A @!$@9*( 1D 2H/%2 PM-5) %! !/P!40/5D *L+(EKI:K4="XYJXHP.Z:e
|
||
M!?2NOVL1$+P.K_B>\2K#)*_+:Q%@!2Q?SROEJK@RKA#6*DE@?JZ<J^?:4,)Bd
|
||
M/>OB<J3"J%>K!J:46"Y':]*:N]0G3&M+(+J,6QJ"U+I-5:WT:^QBOT8IM<OMc
|
||
MPE9VK<-+[S*CZ "\BY5*:21UXM.,$CLU1F_,%Y#N!014P")&,TT/1@ 3H,/Db
|
||
M,1^8'KG![A%L# 8+PV0/0T 5, 1XL%\ ""O"'@$D[,>F1_)[+BP;TW4!<38+a
|
||
MQR:';:2&ZVH)J;1)NM(><.Y) >D>"P#O?*BO!WU@G H,#(^.D.[EDCV3O?<$z
|
||
MX'OZ7KK'\"BQ$9]1BGOD>BF)P##%;@;H'A,@49TP%>QTP1BI,AHL$\#!PK Ry
|
||
M[ B[B)FP;BP*.Q/A,BRL"PO'?@$AK!Q;PD89+>P0H,/"-SSL'!:'&3-[R,;Vx
|
||
M%:1&$4*AF1-D0(1L!K:Q#7&0*T/:R%FO_<]"1,3R249L&:O$^E),[#GQQ)(%w
|
||
M4>QF,,5650F %8O%[GM;+"CKQ1XAC8@8:\:2L4BL&<NNR&-+S$MTCW&R8E0Ov
|
||
MRQ.N5"* ;Z@W&4;#(;W:*C0PD89F\%@X#L'%9S0YB!%5!*-Z%N2KK0%+\JN4u
|
||
M#N[&G!$CV!EHP61P.[P!&XRH@*Y8"(Q!Q? 4D06TQX=:'6Q3*.1+=#>%4_)8t
|
||
M"0(QG01G:]ZGDL)B$QM^I&("<A/"%Y#QV1QF)EOVF<4(;I.X]Z98"Z(""J"1s
|
||
M&F*&:^MG/L05X<)1,!&N;_GL6Y6*[2&K&%.0'\ KE.PD>\@2<;S1-E6"B$\Gr
|
||
MP3L+3')41U+_9B\AF@?J/]23Q@A;3DBTS[8<_JQ^('5\%@O;_$30_J='QD'Kq
|
||
MD"BTE>RC>8@^I \M=2G12FPG:"&&T2)B&^T/)\D*<1^MQQ;2RF-V4]WD"6ZIp
|
||
MI=;R8DF9M%,:=_7=-$D+[<HV7;9A$NU9L11H/5)+"Z;)[#Q)@+9I/>1NWVM>o
|
||
M:$+X"G5G5I%1]0#"*_'JO2*ORBOSJCAQ 87<IC37\@#;JUX+U_*UX>OXVL@=n
|
||
MMLGKK23+;#)M[1=@/?RECYS=J8LT3G8M;N67ZC\<ZF/+UKJU. SOBO#@>UV%m
|
||
M94O7"K9BPEV;UW:O4(!HB[OQ&XGM7QO8FK:$[6I;O+:VU^MH"]LRKRM (X?;l
|
||
MXCRXTEH[\42VU@-NJ_"(L%: ]FK7-DZF;5]DVX:VU^L4@-QV27ZMT@;8=E^Hk
|
||
MK2Y2VW*OMRWO*MT& <EM8MO;+AF_K6-+;4*VH"UN:]J.-L0M=/L%Z+:E[7*Kj
|
||
M'+6WQNUWF]R:MI[M< O:6J_K+0K0WE*V%]!Z.]^"MHRM7)O:5DX@P'7[&]&Wi
|
||
M6A)^.Y2^8/[5"Z.G."3PB#SBU/ZP4"T/RZ;D&XY$(>O1:KCJZ7DP;1I<J(,&h
|
||
M=EJT:EF%-^&GA"=L5K= 5[UJ -M':\AJN#9+!^DL)2_/2=U$ ["/8J2>$EI0g
|
||
M##8#"\"'L #CGG? W/E4^10V9A@<!:L/+;4IB@G>A _P42A'NADEYRM(H8GHf
|
||
MJ)2O(*1!+0AD0G@32$Y&:4<LN1#<0D1ZP!$K&YG;Y/YC%$,!ER$P 2J M_?Ne
|
||
M@7MTSQBP!5@!5$ 24!"$N;_1C]L&H*,VB[L'P<%[X9YE>N<V =L#DA.]S%MUd
|
||
MDTHV(?FX@^N?VP8(N6TND4ON';FC5)([YH8)R)Z3VW.% .TM?YOB-A2W$H);c
|
||
MY4(KEB662^VU.*+"0F2]8J_ ZZA;@$%8FRZ3:^:Z<;-"FLOIKKDR69L;<<$ b
|
||
M<*Z<.^C2N22-G8OGZKE% )^; /BY@*ZPBS80NX:N%8#H.@%(#E5+CR%0'P5Ja
|
||
M^!/V3(I*$= $J+>KW%@;T3H3D=QHH[P. 4& $^!D+&)(I\$$)[5[/H"XFUXZz
|
||
M$]$KS:#,21E&0 <;[D*T\RYO).56<O);M>29NG4&;9WQTX:U\2Z_>]1R?HI!y
|
||
MT7!FZ%<&DV!1O-%R2,#-)N]*M+G<-D43N$[=E/PH$T:"W>ZWV^#NNT8MN8O@x
|
||
MH@#G;KJ[[GY@[6[/].X.4 EOR<MHV)M*&[ZK[\*[%R^Y^^^6NE4>SS7:>'NBw
|
||
M@M?@W'*W[BU\NV14MR@32 #B=;09;L?6%!P1,%=SHJ@ O7F T(O7$KWU[70;v
|
||
MVR:]X.33RRE *J\N'Y&]WFQA7!O0 EP$D5US0LC!2Z.EU^N?A;V^*_!*]3JDu
|
||
M:&_42Q+X?AN;#^?V"KD?6X$V6@Z\!6U/:_ FM": V[NRA:1I[R?2\.(%<\ZLt
|
||
M!29B>%SOR+#3%KP(;?V&\.:\$R';>ZTLOG."VF-#1KQR0;%$\5J\"J\SD?%2s
|
||
MM:7A#!%&XF,<E8?;]-9A-2[C:':Y76) /]8MU)'>UY?;4$BYIJX<8.4*IN\3r
|
||
M0Q1=;;EEEQO@3:Q'02VHIE<P:C[ PJ(K ;X\;;4E'W@%0"V\B_BV2\8<KFM+q
|
||
MQKLDB8BU38E5RTL"IL::44RO#VO,Q+XQ4N/8IZPIM:^E@/M27*#N?MO@RKJEp
|
||
M+I7K^RXLJN[PV^J"O;RKV!OKZKZS[I0&R^EFS:\C!?T:M--O%87P7K]\4O;;o
|
||
M:^2ZW.\0X_W.9R@!\S)O@:IV6%.@-8P3XB,<8<W6-%-40;.QV:ZF*2)UAY41n
|
||
M49)2>XBQ8DUM4+L"B'84;5(+M X0B^2M(M!"46'5=#+"7,!LC@>F 1,C8D$'m
|
||
M/"M\P A%")S((B4D,'1A A=Q*' 7NN4&/+471T#\#K74GIUX==V]/==KT1<Yl
|
||
MI_+A:X%;'9FO9;&Q_]HLZ]%S6^ FMEGNX:,"9[2M6/7:_\:]VNL'IM:>H!1Nk
|
||
M=U#O^'#E[Q 7YWYL.EQ(1.%ZIJH%'BSC?K@=FVCGOU6T1>GK0I74P!.+0/M>j
|
||
MUE@L@.:H3=)6)^6.DU)"#C: 2WG<3:-'\+"CT3:R-J5W6A%TPHNL)@$' )M>i
|
||
M'!"[, BDJC!#ZM"6O>TD1T )]P"+[?&:O+J4S:]+*;,910H%0Y&U9F7H!@3Ch
|
||
M/V9Q(%Z7N]D"IE- X"G$]K <*<N%=9+"G_ I; ;;PGVM^!IX/BS+L M\#&NGg
|
||
M@2?6:0QGIQRJ,NP"P,*0RC0<UXJW:4"6^VYBC17!+-P0I92T,#C<4@('FS!'f
|
||
M4 RWPH]F*,P,-[21)DD #3.RI[ ^[ +;6--HE]M3DL-2IRO*#L,%%:G4@@K+e
|
||
M26[P]>K_:J^Y2OFJ(KAR>:D4W!#K-DA@1AH1P[H4L?/*RKEL*&GSN1'+*26+d
|
||
M1PSWCKWF,&+KUUK$X,_+EA%3I 2I0SP#+,,5UDH,O+;$X.M+/!)_-S(Q%\J1c
|
||
M6J1; V $W_$$W%AV[V>P;QM1>P#)*XEL49<$W/$-<!1K!-KKSQQ-3R^.L77b
|
||
M[S]J4FJ6MY5OJR7QCO0P3$D,DP<+$6^U#8?#M7!<2X(\PQI8*0P*KP#/K7%Ka
|
||
M]":VV3 ^O )(P@4Q/IQ:YL4,;>2:4Q*>7:YJ.0X'O8 N;U47N[:D[=$KOGK#z
|
||
M?K%A3, M1'7P*H(I$'!8)^'I6#I08K$* 1<KLM%PD4478[W>K=;+O +&>\C3y
|
||
ML!=#QH$Q0ZI:+D1=[F#<%[?&CZ9AC! KQJ1Q=&L:/\:$<60\ DW&V=0D&R;\x
|
||
M!9BQ0NP@"IP 7.LPX>:]%FX>'-52%NNO<PSBJ@85ZEIZQ+$ V)ANUHZJO]]Dw
|
||
M=NR?H7(H6Z9"31R^.9M,K$VJ:P5P&$IX*BI&0!7 !+"!(2Y,[,HI;>WQ>ZPEv
|
||
M%@5B;>G+&TFCX"2P"!+L:2% ?0P?X\=/L?FJ.!' J.XT"N*-OM Q>=S*[6P0u
|
||
M(^%9$4 !54#-5O'V*?%Q@7P1F\?3:$70HF&=^**T<M&NP!JM(A;BFIROZ.WEt
|
||
M'?L _!D5ZF8J-))!;AHLG <'21YB1=PZ8\09X)$\$)0!<WRQ$1E>@3BQ!C.Us
|
||
MI$'2N8GD"':(MF#]RB/F!&S@)] 1U<<BFTI4!'9"N7/RL0N* 5&0= X*$0)Lr
|
||
M8.+J"6%"5\ \4+@$W#&N-:21^5!G?P<WQ(/SZ&C-WV">J369;/K+>^EJPq
|
||
M %<QV8L8MP$K -J[GV*+F>CS\0</Q]I%F^SZFK]K2IS,P,W)(%F=[*S<R7GRp
|
||
MW&LSG+W29I2%T? J\6OKTJ;8(>:#T:HX9"YHP.;0M4X7,8'H$E[1+0+LZE*Uo
|
||
MMBF@!$G3')@/H+*HK+N0RJ'+ _M"";!SWQ=YGS5@3@,@1^[AESA :K->EGHHn
|
||
MF@R0).EF/LW_XBH'R0M1NXD9X6,RSQ.P!EP5?X)OXYMZ!0W%E2 ADJ8'Y9MPm
|
||
MO6&1HL5P,.[Y'^4"H5#.FARYFJZ,-_;*1>X9 "P+RV^/Z%$L'\NO"ZO,^R3)l
|
||
MS3)^HL^T+/2JM$PMCQ#77W.0+5LJNTT2C& D'\LON'Q<B,M? 6CP*/PE&<1*k
|
||
M5+5*+$7KC:J_+JW310D2O O>4NJ7*3ZK$<JQ9S <JVZR_#RM5)7*($$2[;^j
|
||
M*BU!@M02Q!?-V'.16-AO:*X/ +(X%@L#O73F0L W,T=*"[O'ZE[UN#-OOZK(i
|
||
MGF4*:K]@7*M;'Z*Z\%*7.S0GS7G " 0'< @A&32IJ(0)14%J/ >@J\?"%Z86h
|
||
MY AETM L+F'-5IA1L#5_ 5US=S >0"I. - \(#G I<?*5C1C"H;*8303;$=Eg
|
||
MU:-[B-#,/#-]@3,7HO\1TFPS^\T^<]O\'K_-E9O@/#<C!8*?X)RO+,T%6I[\f
|
||
M-/]/']O*-C7+ 54SXCS:D,U:,]>LWWC-:S/#J/V.S:M(YXPV?\YJ,]AL3[C-e
|
||
M0K/B'#?0S1(SR-R]M 4Y!/[Z*>>HI4'7JA+(!+Z+J66=J,RJLNQ\'=#..L36d
|
||
MNL"6S$TKZ8(R>P2X\FA8$IB0I\OJ*]*:D#/!Q*1";F)P@%B[N?E\D%*:_'S\c
|
||
MN3A')V4PIP$$Z0&L&%RX@<*,@*[JP6+9G/+BFFARLA,'":\CMZ@#5LBJSXARb
|
||
MG&LM4$#V7A% [4J.'&"'QUFYF=Z7]FLG55B.:^<\#JO/P2T#13:, ?^2V;P&a
|
||
M )L 4![@B$ '.^W1J"D1P/%P#,LE.0$='B8'(D303$$8X08X1>KS^0#]:M"Sz
|
||
ML"5\6VG'9;$E5PSOS_KP#Q,0_X&%7$5@0[-<*0!8H?V.<2=CPB0CT &]U.0Ly
|
||
M3O(14\ 2\ 5L#_R&%% %M+9)0/:*;GHO0X*STF3&4?&"=XICV4.5L$O) \#0x
|
||
M+V6'IZCLT$:6TD9&7RW@E]C\G%9+/LP9?2N9#]OSBD<_TXL7WLG8VID<%QZ(w
|
||
MYT;_S(<S?LB&8L\\=( (2!-7VG.7MXJ>3(F<]',D='A?T86Q*:@%+C)]603Kv
|
||
MLUXMVHRQ4++X,_L,!YAGPI49O4GO2?-9=B):2<]AE?!B 8-3P.0D;9$5-&TNu
|
||
M$15/A0;^4?<%P#5;T@+# $?6*BSM[. P7)<?XAAGH.K28N@:X$SYTKFTJU:Gt
|
||
MEH?F9'Y63%NA]F@G*C41TVC*"5J/2@L *H/Z7;I%OS2"RBR$.46!_V%-[\N:s
|
||
M4ICC3,$SSK-8)<*(5;ML6+4Z,"\P@<?[)@42XC03>DUMTVY=-_W662^)=!OZr
|
||
MIS*AW=<>$$_LTZ84(L?M!D<(48<'XBDJI^@S!4T=T]+C><<?TW@,'$(4"T/4q
|
||
M5P\G^G<*2'2B6_0H88TL7M:74=./>+3YQ3B]20EUAX<D2M0#I!_-$5C47D(^p
|
||
MBC 6<G8T1^$6&7.P-)\T.=^K%</PATU;72N1X_H"W"E4@^V,N4P!\\'^6FH)o
|
||
MJ::RZ,(\CZVKBT\-5!?/%[/NXE; .-63]0[J\SQ+$Q0-.VR,S7J0!U E#86n
|
||
M.(U*=)W/!U9F D NN<)WHW>\ 5#8_M0>_!__DH,BN=0:*DO!<K D+/Y68.16m
|
||
M<RQYM5NT5S=)?37$ZK-@*B) "1!<S N8 GYI6.,A2(VE0"] !VE!HB PR0$Jl
|
||
M2R,G!%0!1H 1T%5, 7K&8:15IR#CKZ\VX6H)+$!8;<J-U:"GG(16_P6+)(O1k
|
||
M5DM-;S4^*@+(U?))#%!79SQW-4](+_W5$M9N#5OSU?02P4Q8+]:.=6*]$!'7j
|
||
MMPZE4%Q3"Y%U&3!95]9+QF6=66_6>D8\FQW531H":NC[]4?%&[;2L7C7\)%Wi
|
||
M7;%<4X#"NS(C'5=NM;\R6_,GH@(,<%L;+ B+;KU1\=8="[5$7P?6U=*;@@?<h
|
||
M*B#+7Q!79Q:G!!J@LHPL+(!VT$XQ7R+M=?TZF6(G;?7'71=+WK6_!5[/*N*Ug
|
||
MZN:N: GG=7R57L/5Z_6#PEJ\U[DU?MW#_-: M>IV7ZMN^C5_35_XU[,U@%UBf
|
||
M#-B,BAU08+L!![8!]JMD%"^ 79(?<"DW:F0@*]<G>0M5#<'V+GR&QWQ7X-@Ze
|
||
M-A03(\3*1G60/6[Q+J2+V'JE.L_A6M+6C+4 ]4D+(!>0 "J C0JI\@!%T1,@d
|
||
M!"@!'0_#*.=XV2EV=&&$_!]>-K;B95<M48I<8"8S#>6#.E)>:PE>-F";*?77c
|
||
M%H.<;7!ZV07,6.!E1W"1@HU:%&44+D 8L$N0 -;CF-VAND6,=LISY88(^H-&b
|
||
M03,PVF(VF5TWGSE5]F)D1F'9*<.6W65OV6#VOIQIE]F=PIDM%Z397G:]TF8'a
|
||
M*V]VK$"FR-GRB)=]L0#:=W8.(1?HV<KTGO 7>-DJ)J - !DP0,538KGP-LR$z
|
||
MH;TO(]J*-J3::&O:@5&D+05,VEDF^9QH.]NG-CG]JX03+X"K+50CK; !QIP\y
|
||
M"R\Z0,IL9,<'!X>WC:/JJ+J+2G"ZE-N!UHZ+53O/S%N0U$YKU\$1PJ,$Q# Mx
|
||
MTNNPLG52>@"OX XV+$U,\08WU\R+\]'\ &^_7K#S6S%-SL3OM,MOBP7^M@\ w
|
||
M< O<PV?FYC0[SJ*"U$PUW[H+M^5,-6]4JN$MJ*CHVQ.W>U(&_-M?0,!=*@S<v
|
||
M/8",1RT=W!!PPQT\'4870='$8#? ^780L&_S;A0WB\!RN]R/IAM(<#MM-#?1u
|
||
M_#HSSF@,Q"TJ_+Y"G=/]*$ J$C?0K7(/W1@W#HUU2<X<-V\D<F/.('?<[ -<t
|
||
MSM@9M51R8WXGM\^=<E?<%_?+;73'W"!3T@TU0]TK$;>=9//81RONW&2[VP Ls
|
||
MD3V\,-5GCMWMU18EZW;NW&XCU;]+N1VUCJU9M54;.R$4IW8/<$VPV7)!1#IGr
|
||
MCQ.O@Y==E*3&"X.7O5P#VA%"'[)K#V5:YM8CF\@%.X?IK7GK%:JW.G)GO-GTq
|
||
MA9=-'6P*7C:K4C&D 7GVJ#1!;&*?@>8]!LP*#H5<\!K4!\$W7! T0>3@K(Mp
|
||
MEH03-NJB_6P_VK\1H\T$1)PI U*@9:/;7C:F[6AOV@X3Q.1"X8V0MZ,M>;O:o
|
||
ME3?E>GD'W7UV?,!Z<Z2>-V+M)*@CH??[G>"2WIA'ZUUV*<(#Q.H=(]C?3@WLn
|
||
MO2?(WL]%^FU[4S2Y=Z:T>W<'J011\GO3"E[V\,V KPO'MZ1@,N#:P7=1Q'R_m
|
||
M <YWMAUMH[S4=P43:F/?6_;SK6U7&>D$EC$G:!FB0O#@*6,N437_FC%[=R@!l
|
||
MZ>)6G-M?B@F^.VP9: "3/2I/&J(+\#*(-<^>5?+B.J73G/8Y/:^FO^')!/3Jk
|
||
M2M>5J O!Y_8!35P;L_.TQ7RM1W'>3N'R\)01H BW541GO#X8RUSX"W/)CL6Cj
|
||
M#16>O(ZW&RK_0X*@X;^M&9K?5A%9<6*KH&SA4OC$LQCGMJ]M5R&'O\Q7N!V>i
|
||
M&Q^WX"UU*[XF *<+&%Z'5Q%Y<E ZVOS#IG!#:C-<+=?T(?["; \O; 71.%GBh
|
||
MQ68%L7R96Q\Q$]YX.M1W[%D0/53BIRTF?HD[KUSP:+.$8]9-N..9JZ2PFXRWg
|
||
MJ]Y:XGE,!1$\@,EEDDIA01@%!(.V7:F!,.NTW2<WGCGO'0O03J]@AW+?L;DDf
|
||
MKOFDFZRSG1F;2TC:C"?CT/C%(?-*CB7NGOQ&D6S9M'3\U'+>#&D_W(T[X\KXe
|
||
M61#GGL13BSA>3'OC=1@CWLABPGPN0N&K/&5,EA<P!.@3&<?1T -X 7S Z@9,d
|
||
M-5D$#IG@%>SC50"=YA[LXT2 /F$'\"$]P$XDT(06#7D,$"^=*7#73M136RDEc
|
||
M./?2IJC@/7:HW&23R@"L#4"Z[!<T.$9.4Y@O&WD.KG?KSD@UE$U5S]M!. BCb
|
||
M51M-6.U,'EH#D]ETO/:T@!J\]];\0^7DJ$.;XM-<F&5 '8!A6RM >:"QDQ/Ea
|
||
MN0V\TF0FY2+14-[;_% (A1D@P$$7GH2;8H> XX_F,KST+N41PX/PM$@L8KF;z
|
||
MTG),RU'Y::%GC Q/"P%7ENM'_\=;CJV\Y2KF5RV7-PI"AE#N;%77SC/=:,]Py
|
||
MU5&YEOF6.^ 2G%!N!BS@A?G38BV4.%$YR3 UD]91^9! ,903J<W3,A^<*F^Yx
|
||
MS: ^R^6;:5.0F3LU;_G%DB!%Y1V<75Z9NRD='-7\EE_8$&5CKCA4(WE&8SY"w
|
||
MV,%HN5#.D]/F 5UC3I0;Y1"E;<Z4/Q]0^#;EO-DS7"U;[J8(YE$Y8?Z6'^; v
|
||
M]UN^F*_F1%]3GIF+!H#&6AZ9#^"9.6X>E8^/GGED#II'Y:+Y6UZ:D]:G>2 9u
|
||
MG6/.T#F" 9G;YJ\YJNH&K.:S^6;>F),,N'FD!)9G!KPY_G:?SS;K^5+>V^1Pt
|
||
M%WGV<F6T*0[&F*0@U \WZDI^>+_;V@GI\E&4Y *Z_W)PR#D'NO'<9)O,$*Q(s
|
||
M#@-(V1.L\XS"C#!$.)>:POR6\J.:(OU&UA.T#?"$1^$8; +@! @!0D 6D #@r
|
||
M !HFHN/5[-Z01:607+^<Z4L",Y8:-@-)!Y8M< 91 VT>C:C?' /AZ%Q %Q-"q
|
||
MCJ[3K T_.@/SS!(^;T%W0$XD(6&"?0$AL >[M_K=4*BG/Z^XK%?8RRC#9;(4p
|
||
MO 4@P\XA."&G,H\10 08KU1 XQE&3#1)HO/0S/H92:2^<40FB576>7!$A-0Ro
|
||
MS\OB9AD,]6'_[ 2\MT#"YCR9(QC!@P4AQ8$Z+;J;#J<WG@G Z^1FRCF/C%]3n
|
||
MK'C-6[,.I\(Z 6ZZ$) $Q.EXC.^)J6SJM+FOL-7 Z'RD+X6COZ9AQ-;,HTOBm
|
||
M=TV*:J7/@&[$:5-W:E$K0![C=;_B+P *L!]WH^D+IHXGM+X"T*;^P(2;J+KZl
|
||
M3*FHIXGGT6 &V>K)0O#ZIN=N<;H(BAR ZD2 J!ZGIP#],/VCK ,*GOHF(P9Tk
|
||
MF&] Q04 X6^"DJ^0@@(*ZOJW($;-.F]XJ6"[7.M[A'"$'&S2>$S%)1(7*VX*j
|
||
MCKX%"$<IP O K7OKF2P? $W1$NY1XW39E@#V1*@^J@.W]?I=(ZD/ 6ZLOHX6i
|
||
MZ.K^^LH&L$?K",; KHL8[!)[G+Y:F@"0BA^ JS0I D4>\[!'[-WZQ&[>AN$6h
|
||
M^YO>UF+K&CN_;F']Z]"ZP$ZPD^PQN\G.B3/L+3O!'L_![ C[S$ZK9QMON@NAg
|
||
M\?CK\02ZCMH"*BF OWXH* V_IPVMM%\O\J89$*!;&0Y&F\N1Y]WL-I#-=Y?;f
|
||
M3_8,#GC?%34X'Q(\%-Y[-U(];P4O'/K*[%$H8]EN^V@\*6/%.=54X@HV44*(e
|
||
M&Q]%X91LFSL1A9ND%!U@!PSE8\ 8E[@O[CQ"XXZ)8IQJ5^F-B&B9W_3$4#'Ld
|
||
M(9K[H]SF<NYVV":]Y0@6TFJ2?F28 7P(J_"Y!PIM[FC.AW#N?(@KF;C4X&S(c
|
||
MDS*VW\YENT=QMFO,+!3P?.;0[N2$[:Z2Y^Z00ZGENXCD3!U,_HO3,RF,,([5b
|
||
M5B<J#"JMOYCD8 J!WG_G+_(+]8ZE:"E\R($>OJ@O^PN!GEC, 0,X^@*^:^^Ea
|
||
MBMB.O9_O GJ3@E-;#.N[_F)MO@?ZDO8@!# V4L#U^@78[2T!<?F<#.,.TPRQz
|
||
M'34O>*,*JR\U<K>YLYY A>+S% *_FVL)"0!,P, ?\$L&R: W\CF_91]>15#Py
|
||
M4CDS$<$;R_NR ;\I-P<P *LP)K$ [BO -@6&U_3 .Y6 [94+:-[/ 'PNKOKx
|
||
MY.@N4'K*> ZO/-,(Q5?-N:?FF'/F[L,'&KFV-=W(H.]N>P#CJFD?2:D9 $Z w
|
||
M/P^,"B 6//%#N3%SA%#Q4?QB 8<5LH:[>:BX7Z(A?->^$MW=>L4*WJ2*XKI+v
|
||
ME.K=^:A!ZKE-QB_9F@L:#V2K\<&+J74H*>\>) AC0BXQ-/P>?Y-OX+B;A^8Ku
|
||
M7-^LA"N1/L@%A3PJ83YLX-.W()\RR%"(/,1@R&\2B?PKD8#CTYR!)*_(,QS1t
|
||
MI"FAR*\/-;C[@E, #W=']\5H#P%0 !0PR/^1,,4;DLE[\I:\^O"!5_+IPQS@s
|
||
M9A;RK,1T&5UP\K@\Q*#+R_*AO/GRON04I7STC0*@\JI\RL#*WQ:IR2O?2N3Rr
|
||
MR?;Z0,A+\M"\16'+'\+./&;ARS,3O50OWQ3\\K8\I(T"!/)FS"Q/S6_S%D4Dq
|
||
M;TI4\[L\(T\$./(M "2?S;/S\SPZKV;;[2#:=M0Z$6(O@C>/8"3;;T$B\XNEp
|
||
M$N&\6-*5B@D^7IG; KP'W(6W-07\+RX C[0>\W\@Z?P0_CSNGPVCTH$1@I]o
|
||
M.Y*[^BI>=ES0%1P<9/I>,-)C%D;YH"[)C]IZM3!Q-JP^8 BP(B.@0'ZU2Q].n
|
||
M[ Q_4&/ AU&K9,^3[V841)X/?_- _3$4:J"/2_R^[).G]"C# N]U=!=H! 0m
|
||
MO42//5/TK@(.A]$3)+3\)L%KRX2:?"Q?T'M53+U'?S2 ].L"4] @2.B@A$E_l
|
||
MUM\0*KTIP=+7]*6!\8#3>[4R?6K;TN\W64U.KXJ@0(E+5D_0F_%Q?),=M0(Ok
|
||
M&('H0DN<VWZ]^G#&"_8>!0Q>53_HC#>]C3SE[0U8"% 4E1'J;E*T5<3(J846j
|
||
M4H&P$T7%J5(6Y.CLO/E@V3=/V\/$WLM4!!"D(), E!%^ GMA7?SIEL01@NS,i
|
||
M$1)-DI-"K!"K/6N?7](0K[U(E-9_!2J".7(>C*DTQ&@SH50G9LQC4$9@ZT]Th
|
||
M[G8$E)M+S.L4W'<CL<C0;""< 79&4>0"G %? 9C /IP!)L.9PA_,-O;F>7\&g
|
||
MR)+B!"U3W@L9M$QZ'UG%99\%0C$.OS0B+?)D/0.3I[U8@MEK1F6$E-[9LP^?f
|
||
MO<$0VE\AE<B78,^;]M3F_B+*^P[$_/>>Y*3V<7IO#ZE$#T; $NT$J/9'0' ?e
|
||
MV[<4SCSG &#<%;8]-X+;3QC/O0HAW7,$%WX1D.'O]M)]<%_2$_=W0\/PVR?Wd
|
||
M*,!RW[PXZL_]'A'=K_8M_HOOXV>;O<QU+V<,"FW<PKW==_?[\G<?WL\>L\U[c
|
||
MK][+]YW!>O]9"!#A@I0_W\OWM Q[;]^_]W:[XA7?C9"LK_B0 &P!.,# $K+Vb
|
||
MN0O%F9\A#"QB ,EJY@<L)<OPY:OZ]V-)E(D&D $>@;UY8YGY:NH(<%W1$)I@a
|
||
M@E12?:EM/IJOYLOYB?Z;#^,P^G: FU_G,ZN94L3CR%R;6%+U0,E8,J$,ML?Fz
|
||
M1_J!_J#/$ZT]]'@",*:2^J0^H%_B"/IX@$G0$J3Z;7Z<SP*P^C0$#$#JPQZFy
|
||
M?JMOZQ,\8GQ%4$8< 7H^GW\PJ)=_?IL?ZF<YA/[AHNPO^\Q^LR\4@"&08Q[@x
|
||
M[ ,%-@$]]K:X+6T+<T(2'$IW?'1BM^ $-(I'D*.XCGW+M#\5 "Y"BN!R%0PIw
|
||
MYGZ[;Z2T)PT*>\W0> 3_24E0NC H[XF\#P?0$O5^_X[O$RASM4'S4?3[,\2_v
|
||
M3UN_%G ?=*CBE4&O[[OGRS\QC*\G^][V R-2D#PXR<2/\ OG\ !TP7!'Z!Du
|
||
M_ >_05,3$/P4"LBO[\<7!+\-T/!3_'# ?D'PWP K?\#/T)PC"W^P;/*S_.D-t
|
||
MP9\#Q/P;?WW2[Z,$/#_"GW/UJ#MNT%\E_?P1OWX2\C,TT@C1CY_P_ X)0!&As
|
||
M"*E)_X!"6T?]_'Z/*C%!_0+_U'^Z?/Q*?WP2]2O\BW?)'_87*%'_P[]XJ_PWr
|
||
MO^02]5O\6C_,W_:_ %%_QZ_UV_QGO]LO\GO]J O7S]"@_ G*@NWWM_Q3_^M$q
|
||
M:<S]43_-'Z7*!(-_SA_XC_J(OT'C\S_^8+_5+_8;-$/_XF_V6_YH_]'_^+/]p
|
||
M>3_=;] T_8L_S#\NH 'CA8(RG6C\4;\\(UXP%YN@QH_PRS->B[MO^P<%%(4.o
|
||
M<?OW!&L+BK*<7/O:/D=P*(&0=8L(2:/<C3E*2D #E/N[?T^ [BL%ZKY5P.XWn
|
||
M_]1_>@(C#PI%253*BU\:\\-92QHP#F_!6\(NE*IEPJF@?5 21-(",QPT%;A$m
|
||
M&'LPPQZ/"/:__)H%Z#]'(%AT\/5!+^6,Q*9^1NXF90P!5 #A7IT!2+:IDJAXl
|
||
M*=!WW OF6_YB@ &FX%X8J;H4#,#VA?D"!S>EB "6+TYPL[.5Q )P?]&_F QPk
|
||
M]SQ@&T#T70<0HA<";-\Y*;AW!CH(8/ANV"9H*P&2+Q0(T047(/LB3"%KBU+(j
|
||
M +472;P*8/BN^^50R%]0*389R2NOPFAK"3#:(-J--E@(H0,W5A, %&>FB*:%i
|
||
M1,!G]@'6E6F*?+9_,Y^Q2#!I9S--FOO,50/DD%?,TLX&_8).R@%,\%7Y0I\Qh
|
||
MQ+* 4:TXEQED8!&A.:CI1NA%E;N4%D(!"B@^8R1- <MGDZ_S&8(!A0<)V7+(g
|
||
MW2)@K(K# !HC"-@$& +V1A(I8K=K1H$ 90<"\ ,0 H> 6PX/&;>(K7+/0BC<f
|
||
M7G01=8JNQ1=P#A.DFUCTC8Q?#847EPK %1$.F53 E^(&4[=X$K(.PY4_(X/Qe
|
||
MOR1B<##+EC=!5[$KR5<H1T( I, K%P4E95 $$ (,!(P M(HQ&BG0W.+_T_ Id
|
||
MB$9JP1%)61N !W"'0]0UQK9>I9PNE"QNY(7STH_A2J*!.K1A("/0#U ,W![0c
|
||
M*CX6FAIK0G/BM- ]$0?N?<R!2R]GG![,[?4--$?IR:I>-H.AEUXKZQ6(@P8Vb
|
||
M)]Q>KJXWV-A+&4@IHP6" U$9V,#V0*O@[:4/E'O!N\I>?;)-BSE03S3:F 9Fa
|
||
M 4A?,B_%B4/P9@,54]HL!#D"$T'#UT_,E6.H" B. G,=V\!NH!.@'6@%"QD$z
|
||
M!,F!PQ_&B4<M9&!-$ :"! T;10#EU1.@0G8,9$,)R&XVB*^.8')*&YBR*P;.y
|
||
M!*D [4 R4300)1C1N6CP!!N!Q< B /S!FK!D0@5R+>P%W8HA3O9/!7#+2(@0x
|
||
M## 6'2X!".!.Y9::>BZ\N%YUA@K?"&QER]%"\Z(U<@QUFK#T!1N##34Y4RO<w
|
||
MT)0V?+/MEUN0Y>*QXX'H50),]Z'/4UOP*D@7] %46]!O=I(EG<9E+\@&N*'5v
|
||
M!4=-=!)IW=?']E)A(@S>T*P5MY<-G_)*>,4$4.5E MD5UHLOX.SMN\'$RPIVu
|
||
M8+:"KX,UQ9).%)@+W">(!6=,J,!)8!?J(\@I0&.(!#N"B@HH0!+ YR3R>@BJt
|
||
M 2#'4&C($BP)Q@3U/"UB> #IP4"(!:"%.%E8E?,;DP.C!.BH!\P.,(:9)S!s
|
||
M!&6"-,&68'!$-I@FN0G>!I\+UT#=8&N0-P@=! H:16@&DS%@U:G@1:"*4 U\r
|
||
M%(0+2 THV:"N.*BL. Z: Y6#"(7FH)R$.\C+@#\810X-BX5$ 72AZH#1: HZq
|
||
M"IZ"]@*=G)NB,QAU4@$LU]A,APH%0+=B- &;<O+X&9AXX8)U2O\AL2! 8,PIp
|
||
M[I@2_PL"H/^(+,+@&-<9,\0"V)GX !0ORC0*3"R$"#V$:XK%0HBP<%<QF(C$o
|
||
MN=HI=0H4X13OBU4AC!&."&,*BP'5PH00P: C7&EE/^H4+,(!0H% <5>GB#KQn
|
||
M(6R$G#H;A'9N3>$57%/X']PN;A,@X4=K*N@6C!PI (8XH,%&%<4-*U<D?$']m
|
||
M,6 LM28%P"+L/$"5J%.P8YP1'@E UR0JM! [V-@LX!X$=S:E 7* '$@YNC Xl
|
||
M"JP:O2)N$6R%-56>6KMLG:2$]S,TH(9+#<@_^Z A.4@I]PHUUUM*S;6M\)"5k
|
||
M!M9*LX(4@,PIG. )&PNTH=QO0!8_()!C(:*-NA$",B:%Q[FIQJ706Y I1"@8j
|
||
M(CB%*$(D!JBP4G@&&!72"TJ%,A<\ %4F52@I5)E0"G4:KD), :P0+M!.X10&i
|
||
M"64/JD);8:C04KA<LU;0U#B%:Y<4@.)NDP8EN2QUT5)*ICI6@1W W1)&XSHTh
|
||
M3O042(R$U+20Y;(0616B!YT56Z? $\N"#P$;DTTH[AAW,@\+T6%)<3<.@]Q-g
|
||
ME]*%6@!?P0L@^5?KJU.HL%H>4(#L@9-ANN=/RJSY"_V%9JR[@AK@='=?6@LZf
|
||
MP7Q=]2%\H;[0"7 $B##XNJAN"8]\(1-@7VA)B $$S39J,1-R(<30XB$QW!?^e
|
||
M!I](S(P?&1_"MH?12!3NNA8B \,\P7WI!=;FVG)<V)0&G$+A"!E@!=#,261Ld
|
||
M+9:#%1VJ3+(01&@P+ M""^.$C:]J87-B:@?(, &D!E0+*0!N(:3"6YA<:R# c
|
||
M <2%6PXR$4A 4N>T>P(HM(Z&?P%C8>5&9]@X0F(8(GJ&7S$7FI,":)@6-!CJb
|
||
MAY*%A:_Q'=)0:5@M ^0$[)J&X4+($T)!:L@1H!IV%:R&:4,>8=809^@T1!9Va
|
||
M#5, *D*P(1<-+#8V5,\I#<J&UD*B8;9PL9#]2!KJPYB&>JNX(5*.IS8U;-K=z
|
||
M#15:C$.D8:,0'0'(44\5;6X\XX0?(<CIT0"I.$*(#A<+"Y',X5\@V;-F:0O^y
|
||
MIR@*1["%2"(J6>%+63S8#$ 5F(:E'Q7KN8 J;#2ISXJ&]XVW6N\P25@T/$)$x
|
||
M6=PFPT/:7-%PL;#ET, LX%2#RL.46CO,I,3$ 0XT*7H##(X86@ %Y)3KX!1*w
|
||
M\20&:(Q4G1Y')$A7BB?YO'P8O9+P(0,MMH84<*#X!"MDD<#5(/)0?;@U\Q4,v
|
||
M ]V'O4&E8/QPZ-"O<$9(*HPBR8XU0K&"BG4^U$9=!?<MHK.0FU^0+UA&*Y-(u
|
||
M!OE828#*H D%G03H:@'T G^!\4.&2_T'3+0OXU?X!K!R"Y$J89_&+[A("A,Vt
|
||
M)WP56T( ",L-=MAI*!PE']X &43,&U9NA=A0Z!RFQ2QE-0U^A:^)20&I2"&.s
|
||
M$,&$3 HT1A(@2Y(UB2$J*GR(++?-X 21%94:=*!L!O%_*Z8/XKI.3C(,9%D4r
|
||
M$+6!ST$-'YO)3K*P^![.!QN!M+G?H,TARA0<:)<1$+%@C1,LXON0"N K*)-Tq
|
||
M$=.'*;LPHE%DC'@>L.V9$3$:4J^>BQHQ?Q@D:"-"P5*$X,,XHOI,C.@6B#*Ap
|
||
M#N^([<$W22X0+F &<1[."GHK1S$DHL6MX'0TL"*^BNHT0$3,R1!Q=Z/PX)(,o
|
||
M ?A:2T20 %6"4S@F]!5($MMN13<^5W-BES/:0+GQ;J@2/"]KH;0BN1)H,8KHn
|
||
M#O&(HZ7!A!T@[%8S>RW\!O<%1 +XWQEQM.2K<!U*Y6*'/40<HBSQ6B%OV25Tm
|
||
M*Y9^6( L @"ESA:4E3 $K>'N41> NBPZJ8E&B!8$JN)/1?F5 ^+B<<FI"+Zl
|
||
M#Q$94+!EXFB)3NA \1K$$$=+=,-LHK0"T.5.5">B$?,8>T3EU?9@B^A&5!#)k
|
||
M$^UA3,) (AAQD#A'+"3B".,#]!YJHCPQ9.=(I - $E5B!4'M56A!)(;Y,FMYj
|
||
M&BQ2WT1PTHCDGTAQR2?&L&B"7$1_XC^1@?,1_"+Z >2(W0HZXA<+H>@=&"8Ni
|
||
M%!N);L)'X@K *A91;#8=0AQD+AN+(EI+MY%1;$Z$B4:*72@4@$=1*<A/_".Jh
|
||
M .:'@L1.74'Q@7%(3"CF$'.)MR 0SS-1WK<0H:W-"8@$"L71TE%1H'A2'"3:g
|
||
M$]DJV<3PSV@):G0>*-ID$[>*)L4PXC)QH_B=POQ(%<E2><+LGX4 3(!Y@*SMf
|
||
M"<H-+D5/"UFQ?*B64^/8%YX 2P#65,8 #Z ?C#AD%5>#O$/78&]P>V V9"+>e
|
||
M"1-%.C5PDDN0&-@;_ DV%AF#C\5>462Q.8%6W :J%7V*NXJAP]!!>>@>D1ZZd
|
||
M Z.'?T3?".7I=VA:Y%<\#8DG;[4KCMMDL]B=V:C!DBP$>$2$ OSK58 %@0N&c
|
||
M ,B!BI.&HM*&#W$(C I&F;X,)T-1 O3K!:!B<BF> F\.=( 8HI+K9)A %+LQb
|
||
M"JV%BL1:5YF+RJ5=4'/Q *:+3*[+(B*P9J;F0DQU%W==,42;0[\@V!0&]&E,a
|
||
MOLB /ZT]8$/1DC@Y*R^6#K6+O"Z0@*^"8+8&^)>H%W$./0##&FOJO,CD"C"Vz
|
||
MYE*&B0.W@(&1:0&W<@OT"U!X!$8(3B2,8#ASV $H%-\D_T6$TC+1^6))A(M$y
|
||
M&-L /@ $8\%PF=A(XQP"[&*(A!RO2H4IL-:U.+\X"M GY$ \83F);_A;3 V&x
|
||
M;LA1S<+;"V^QQ>)IR0RP%P 3W0%^Q+5(0?BKD(69E*2(_AGTFTL)R7@]-!JJw
|
||
MW"@@VP,L!@9DR>A_ (#D?.Z)I\1C8@O13I(J8*O)$%6(DT06XEFK>HC1.")Vv
|
||
M 8<./L/;RLLP:'AE! D<(MR&B:>FX=0N6W@(8;FP !2'*0">(=10MQ@<^1JBu
|
||
M&<.&7K0U(^*P.?%FI!1^"^M:?XILX1'"<3BPF#.F +Z&>T8V5.#PSS@X%!L*t
|
||
M&F-HUL)"X]M0;^5H- $L%AB-=T:[DQP B1$XC#1R!"R!%2;@8B;07N#NTS[Hs
|
||
M_JI_#('>'_!OUMBVP$X<)[Q]QK_I!'0B0\ 2T G$!F"-SC_T0N""<+'NB_X!r
|
||
M&X^-O D#GB7C?I?RT-\= $V .<!G(_FB=D<'^%Y,*10 \9I.X)E)-]*:2Q6.q
|
||
M$[!X)$(:H8BPBB?ST.*U.;AX+4+S$*\P+(CXR*<LU[8 5;$MQ[OQ("62D7NDp
|
||
M (9($"+W6T<,J&1OM'OD&[T%D"9.85#)>(A0>#?>Q 2.]D;F8<%1WV@40SAVo
|
||
M/N8O1,)FH5B"E*(OL3FP#O<J9Y,O -,D2[?\^I?H*2)5]XQLB4FP(K!+$ '0n
|
||
M63 F%<>9@ZB!<5)R=*\MXC18%;Q.H#Y'#( Q00&XGG*%D!#FR[Y,49%R#.C]m
|
||
M$4>.P*\#E1[%5]!SO#C"V62'1<=]6?YK7\:KZ%K4_I"-4,>HH]1QZC@5X"N<l
|
||
M#%Z-4$=98[:/UMB<0-(H2HI_-0J<P$<A1X$3B $P_ZB.!X'GW_2O*K!V1#NZk
|
||
M'7\"QL4*A%\A.A9E8C8$ K<LY+/$@F, _5?_2PR4"TP@[X31AB#+2N41($LXj
|
||
M36 #20"TQ! "!2!$.#R2$X (8+.1!C 1J4'2+35 781>(5P 3/OTG JX!&Li
|
||
MY7X51H;$@03N/E!S( WH-M ;]RK80(6A=[#]@]!8F<1T'(,F Q0@"]#)0 ($h
|
||
M $<+Q*IMFY-'2A#\,/$-"IH&PS9ZQ'W _)#^J_\]]&8%=9NP1/H/?=!7J/]5g
|
||
M!+8 RCS6@]W1,$.UU 9R/( #H8P7#H @"N#[*/)Z/*0/'5;E!4-)]Q#YJf
|
||
M'P4LV4?% !_ /6 &6"UY'XN,V<>4P9(*+3 &6#^*!OX")8,T !_@WV 9X /Te
|
||
MF<(%#(/W(T= ^Q@HBA-M =2/[$?WH_GQD9=B.$"Z =:/>0(%Y/<Q_AC/<P\@d
|
||
M&"H?AP$') 2R_5A^G$!J'_>* DCPXT+/?7"5.BQ$"VH0? "1!!^ AJ,=X /Dc
|
||
M 4(48 $^ )C@S, '>.HA'_D 6RDQ 1^@[F RV#_B"?IT'4CXH_;1[&!S02.8b
|
||
M(,,$*$@5) OR ?F"I O< 620MH,R0 WR4W&#S$$^('F04D@0Y )298"-23\^a
|
||
M(!.00<@!9,I T<(RT$""(4.0%,C, &N -V"&C$"&(460OQ8^RPNC#<F!1$-Jz
|
||
M'[MI/P0[9,K@H(<4V (T!U*0H0<)I!!R#$F'< &=O5H_?,<UA?&QSA!DL!8Iy
|
||
M'Q>1<D>_(J4@;V 4&'=!$4R$N8?[6RC"W,$"7)B]",("P40:6R(&/5#_2Z;<x
|
||
M%1.,285!U]UQJ: P(!C<%D(-(( K &VOPR&(6'[U%98*=8@$0;]@\/ &J/]5w
|
||
M!1^$G<C4P62@:C %^$%4&>\#)0*P@,H!*2#Q\CA8]$ [" /1PA"A_G>+C!.Qv
|
||
M(B<(HH$4')7L]3@HV*7T(-@%T\=EP]=D4/#.&5P==8 )38L)0?VO'$E..$=*u
|
||
M"H1&185@).YQG# FFT1"(E@01P:D I$A+8"-?$56F?P,4( A0/VO"6".=#&Ht
|
||
M":)2LXLI4EI-[+ KP$1&%RH"3X#]8-]@'AEN^ U0#.@,=H8BF<Q#@C$<"$>&s
|
||
M(&XX(@GB8_VOD<!B<$*6_R22EX:*I!M RR8&R!)TID22$\@-!NLAFV4P.!;Hr
|
||
M"%H*L0*5A)^!WR#:,+ )!A0#W*PR X&A\Y:(A#]N'Q\8@J-8A$=2I1AHTY$Aq
|
||
MS-@#!@T0P0:,CNAZP#Y*P=X]=\?-@+0N*_,?F%D\&W <,$FCI/C1,$!^3$KZp
|
||
M&3R28TG1@!Z Z@ ;:$H*&^P.< &&AE02#F&5U$D=S,"16$G# +I"5K!G.4E:o
|
||
M&\0)H@1\H)4C[XC4"#ZT!>J2?+KUXKTCW;!\K BT /:*[HJS9%X2//06X$N2n
|
||
M&P0&Q\B)Y"/B&K(O4$Q&IAB3V,=XGNC!D> ^4$I.)M$5VCW+9%/JK?:7'.WYm
|
||
M&<B*B,G%)/%162%M3"<X*:J-B+8;8!G@-@FE4 %2[W@ ]8$QB6]20%>J4"KTl
|
||
MWGR W0HV@=X \. _(C*" )8 QH%G SYR2#B9C$MN"IH%[ H5EG* )PD2,)>,k
|
||
MG8@BVDD 8%>A"2#9$FUX)_E.JP.BB'.2"F"<E!C (,,V$EEA0JK9O,%\,19j
|
||
MHC($EA1?RA2 _,B-:$]J+7P%GS>)RGQR",#+< (4K^1TJP-XQWX29MB?A. Li
|
||
M%?Z3D94*FKS 6]"<[%8 ^_H2"80$026242>@W&10 9QH+X22P ]PYZ%@LF.\h
|
||
M$&Q]SLDE@$ ID>0TL4Z&&K*3FXR )*G$UJ?"BC(D 9);NZNK :5!A44$J) Qg
|
||
M0$ "QC(5EE*0J^ $B!X0 =H*4,%?16+@RQ*?)#*.*"<>ORME%!$P)/"DI(E f
|
||
MG+9]5<H7QA$@(. _XP@$*3<968"8X,3P"E 1P$^HL'Y758 0944@0'$OU&'Xe
|
||
MS_@(_8,LY5E@") %2'>!!%1^*JPK !)@5*>FA/GQ*%U\00#W6 !02Z6L2$[6d
|
||
M0YJ49TH1UA!@2AD;D%->$I@ :4H7A:-R2UD$Z%)6!+Z4.P\ZI9TR 6"FW&0$c
|
||
M!(Z4( $VY28#X;'#,%#V$2@4*JPPY7MLXV$1<%3J*?F4-@%')88O4,D$&%0Fb
|
||
M*3./ )"N /1!X_!I\!\)*1<>)XO)R P /+G)( (, =8'.A&>R P "D"LW'G@a
|
||
M>RH"R<J>"!> "Z">Q!%U4(X"%(2%09/R]!>>6 LDGF)/]$G[I!.NL,&>=%#&z
|
||
MB0*4F,%N140RXM NJR>@I[Z1PX',Y+%AE=#$JD?F$"0J9\*R&0N'-?GV !3Ty
|
||
M'Z +C+#QHYR07RE@^5=:89949L)K#,"R /GBX%>2[X(-#DL+I(7#*V"PW'ITx
|
||
M)G$.%4NKE!&2P8%M5%A:88B0:X 29&NNRIAXPL94+,F0:#F2I1HRL88_(%G&w
|
||
M(24'"<LZ(L 2#]FR!%CR(4^6 (-MA;H2):G]6PHT"# 0,1ALI8UA .<V("7$v
|
||
M"UB// =Y0U1E,< XJ/^Q(7P/!X+9)+<24$&R7,J$(ZN/%0-R976R?(>O]%C6u
|
||
M8/0C[SE^I6@ ;%FQ)-^1+2.69TN2Y<,@;0FP!!. +6.6_,K:3FS.92G 40P4t
|
||
M-H0 9KV97G_*L/*B5%;D*VM:>X@Q26U#19D'&"CA#82374N9I16&Q5 5:2/Ps
|
||
M*\T.C4OYAR]E2=FDVQ!Z+6L'5 ^O0(,I.:F*0 HP'RP$>Q#+I>+23_6%N6]Tr
|
||
MCWX5<PAI 0*$:F -%0:#T0)K0,/3IE@5+5W5$3*/.X)]H5YI"5"\O!+60H@q
|
||
M!2),&X*TVG9 7DFOI$>V8B -KXCAY:!!:JD \(.1"+X;?85_Q?J+P,::)#WRp
|
||
M*_L*_(&+F*#"4*&G$%0T[DZ7]@0;W7B047$[!#P0"M8(\DK_T=IE9#&GV%S^o
|
||
M*H( Y$L[0_A/*"%G2%\F+IV$*$GWY5:!]6!&S!L "M277<./H+X2V0/O*%>&n
|
||
M%IP-HCW_Y4.278$M-#N /P05^DOT5/ A ,+WT3W$"BP$OT?21+3A7LFN0%0Lm
|
||
M")^7\ &99)G+%#D&R$>.'A4#S4DVE/?2QT32P5]:&U1U#DRJ!Z/"U06BW'((l
|
||
M,*L.8*\:)I]1Z<*H*!P]BX(GNL$!)LH 4L&^'(Q!4;H6SLNV!)ZP5""]=!'$k
|
||
MV R6ULL8YO:R8[E\Z&'J+XT=+8T]1?GR8";^JU^B) &8+"[V)9T"? F_7!S(j
|
||
M+\^77DQK@^C2A7D?T%^N*ZL._4L[VP+3;XDZ,!!J+QD5$<RZ(P1N<]&#L&#Zi
|
||
M+OL,+ *3P0;3?^3!_%5 4"8-(-QQ:DBCB!CX!+@(T6/;$G6)690A=G#]#&%h
|
||
M=/(B-TS% SSCFF'^E"F*6V8Q,L<YB=3 8#$5),]+WT: 94FYIY"QE:]G%L"g
|
||
M+&-S4DQ&!?<2=>"]O&**+]\#@HHMYOQ2CC HL%^R*]:7,;;V)1DS?@E'V&76f
|
||
MJWR9=$PK7OX2?/G&A W$,=$':TP!YML2?(FW; ST%HB7K$0%9GL *4!'C&;&e
|
||
M,K\="DH]IO&-CXG+O!-<,!F2W@IFPDI"HE+(Q#8A,E]Y>[W1AF*@VX8E(F&:d
|
||
M,".9*<PNU HS5='"S&1>MNR8#\P9IBBS" #*Y%D.-/F&*\QT$1!34?%[L1;\c
|
||
M*P@5(J&3A6) 5A%2Y"=(,V$#!\V(A4>GH2FR"&9&-$4 [$>*9C_1HDFRQ&AFb
|
||
M&Y)7N1M:A5#PHO'-I&&.,C&&FII)Q45S.Y#1/&+:"Y*8Z8\EE2J3>BFOK%@Na
|
||
MJ;*7 <WY"Q5S3_&]A'=@,1,=6LPS9A>SE_G%E*@ ,P$68TQX1QE3EXG&9&JJz
|
||
M,>^7_DS])>'2<,E2/"[(,:.9)$N$);QCJ\FB/%PV-!28WDQ.9AZ3A("!J6":y
|
||
M,_^8&4Q!YA.!D.F</&2V)4*8\T=[)B3SJCG)U&=6,L$O_4QYY28SJ.G2)&C&x
|
||
M!T.96P4=)B6S4:'0W)-H2CB:#TU,$*<"#C 4\2/^F$B: ,OY(Z0B(*G2W&@"w
|
||
M0,8 #LTBILD"I'E_)!H,5BJ:3(VPYHHRZU#OT1[@*/-<G<V9#F13M,FIX#^Rv
|
||
M!42:Z<349F9SM=FBO/#Y*)$ L4U1T&S3HSG:_#_>#7";ETW=YL&2M_DH;.!@u
|
||
M 8B41LK@ID6SI5G3[,Z4,@5E1X'(Y4[SB=G*#%N2+.,?0$T9IE"S>VG%!%\>t
|
||
M-;T:N4RE)OW2JCE\=&IV#<68^LNIIGJ3E[DK:&HR,.N8\DK])>7R=TGO06MBs
|
||
M-;^;]1#]9CU$1T R2&L&-=>:5"D*YH?IK8G!3$9H,.>:[,RZYCMS!#GOV%ANr
|
||
M,\>0F021I5VQA+G7;&_V-145*TS )H++GSG8%&\6-@N:$8?J)HBSDMG8- 4&q
|
||
M1X:; (N/Y@ER#8#<1'4I-R.7"Y$HY:(RN-F%@G%"-$>;(HD:9VY0FBE 6FQ p
|
||
MG'B<#,W/9FB3N,FI6$(*.3&;D9@!)Z2"4ND_0W*^.)6<'<T8YVBS">D<>'+>o
|
||
M.(N<JLHQI953^H'EC&S*.*.07LX@)HX34H&F-&P>!WN<94[:YLG"!FD42',2n
|
||
M.:6<,X]2)1]AS/G# 6UF.7^<0XL\@)C S@G@_+(L1#25(T&-IFPSSLGD/%E@m
|
||
M(0F=-DL\YZN2J\#G]'%*-D\69$5(9Y33T!GDHU4"!16=HJ# G5QB8B':= ?Il
|
||
M!/U5A4YX4G$J0"+:I 7.7%:.+$U.YHFSCG+=+ UX<,PAG<OMYJ "BNG*M,(Tk
|
||
M!\*;4TSR)I_"EMG5&%^:,8N95<WZ)E]36?'4)%1$-7TI\DUDYU)3V>GA3&:Rj
|
||
M,>V6X,LA0.>RJTG@_%_^-P&6S0']YK:3^9#-E&->.+N96,UO)H)S@DG.M"+Ti
|
||
M+AN<Z<Q!9H3S@WG7I!E@V;:=>DVIY+*SH[#B;%3P,T><@DWVEZRSNNG/G'4Nh
|
||
M-GV8)8&%YI63FK#DU')R*IH#FL[,Y6$@H_GF3'(R//^<E\ZV25$@XLE\*(>Ag
|
||
M--V<*TV IHFSNAE5M"9(,SN>B<V7IG7SIFG*5&)2(72=K,R>)K_RU\D9X&3.f
|
||
M,JN8PT[SYBTSJ2GM7&]2.U&8[LTP9C#SV=FMB'::+Z>=W4VPYC(3WJ'ME%EPe
|
||
M._V;]TUEIJ]3<YGM''<2"<J=Z(-SIT'1P"G>7'?N,=V:[TYT9B!3G<G!5%:Td
|
||
M,^V:#8P])+[SD:GOK';R.X,C^\R2 , 3)5GB%%08/*^=-,V4IV'SX+GA 6*>c
|
||
M/(D$1,RX *N3N$D+I+C\/0\#J8KWT,GK\'D]K.1,-P>>>L_XB%O1Y$FR1'ERb
|
||
MSTB9]@(5%KY'"C $^';]<$08<8=E4]R!/N#0C#N /@$@"1+73?.RY9G^D%<*a
|
||
M%5&23DP^1>R3E?G--%2L7?*;S$R>I0&A:%8F. %(?BX,O82RYU"SEJGS+';Bz
|
||
M,HF91T^?9](SZ FH@&\.,X^=R4_ZYO(SZBGP/'""+R687\\%9]@3D/G@7&=Vy
|
||
M,"6<]4[H0'6 8Y#O/&%*,FF3;*C-9^<33"/S% 'T%;R<M\X]Q,D YHD<*'P!x
|
||
M++&7YD1]I?Q3%4E]Q,[5/(.:D\.9COK3\]G^I"/"/T^9&R9GA?=R]EG_5%D:w
|
||
M%(&=LLRHH4=G ,K^A'V>+-*2@I(#J!(S 4K_S'\&+,F2 \O:IP14 /JA7'^^v
|
||
M/JT-0PL;C 8T_1'Z68"N,AN@-DL;# P4&W6V%('.#2>@)5 "J 54!+"D6H%^u
|
||
M-W2:+E#JI?USN5FX+&O.0 &7<@X(Z/QE!"H*HH">0*V7(@"&I0\4E6E8Z8 .t
|
||
M0;$U]PHESQ%T; G+M'DR0;M03M#VY\/R#C %;8'V,!F@'M QZ!'4;-D%!8!^s
|
||
M01458= =*&, =3>QK#]8-FV<\4\SJ.SS!9H&E5AB(->@>H@VJ'@S -H$S8%6r
|
||
M0%&@F,X?9+]@"LH!#8)R-Z^@9$4E*"$4#&H(?8+&YD0 &DN<BP94N^D(W75Zq
|
||
M0#.A6*E/:$;KRR()?8,&1^*@B% 1 ,A29+D)C7]80=66&<Z-Y1$4<@G>_'\.p
|
||
M0DVA1\!*:/L3UE(&365V0EF95U!8RRPT$!JVM(&6!.&@NM =*,JR%UH%_87.o
|
||
M0O=R'E"WI2!T>XD+10&@0J&@*\NV!#/4,O *!5AF0RU0'E"Y93'4"WH#)8%Rn
|
||
M/G6@J="7I?-@&_JS<89Z0-6ALX5W:-UR'.H&+8<60L^AAU H*,V2$<HKZ(9:m
|
||
M86B6I5![*"44'VH)#5L"3&064U ^I#^4I-&Y/()B+FF>QE"TVRDT&9H*I4),l
|
||
M05^>[M!@*,#@&5JZI(?>0NVA)D_J9N03\^F<G!:M)0H'5KJ^1@Z$1#"[/$*@k
|
||
M%)J3(1%/Q7>@XK(4"(BD\*:6:XI.@TWT5%';0#]<(7R/4H*::(? KS#O-&3Zj
|
||
M++:?A@.GP7>@+/ PR#T@/_> #HA= TK49X"NR$P9!? ^<R>!>P!:%%MW%2<i
|
||
M+)06NP2CIV+AG#D\4(HZUV(5^[J:*-:R5T 6%*Y=8/8L2 2=2*S"6J$5O52\h
|
||
M1;VBA;6E!5H4"+$3K1C01=VB08NXJ A21W2U',!U'YD6?]'!VEU4:'&R$$&Jg
|
||
M%+L B-&VJ&(T,,JI$$%B0&&&D-&Y:)VB6Q$? (QV11FC(L?SHPW&"[F!=#]&f
|
||
M1JMRGE&X:&64 CD&)8V>(4^C[;#4*%Y4!#D'O4#Z+#.0"$@W9&:TIU(7_5DLe
|
||
M1@6C%,CY(V73_IA6RS_N'Q,+; '_(Z() %D:V(W^R5"CD]'/*'"4 .D\@!-)d
|
||
M#.B0IE'-*'1T*_H;78U^(!6A5A;GJ&24.TH9;8Q2($&A1\A, A22!KF$Q$$*c
|
||
M.A^0*D@Z9]^&%M@;Y8JJ1D\6+D@8Y!,2"^F#O%B>!\2CVU&[:'DT-(KA+$+Bb
|
||
M7$)$*,@9I!2R/6J%!$22 ::0WP'DXRR%4B$;!8WF1YV0.\@/00\2! D;[8Q&a
|
||
M1^^C!%(NI)L%.WH8U8[&1C^DLU$*),K2-:H;[9#61[NCYE'MXS?T+$ B!9">z
|
||
M2,FCTE'O:,H 'DHCS8W6(5VD%=+IZ"-O-&DC]9#B2$&D(D@^9/;Q#[D'R8[Ry
|
||
M1H.D.E*502$2!G"(=)(""-44WDHXPK?2#+ %H$^^*5MQ8TRCAOO-7-9,T$E\x
|
||
M-<R53 73%:/! +AVR9*J284CIPK;9]=P *>_-&#B(J^1KLA65U-21R 7FY)]w
|
||
M/[L5< 5;U(.0[3EX:$]VN*H#62EWY^#K4; G[4$<&K9T:H3V9/T/3YJ-'"[Lv
|
||
MUXH"C$GTY_V-_=4M@!PA<1:.U180HA='ZZ$E=7_M,%D%(X2X YRT8E#_M!1Xu
|
||
M2BV;AC,F0(2!5#HKV)(^Q$X .Q'*#ZI14.HF_5C>ODBB?C!,06QJ*,>$6(7Tt
|
||
M%6Z>]0]3Q_63C.C2X'\>!L!'3ZF#9'SJ3VK(%)8Z",<-O0V&@;QR6^EI.4IZs
|
||
M.\N,?49OJ$$1B.D6S8LV+7JES@3_XAQ 5H$DD<?]*AY/N2N!99L!7"K/!%A>r
|
||
M1GL%CLURJ=+B7$HKK:!Y'->E"#8HBKMT#SD:Q8[ZC]A0WTT;C,*S7DH#U63Rq
|
||
M$_2EZ]+80;\T72H"^ NP2Z6;YA/%J+E48IK9\)=63 <K[=)NJ7"T_M@5*([:p
|
||
M!XZC_4?CYCHS.5"?D"*L23$:*,1P*1&4JZG, 28<2QV;K,03*!)T3 +$G"7Ro
|
||
M!@*2^81^@L94:4$TC9AR+HZ5G(HEU5EA*+)X8B/2*G _T<!=BHWRM9D$")I"n
|
||
M3(NF30MC)6?M9*$T+9GB'^T#30M\#RT0:NHS%<7]-JVF0],Y -84.: U39HRm
|
||
M-Q=7R%$!6]-T; IPB9HF5X:4_C,C)=J4.YH779L>3;>F/-"WJ<J4#! V=9KRl
|
||
M$^JF21,#8+>48<DB;3]6#:P +5,3R<NTIM$_1,=41P5%-=.>0V_1Q<DPQ=: k
|
||
M+7.#$%,F0-;T6.EN\55P*AB6-JJ]J-C4PM@>7&E"3.L/;%/2Z6\P"GHY[;V%j
|
||
M-.>FK-,ZRL TGM> ])&.0"H"D--BQ.34.=F%(EFV1C.G-U/.J<Z4#8H"R9CRi
|
||
M38NF^]+8*>!T#)HZ+9RZ.GEJSE.[:-]4;6HT;9N>+*BGMU/#AN'T4=+7[%94h
|
||
M(.F@&,C&Z>^492H\/9BV+"JG/@T_Z&U4:6,SO2LY-N&GC('/Z<,T;>HW]9ZFg
|
||
M3>2G X[J*>X4U+D_?9YR3Z.G?U-.16VT#FJCRA-83^,CY=-W*5GQ<5J?B$SNf
|
||
M%?F2F\?^PT P+, ;X$/>&@J .C2\(SVB=JE#HYS*3"V6?;J%J;'TKE1 U9[Ze
|
||
M3;L'0P!.A0LH<',]!0@*30VH_-*.*<6T8G QU9UV2]&CP04DY!K 0;J"]!)<d
|
||
M2)T#ZU$II'S4/:J#Y(].4.E5P5.7*1$,80JP!*+23S6GY%+^J=IT#(! A:'*c
|
||
M4(>5R(')SWJ$9,FXK(7N<T*F1A&502ST0#KC)**V1[F<,4@%*804CD!*:I Zb
|
||
M4<&CT04H:N2T5C!%+9ZV+=>H>I8K:O+4FG UW:)V41<>,E0:0--"C)J^@(5&a
|
||
M+CD5--0-RNX4UJ(^I:"R#Y(.S &*@ZR0[*E!/2)P4"53Q(3W233":^>O@A2(z
|
||
M4/6.Z882ZJE4;8F-4:&R4O6GV5/?Z,84+C QK=^\<PBG"+8WYZ1"4U(_A>#Dy
|
||
M!F^H+E3N:=/"BWJR*#117B:D[L%J"<0TA\K^^Y?P4'.ILY-)JK.ED@H\K4]Tx
|
||
M!C"IKDD5(2=5(.A)C1* 4N$"HM1!$;V*^3"8'*&F4G>')U24I2NU;<D&@*4"w
|
||
M4V6I"%1TJ2WU9M!#U:7R$ZHF6%1^PCMUN"9,W>#$4(NID(-(*C]AI;E/_9?$v
|
||
M4VNISM0R0#TUFMHMG9%24]FGUU350B9UI<6">")T4B]CWM1!$3AU3%'0DWFPu
|
||
M'TVIY514:A\5?CHC7:<VD+X;#M-8*C^5F?HF?>=0UG*I,9-=*C[U6*I/+:0.t
|
||
M4Q&I -4;@$#UCE9339NR5#VFSU1:($,UC<HCI:;22W6F/%*3*MIL'@HZ]:ERs
|
||
M3)NIG0J :0T5.5A0G:7*4_\E9X8>JL"T6TJSM*1*4=&IG5.:I2#5?EK(K*I"r
|
||
M3[NG2-.3!095C4DR>*!*5,RJ<X IP.@4YR%)[98J2?V07@% 9%'@=WI4_6YVq
|
||
M+I6J#U&O0%,5A_I4;:G6#NJIKE.G*BU5AVI+%29H5;LSTE35I2$2:,!7-:%Vp
|
||
M3JD0(L4$5-IT"V!8VP%T5@UKL-,)SC]5;=E.+2>25CNB)(@4QFDUM$""J D o
|
||
M")^ 4P.8)[*TEHD3#50,/>L4IT&'@5IS61I3> ^(*3"8=8.G:).2Q(7SE#,-n
|
||
M$T8#2)P:#XM+65K K$Z>V7:'[!3-*8+S&UF=A)8."*2E8Z=\YD'$.S#R/&F:m
|
||
M*!N%?LU&A4!AV202]60:-@>F:$_/@' U*YICL7L.D/84U\-:I@K5M@JP$%0(l
|
||
ML2 5OL_##Z*"GT#O3'L*&L![I@+[)FU2GT!;"3TB5Q<B=L_TQ3O,P,HI$"C4k
|
||
M,ET'QU5=H6_%L0G>H:\2*ABLK* AD>0'0 EO.9F83TZ9KD_VI7UU/2+"@+#Fj
|
||
M(SD%=P6[I\-$SU GJ@B8 $2L,TP%J\G"!& #U2>X5TVL"48DSN4GIJH\B"= i
|
||
M/LVK3U-!14IPJ-JM( )LK!BE5:^K:-;IL^!MZ4'\5L4.P57H)X?RPTE0LWDZh
|
||
M-F6B"E#"ITISOS:QP"A!5CTM1H GTDK1(\FUI+)V3@>I+0[60^GP_@F]G$RNg
|
||
M126?/-8T:YEK:4B:H+']2WB2$]*IEYJ5;08T V)22%&DH%&P**2*.SEV(!,:f
|
||
M/'((#,95YF1HH,IEK5;0*HBLOXHPZV&A&IDFK:!I5Y.!(P0X JO "N+B.I/Ve
|
||
M%@&;0,P7Z8!4T)H8J#YX''Z1E-8(I5/A+:&T< $P&/D)<LYCZ9;U5N%E;3&>d
|
||
MIP $E2*\I+.TST SB)9F**52X<A\9B]UB$GFO'BR"O:5V\GQY!VTW-7G=&CBc
|
||
M/Y.M7H7RY+(5O+H@M):6N;"E9,_N)K?T-34LG0P42X>M\HI8X:TBK\:K>#NNb
|
||
M)S9Y!84C [)1Z_C[VSK6&M>4P@NP(TY@AN!6F#30!&X 9T>TH]K1V$@5:#N:a
|
||
M6_^M#X'$!;JUQ^:D2N.5! A[X14OU;EMD[?8ZUH-]D07(KD9 A[OQ@7"@!N-z
|
||
M^6AX%M?XT81DSN?HB_.UJ2)]=+Z!!;.*';;L,O:M^D1]^ E2#J[OU$?*D>*4y
|
||
M7$%])]=6WXO"Y6KFD_71^@A]*M=90:XO0Q")^_4%^_I\Q#YPFJIOUB?JL_4!x
|
||
M7(^N5P%AB )!ZFB<\/TE)[B.S8D,@>)%WLH24-),&F0"?(M?(\!UWTILE/[Qw
|
||
M6Y&N8->#P&2ALD"3.%(!V$05(0K9GZC@HX!9$ L$V.0D"L)H0NZ@[-IV=0/ v
|
||
M)P8+:=>EGUNA[OIV-0'$72D+<U=4 ]\5[4HD6/IE!/BN)0:XZ]@U\'I9<+$=u
|
||
M>YAZ.J)I!(5SMF'AG'$62$.6%DXKY/QM2(K#D9*J+LT&]TZGYQXD/;/THS0Lt
|
||
M7BT+9E>WJ]51H1=Y'4]-7C6<6,C+JX930;IY%4WB<-2>3D_F0ZIBZ6<L.[W2s
|
||
M71VOD4@1YC#%]6I%I;VJ40VD@53-ZPK/]OI#P+WZC8@$NU=Y'W["]RIX!;[Jr
|
||
MB(2O"$E0P>LU\_H>E;U67J.0M5>QJO/5<PE]5;OF 0(48=?TJ_IU_;J>H+12q
|
||
M'=FM3U=W*S@)(X#\8PE\^^ROM(0<!4; U\@3V+H*&]-]75>VX]>5_6IN)0/,p
|
||
M /@ "SG5%P*6#I" @0'X(&4Q#%@-P=!*EP#8(I>L!:(V=( %6_+@\+" 7;!Uo
|
||
M8%\G'=B80 M #3 '^,!224FP#]C50 96 DMNH!08$,H#*JLZJ Z@ JL#H!@Tn
|
||
MY(H 13%)$47C!EL48P/H - &.@ R0$4.!PL%",+R8W0 I($>0'6%#<"#90($m
|
||
M89FP7 <;!-@!FM-T &$"'BP)8 TP&<5<J$#F .8 6ZP1( N[)4C"CN%'8G<l
|
||
M8*>P--A$ 0]V"6"%A<+B8)$ 4=@M@!+ "DL&X,'.84&;6%@M+(/#L(8$T &$k
|
||
M"WBP0P =0(2 !QL$H,*22Q@#/%B=:A<VQQ&'I0FT 02Q3HXX+ W@$7MFX,%:j
|
||
M4AZQ--@V0!TV#AL#>,2V <:P.%A%[,V !UL#\,0R8G&PF-@J;)3@!NL#B,/^i
|
||
M &8 DA<<[ ^ !A"+_8G4 &JQ/X ; -]%%HL#V,4&+'8 EA0Y0"-V\Q,#Z,/2h
|
||
M8%L#K%A7+"S6%4N+=<7>8EVQNEA7;"_6$*L#N, NY/X1&U@'[#4V)K" _4>Tg
|
||
M -(/W=B8 #B610"!Q<;28 4+^[@[[!M@!'#/T &(!D8 MI;:0<R-[H*#W0' f
|
||
M87&P,H YK!<VYA:%#</28&,$^[@^K"RINO*(Q</6 .*P6=@M;!_V#RL#B,,&e
|
||
M8@>Q#5D<;"$V#9OCF '$8=FPPH1Y;!Q6'_L&N-S$816QDP&/+"H6$BN2+8I1d
|
||
M8G,<$=DM0"J67**)+<EV8G^P5XZ4K"BV]I62+<7^8%&R<=A'["J6$PN,I0$(c
|
||
M8_&QQ%AC;!46-M4#6+R6&,P"6 8Q@(-!84 R> %L8T,7Q]A(;!&@%2N+7<;*b
|
||
M8INQLMAGK"PV&LN+E11E'GBP0)%=K!(V/P"6C0'$8GT U%A-P@WV"5"(70-La
|
||
M8J4'0@ =P!H %/L$",2N =RP6 RY;.W+"R"4)9?H!GBP?=@U0 Q@+5N$70/(z
|
||
M -:R40"Y[ Q@+2L%D,O2 -:R4P = '1!#,N/]7;I !9R(P#O#A[ #4"-O0[<y
|
||
M8($7U(0;;._B"HN0U<-Z5KFP5 HJ1<T*.7 7.,&E%LAW(807Y/*!<& M $FHx
|
||
M8/\1-@D_P23B/ RJ$H-T<!_JEF_ &H@3-!YV^P-"@1UI0'=P*8@ 49R,$I=w
|
||
M#'"798 R0HYJ+F E"&6U"E2SZ)FI2O]I,P YN!A,9]4..1K@%*:AW*$=>+:Hv
|
||
MF"@.< 9.@4KAL) $4,V"9Y,(+ ,_ 40B$9&<]1EP#%H%DRY[27H6RBJ91)->u
|
||
M.,4"JEGAPWAJM08[&P&H9FL'E@0EZ5%)->N%M2340<T$T@&GB6J68W!DPQ,,t
|
||
M"T8 90&F7ED@L0#.LH[6<<@]A@H,[6;6D@"2C!D<!EX$4I7W0.M &P6B/=">s
|
||
M!<(+V\ZE)11)<G"@+0W :)V>?I,#K886_=A+P,[::/4BBPXR@!XGR.-.T#!Br
|
||
M:#<)=X4(@7M6+G!7R-$>:64H_HP]2^N 9*":W5PD:0&0<DA0*H.627MA6$.:q
|
||
M'#"TO(&[0J)(-:N)M20@#-H 9%KK6Y>694FF36_<%6 M8D* PYR[$2-1<=Zp
|
||
M =2Q[-C0Q3N6V"*/C</>8^6P7=@O;#^6&@N0Y<OJ :RZ0<K+#^F-*N0]<.^o
|
||
M9;< #]GD3!QV(EN%5<->9.FP=M@N;$?V(_N(#<GF9$FRDMB3+ ]V)?N#?=2^n
|
||
M9#^QB5A/;.TK#FN3K1B,:FNP4ME?+.3@)^O(V@$48ZFQ1P-VK%RV#D"(E<L^m
|
||
M:N.R<UE K%S6#;L%",.2EP*RU-B_K)]6+CN8C<+:>^2RAUEG;6)V#;"8==8Vl
|
||
M9M< CUEG;61V,DM9.,->9ND F5D=P&:6&HN,C<*. 3JS0UC0[!!V-!NK3<CNk
|
||
M85&S!MI_P\U@=3"G14]"9:NP=EH\;3OV';LZ:,,"9C>R@5HP+*$VQV&H1=06j
|
||
M9!>U.%AW[6EV(?NHC=3V:BFR:UA,+< 6$<NI7<2^:HD"/-A)K"#V%*N2I<:Vi
|
||
M9#FQGEA0[!9@)DN*-<6^:G>R.-B&R.J 5KLZL-7V96NPX-K>A5IV4NNKY<$"h
|
||
M:T6V=EEBK;%V+_NR5=:^89FUA%EH+6)6,<N8=<Q"9B6S1+1N+1GV6QNN'==&g
|
||
M96^PYUH:K&<V"JNN%<U:8=NUIEG#FAP@>4" [=IZ;;^V8-NPK=AV;$NV+=N:f
|
||
M;<^V:-NTK=IV;<NV;=NZ;=^V<-NXK=QV;DNWK=O:;>^V>-N\K=YV;\NW[=OZe
|
||
M;?^V@-O K>!V<$NX+=P:;@^WB-O$K>)V<<NX;=PZ;A^WD-O(K>1V<DNYK=Q:d
|
||
%;B^WD5O c
|
||
b
|
||
end
|
||
--[0261]--
|
||
|
||
[0262] daemon@ATHENA.MIT.EDU (David Fenyes) Linux_Activists 12/31/91 21:09 (21 lines)
|
||
Subject: sigsetmask()? (LINUX)
|
||
From: David Fenyes <dfenyes@thesis1.med.uth.tmc.edu>
|
||
To: linux-activists@joker.cs.hut.fi (Linux mailing list)
|
||
Date: Tue, 31 Dec 91 20:02:55 CST
|
||
|
||
Hello LINUXer's :-),
|
||
|
||
A simple question:
|
||
|
||
Is there a sigsetmask.c?
|
||
|
||
Is sigsetmask() equivalent to ___ssetmask() ?
|
||
|
||
|
||
PS. If anyone has a compile shoelace, I'd be very interested in a copy,
|
||
since making it seems to require Minix.
|
||
|
||
Gratefully,
|
||
David.
|
||
--
|
||
David Fenyes dfenyes@thesis1.med.uth.tmc.edu
|
||
University of Texas Medical School Houston, Texas
|
||
--[0262]--
|
||
|