The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
* [TUHS] Had a crack at assembling the Unix v1 kernel
@ 2015-05-04 20:44 Noel Chiappa
  2015-05-04 21:04 ` Dave Horsfall
  0 siblings, 1 reply; 8+ messages in thread
From: Noel Chiappa @ 2015-05-04 20:44 UTC (permalink / raw)


    > From: Mark Longridge <cubexyz at gmail.com>

    > I'm not sure where Unix v1 is loading the kernel from. .. In all the
    > other versions of Unix there was always a file like 'unix' in the root
    > directory but I guess Unix v1 was different?

I don't know much about the other versions, but it would all depend on what's
in the bootstrap (usually contained in block 0 of drive 0, at least on older
11's). In V6, the bootstrap in block 0 prompts for a file name, and when that
is entered, it loads that file into memory and starts it. (It doesn't have
to be in the root directory, IIRC - I'm pretty sure the bootstrap will accept
full path names.)

How did you create a V1 filesystem? (I don't know, BTW, what they look like -
is that documented anywhere?) It's probably not the same layout as the V6
(which I think is the same as V5).

	Noel



^ permalink raw reply	[flat|nested] 8+ messages in thread

* [TUHS] Had a crack at assembling the Unix v1 kernel
  2015-05-04 20:44 [TUHS] Had a crack at assembling the Unix v1 kernel Noel Chiappa
@ 2015-05-04 21:04 ` Dave Horsfall
  2015-05-05  0:29   ` Mark Longridge
  0 siblings, 1 reply; 8+ messages in thread
From: Dave Horsfall @ 2015-05-04 21:04 UTC (permalink / raw)


On Mon, 4 May 2015, Noel Chiappa wrote:

> I don't know much about the other versions, but it would all depend on 
> what's in the bootstrap (usually contained in block 0 of drive 0, at 
> least on older 11's). In V6, the bootstrap in block 0 prompts for a file 
> name, and when that is entered, it loads that file into memory and 
> starts it. (It doesn't have to be in the root directory, IIRC - I'm 
> pretty sure the bootstrap will accept full path names.)

I'm pretty sure that it didn't have the full namei() functionality, so all 
files had to be in the root directory.  Of course, I've been wrong 
before...

We were constantly writing boot blocks to get the mostest out of the
leastest, so I suppose it was possible.

-- 
Dave Horsfall DTM (VK2KFU)   "Those who don't understand security will suffer."
http://www.horsfall.org/spam.html (and check the home page whilst you're there)



^ permalink raw reply	[flat|nested] 8+ messages in thread

* [TUHS] Had a crack at assembling the Unix v1 kernel
  2015-05-04 21:04 ` Dave Horsfall
@ 2015-05-05  0:29   ` Mark Longridge
  0 siblings, 0 replies; 8+ messages in thread
From: Mark Longridge @ 2015-05-05  0:29 UTC (permalink / raw)


I just tried it with my Unix v5 and v6, never touched the boot block
in either case.

v5: will not accept the kernel filename in a subdirectory.

v6: accepted the kernel filename in a subdirectory.

Mark

On 5/4/15, Dave Horsfall <dave at horsfall.org> wrote:
> On Mon, 4 May 2015, Noel Chiappa wrote:
>
>> I don't know much about the other versions, but it would all depend on
>> what's in the bootstrap (usually contained in block 0 of drive 0, at
>> least on older 11's). In V6, the bootstrap in block 0 prompts for a file
>> name, and when that is entered, it loads that file into memory and
>> starts it. (It doesn't have to be in the root directory, IIRC - I'm
>> pretty sure the bootstrap will accept full path names.)
>
> I'm pretty sure that it didn't have the full namei() functionality, so all
> files had to be in the root directory.  Of course, I've been wrong
> before...
>
> We were constantly writing boot blocks to get the mostest out of the
> leastest, so I suppose it was possible.
>
> --
> Dave Horsfall DTM (VK2KFU)   "Those who don't understand security will
> suffer."
> http://www.horsfall.org/spam.html (and check the home page whilst you're
> there)
> _______________________________________________
> TUHS mailing list
> TUHS at minnie.tuhs.org
> https://minnie.tuhs.org/mailman/listinfo/tuhs
>



^ permalink raw reply	[flat|nested] 8+ messages in thread

* [TUHS] Had a crack at assembling the Unix v1 kernel
  2015-05-04 21:48 Noel Chiappa
@ 2015-05-05 17:35 ` Ronald Natalie
  0 siblings, 0 replies; 8+ messages in thread
From: Ronald Natalie @ 2015-05-05 17:35 UTC (permalink / raw)


I find it amusing that the listing includes a copy of the filesystem as a bunch of assembler directives.




^ permalink raw reply	[flat|nested] 8+ messages in thread

* [TUHS] Had a crack at assembling the Unix v1 kernel
@ 2015-05-05 12:24 Noel Chiappa
  0 siblings, 0 replies; 8+ messages in thread
From: Noel Chiappa @ 2015-05-05 12:24 UTC (permalink / raw)


    > From: Mark Longridge

    > I'm not sure where Unix v1 is loading the kernel from. 

    > From: Warren Toomey

    > Have a look here: https://code.google.com/p/unix-jun72/

Thanks for the pointer! From poking around there, it looks like V1 had
special 'cold boot' and 'warm boot' disk partitions.

I wonder why they lost the 'warm boot' capability in later versions? Maybe it
became reliable enough that the extra complexity of supporting it wasn't
worth it?

	Noel



^ permalink raw reply	[flat|nested] 8+ messages in thread

* [TUHS] Had a crack at assembling the Unix v1 kernel
  2015-05-04 20:23 Mark Longridge
@ 2015-05-04 21:55 ` Warren Toomey
  0 siblings, 0 replies; 8+ messages in thread
From: Warren Toomey @ 2015-05-04 21:55 UTC (permalink / raw)


On Mon, May 04, 2015 at 04:23:30PM -0400, Mark Longridge wrote:
> Ok, I looked around for the instructions on how to assemble the Unix
> v1 kernel and couldn't find anything so I tried:
> 
> as u0.s u1.s u2.s u3.s u4.s u5.s u6.s u7.s u8.s u9.s ux.s

Have a look here: https://code.google.com/p/unix-jun72/

This is the effort to recover the v1 kernel and make a working system.

Cheers, Warren



^ permalink raw reply	[flat|nested] 8+ messages in thread

* [TUHS] Had a crack at assembling the Unix v1 kernel
@ 2015-05-04 21:48 Noel Chiappa
  2015-05-05 17:35 ` Ronald Natalie
  0 siblings, 1 reply; 8+ messages in thread
From: Noel Chiappa @ 2015-05-04 21:48 UTC (permalink / raw)


    > From: Dave Horsfall <dave at horsfall.org>

    >> In V6, the bootstrap in block 0 prompts for a file name, and when that
    >> is entered, it loads that file into memory and starts it. (It doesn't
    >> have to be in the root directory, IIRC - I'm pretty sure the bootstrap
    >> will accept full path names.)

    > I'm pretty sure that it didn't have the full namei() functionality, so
    > all files had to be in the root directory.

It depends on what you mean by the first "it" above - if you meant 'V6', then
no. From the Distribution V6's /src/mdec/fsboot.s:
		
  / read in path name
  / breaking on '/' into 14 ch names

The process of breaking the name up into segments, and then later finding
each name in the appropriate directory, can be seen. The code is kind of
obscure, but if you look at the RL bootstap I dis-assembled:

  http://ana-3.lcs.mit.edu/~jnc/tech/unix/rlboot.s

it's pretty much the same code, and a little better commented in the 'read
in directories' part.

	Noel



^ permalink raw reply	[flat|nested] 8+ messages in thread

* [TUHS] Had a crack at assembling the Unix v1 kernel
@ 2015-05-04 20:23 Mark Longridge
  2015-05-04 21:55 ` Warren Toomey
  0 siblings, 1 reply; 8+ messages in thread
From: Mark Longridge @ 2015-05-04 20:23 UTC (permalink / raw)


Ok, I looked around for the instructions on how to assemble the Unix
v1 kernel and couldn't find anything so I tried:

as u0.s u1.s u2.s u3.s u4.s u5.s u6.s u7.s u8.s u9.s ux.s

and that made a.out and I stripped it and it looked like it was around
the same size as /etc/core (it was 16400 bytes rather than 16448 for
some reason).

I'm not sure where Unix v1 is loading the kernel from. I'm guessing
it's /etc/core and if that's the case then I must have been successful
building the kernel. In all the other versions of Unix there was
always a file like 'unix' in the root directory but I guess Unix v1
was different?

Mark



^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2015-05-05 17:35 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-05-04 20:44 [TUHS] Had a crack at assembling the Unix v1 kernel Noel Chiappa
2015-05-04 21:04 ` Dave Horsfall
2015-05-05  0:29   ` Mark Longridge
  -- strict thread matches above, loose matches on Subject: below --
2015-05-05 12:24 Noel Chiappa
2015-05-04 21:48 Noel Chiappa
2015-05-05 17:35 ` Ronald Natalie
2015-05-04 20:23 Mark Longridge
2015-05-04 21:55 ` Warren Toomey

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).