I've assembled some notes from old manuals and other sources
on the formats used for on-disk file systems through the
Seventh Edition:
http://www.cita.utoronto.ca/~norman/old-unix/old-fs.html
Additional notes, comments on style, and whatnot are welcome.
(It may be sensible to send anything in the last two categories
directly to me, rather than to the whole list.)
Hi,
I successfully made SIMH VAX-11/780 emulator run 32V, 3BSD and 4.0BSD.
Details are on my web site (thogh rather tarse):
http://zazie.tom-yam.or.jp/starunix/
Enjoy!
Naoki Hamada
nao(a)tom-yam.or.jp
I don't know if this is interesting to anyone, but I thought I'd share that
386BSD will install on Bochs (although slowly, and it's prone to crashing),
however once the first patchkit is installed, it'll then run on Qemu!
(0.11.0, it seems the new bios layout of 0.12 is incompatible)
If anyone is interested, here is a link to a hard disk image that I've
prepared for Qemu:
http://vpsland.superglobalmegacorp.com/install/386BSD/bsd386.qcow2.gz
I run it like this:
qemu.exe -L pc-bios -hda bsd386.qcow2 -M isapc -net nic -net user -no-reboot
-m 256
And I can run lynx/irc as a test of the TCP/IP.
At any rate, I figure this kind of brings 386BSD back out of it's grave.
Is anything likely to happen to the status of various historical
Unices? Is Novell likely to keep the Ancient Unix license intact or
are they likely to lock things back up? Is there any chance that
SysIII and early SysV might finally get opened up? Does anybody have
any ideas here?
Mike
_______________________________________________
TUHS mailing list
TUHS(a)minnie.tuhs.org
https://minnie.tuhs.org/mailman/listinfo/tuhs
Hi, doesn't anybody know if there is a disk size limit on Unix 6? I wrote a
C program to create a file and it won't go above around 1.5Mb. It doesn't
crash or report any errors but the file size never exceeds around that size.
Maybe it's a disk size limitation?
Also, is it possible to add other devices? like using an ISO file perhaps.
Regards,
Andrew.
On Thu, Apr 8, 2010 at 7:40 PM, John Holden <johnh(a)psych.usyd.edu.au> wrote:
>
>> Well I found the ar specification (in ar.5 not ar.1).
>>
>> struct ar_hdr {
>> char ar_name[14];
>> long ar_date;
>> char ar_uid;
>> char ar_gid;
>> int ar_mode;
>> long ar_size;
>> };
>
> Endian should not be a problem on a Intel/AMD processor. More likely your C
> compiler is padding out the array for alignment. Try a '-fpack-struct' or
> more safely, read the elements individually rather than a structure.
>
In the PDP-11 long is 32 bits, int 16 bits. And the PDP-11 is
determinedly little-endian if you stick to integers.
They got floating-point software right in 1971, but somebody screwed
up the word order when building FP hardware, which led to the
middle-endian mess.
carl
--
carl lowenstein marine physical lab u.c. san diego
clowenstein(a)ucsd.edu
> Well I found the ar specification (in ar.5 not ar.1).
>
> struct ar_hdr {
> char ar_name[14];
> long ar_date;
> char ar_uid;
> char ar_gid;
> int ar_mode;
> long ar_size;
> };
Endian should not be a problem on a Intel/AMD processor. More likely your C
compiler is padding out the array for alignment. Try a '-fpack-struct' or
more safely, read the elements individually rather than a structure.
PS
To check, see what 'sizeof (struct ar_hdr_)' returns.
John
Bob Eager:
The 'ar' format of that vintage is trivial, and documentation easily
found. I wrote programs to read it back in 1976!
======
That's nothing. Either Ken or Dennis wrote such a program
years before that!
Warren even has a binary somewhere to prove it!
Seriously, it's a binary format, so I don't know that
it would be easy to process in awk. (At least not in
awk-classic; stuff that works only in ghootandwaveawk
is not all that interesting to me.) But the format is
simple, and any language new or old that can handle
binary data without tears should do.
If I didn't have an overfull plate already (and a
visit to the Auto-Electrocution Consultant tomorrow,
and one to the Canal Rooting Clinic Monday--proving
that one should follow Father's advice and Stay Away
>From The Canal, Neddie) it would be interesting to
collect the different specifications for ar headers
over the years, and write a small suite of programs
to read them. Perhaps in Python, just to be difficult.
(Why isn't there a language called Goon, Warren?)
Norman Wilson
Toronto ON
(owwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww)
On Thu, 8 Apr 2010, Michael Davidson wrote:
> Your modern compiler is almost certainly inserting two bytes of padding
> after ar_name[]
> so that the int32_t ar_date is aligned on a 4 byte boundary - that shifts
> everything else
> down by 2 bytes and means that ar_size lines up with the last 2 bytes of the
> size in
> the header which, as luck would have it, is the low order 16 bits of the
> size as it would
> have been stored in a 32 bit long.
>
> Something like this should work on a modern little endian processor"
>
> struct {
> char ar_name[14];
> int16_t ar_date_16_31;
> int16_t ar_date_00_15;
> char ar_uid;
> char ar_gid;
> uint16_t ar_mode;
> uint16_t ar_size_16_31;
> uint16_t ar_size_00_15;
> } ar_buf;
Thank you! That works for me! I can now get correct sizes, names, and
data. I will clean up my little ar extractor over the next few days and
share it.
I want to look in some .a files identified by file(1) as "old PDP-11
archive".
Anyone know what tool I can use on a modern *BSD or Linux system to
extract the files from an "old PDP-11" ar archive?
GNU ar complains "File format not recognized". ar tells me:
ar: supported targets: elf64-x86-64 elf32-i386 a.out-i386-netbsd
coff-i386 efi-app-ia32 elf64-little elf64-big elf32-little elf32-big
srec symbolsrec tekhex binary ihex netbsd-core
But I have no idea how to try different targets. The GNU ar manual page
doesn't tell me much.
Or how can I use modern pcc or gcc to compile old pre-ansi ar.c?
Any suggestions?
Now I found a simtools.zip via http://simh.trailing-edge.com/ which is
"a collection of tools for manipulating simulator file formats and for
cross-assembling code for the PDP-1, PDP-7, PDP-8, and PDP-11." But I am
not sure if this is related. On that note, any ideas how to extract
files from a ".tap" file used by simh? (For now I use view or strings to
look at it.)
Thanks,
Jeremy C. Reed
echo 'EhZ[h ^jjf0%%h[[Zc[Z_W$d[j%Xeeai%ZW[ced#]dk#f[d]k_d%' | \
tr '#-~' '\-.-{'