Files
2024-02-19 00:25:02 -05:00

310 lines
13 KiB
Plaintext
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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