11

Well I've been around computers since the late 80's(I was like 3 actually). Went the whole mile: Atari Xl-XE, MS-DOS, Windows 3.1, 95, etc. Then started using Linux because of the looks(yes I know, Compiz-Fusion was the real reason to explore Linux) and now is installed in all my machines. I've even have it in Windows 10.

I've assembled machines from scratch before and you could always boot to "MS-DOS", that is what I remember and that made me wonder.

How was Unix installed back in the 80's or late 70's(I wasn't even alive)? Was it trivial like boot a big floppy or black magic involved?

It happens that I can't find any references to it and people in my country just don't get Free Software thing.

EDIT:

I've skipped a crucial part, I feel dumb because I didn't think about that in the first place.

Eveything starts with the boot sequence, which isn't an Operating System, but it's in ROM memory, like the BIOS(In my mind is a very minimalistic OS for machine config) and other stuff, like the boot sequence. At this stage it will look for the devices listed in the BIOS then it will iterate them in order, till one device responds with the boot instructions, like the ones in the tapes. So no initial OS is necesary and Unix can be installed.

Dumb mistakes, takes you the long way, but surely you learn more.

dmb
  • 213
  • 1
    Neardupe https://unix.stackexchange.com/questions/442323/where-can-i-get-the-original-unix which links to retrocomputing.SX which is probably better for this. – dave_thompson_085 May 30 '18 at 05:58
  • 2
    They installed it from tapes. Perhaps you know the wrong people, I thought South America was keen on the open source movement. https://upload.wikimedia.org/wikipedia/commons/thumb/8/8f/Ken_Thompson_%28sitting%29_and_Dennis_Ritchie_at_PDP-11_%282876612463%29.jpg/1124px-Ken_Thompson_%28sitting%29_and_Dennis_Ritchie_at_PDP-11_%282876612463%29.jpg – Rui F Ribeiro May 30 '18 at 07:36
  • 1
    Unix isn't and never was "Free Software". SCO Xenix which was the first serious Unix-like system for intel hardware cost serious money. That was installed with floppies. On "real" hardware the installation was done with tape. – wurtel May 30 '18 at 07:44
  • FreeBSD and many BSD like are free. Unix binaries and source code* was also free until System III, System V or whatever, do not have the time to look it up now, at least for Universities and research. – Rui F Ribeiro May 30 '18 at 07:48
  • 1
    We do include questions on history here, as long as they are questions specifically about Unix and Linux history, which I would argue How did people install it? is. However, this is not a narrow question to answer. There was, after all, a range of machines upon which one could install Unices. – JdeBP May 30 '18 at 08:16
  • The phrase you are looking for is "system generation". 1. Boot a system loader from floppy, magtape, paper tape, or directly from the front panel switches. 2. Load the system from the distribution tape. 3. Follow the system generation procedure, which writes the customized operating system to disk. 3. Reboot from step 1, and at step 2 load the system from the newly generated system disk. – AlexP May 30 '18 at 08:55
  • 1
    In the 1970s on a PDP-11, you just booted from a dec-tape to install – schily May 30 '18 at 09:30
  • @wurtel I know that. But the meaning of "Free" isn't only "Payless" it also means "Liberty", which is how I understand "Free Software" as form of sofware where you read, modufy and share. – dmb May 30 '18 at 12:33
  • @dmb The licenses of FreeBSD, NetBSD are far more free than the Linux GPL. And the BSDs are Unix*. – Rui F Ribeiro May 30 '18 at 12:59
  • @RuiFRibeiro About the licenses, you are right. About the open source in SA, I'm not really sure. I'm from Chile and 1/100 have heard the word Linux and maybe 1/1000 has it installed. Even in my work place I'm the only one who uses Linux, not even in TI, and I'm in a finance dept. People seem to dislike the concept because it lacks some compatibility, eyecandy and is not newbie friendly. Most people want a Mac, which I like (used it up to 10.7) and are capables machines, but they like them because they are a status symbol, comfy and easy to use. You need to read to use bash, which they don't – dmb May 30 '18 at 13:38
  • https://www.fayerwayer.com/2015/09/que-es-la-libertad-digital-richard-stallman-en-chile/ – Rui F Ribeiro May 30 '18 at 14:32
  • Well, I have been managing a couple hundred Linux VMs in this job and the previous, some FreeBSD VMs on the mix for Firewalls/VPNs....My work machine is a top tier MacBook Pro, my leisure desktop an OpenBSD. – Rui F Ribeiro May 30 '18 at 14:35
  • https://archive.org/stream/bitsavers_stanfordst.2BSDSystemAdmin_14260443/4.2_BSD_System_Admin_djvu.txt . The installation instructions from Berkeley begin about a page into it. – Mark Plotnick Jul 29 '18 at 00:56

5 Answers5

3

My experience with installing Unix in the 80's was on a PDP-11, and the installation process is actually pretty interesting. I actually did it tonight (on an emulator), for the first time in years...

Unix V7 for the PDP-11 was distributed on tape. The tape contained several files, one after the other.

  • The first file on the tape was a boot loader. It came in two parts. The first part was the boot block, and it knew just enough to read the second part of the bootloader from tape into memory, and then transfer control to it. The code for this was less than 512 bytes. The second part was bigger, it had stripped-down "standalone drivers" for a couple of different types of disk and tape, and it knew just enough about the Unix filesystem to be able to find files either on tape, or in the root directory of a filesystem on a hard drive, load them, and run them. The complete size of the boot loader (the total size of both parts) was about 8K bytes.
  • The second file on the tape was a standalone cat program. When I say "standalone", I mean it ran directly on the bare metal (without any operating system at all); it was written with the same standalone device drivers and filesystem drivers as the boot loader. You could load and run this using the boot loader. When it started up, you tell it what device you want to read a file from, and what file to read. It reads it, prints it out, and then exits. That's all it does. This was of limited usefulness.
  • The third file on the tape was just a text file that had a listing of what files were on the tape. Almost no one ever even looked at this. If you were using one of these distribution tapes, you pretty much already knew what was on it...
  • The fourth file on the tape was a standalone mkfs program. This was built with the same library of standalone device drivers and filesystem drivers as the other standalone programs, and it too ran on the bare metal, without an operating system. You could load and run this using the boot loader, it would ask you what disk (and partition) you wanted to make a filesystem on, and how big the filesystem was supposed to be, and then it would write out the initial filesystem structure on the device and partition you told it to. Then it would exit.
  • The fifth file on the tape was a standalone restor program (yes, much like the creat() system call, restor was spelled without an 'e'...). You could load and run this using the boot loader. Again, it ran on the bare metal, no operating system. It would ask for a tape file containing a filesystem dump, and a disk partition on which to restore it. And then, it would do that. Then it would exit.
  • The sixth file on the tape was just a filesystem dump of the root filesystem.
  • The seventh file on the tape was just a filesystem dump of the /usr filesystem.

And that's it - that's what you get.

So, if you had this tape, you had to get the process started somehow. Some PDP-11's had boot ROMs that knew how to load the first block off of a device (like a tape or disk) and jump it it. (And for this tape, the first block is less than 512 bytes of executable code, that knows how to load the rest of the boot loader.) The first PDP-11 that I used, however, did not have a bootstrap ROM. Every time we booted the machine, we had to enter in the boot code to load the first block off of a device and jump to it. By hand. In binary... Fortunately, it was pretty short (for example, the code to read the first block off of a TU16 or TE16 tape drive and jump to it was only 6 words, or 12 bytes), and we had the boot code written down on a piece of paper taped to the machine. Needless to say, we did our best to avoid needing to reboot the machine at all costs...

So, given all that ... the general process to install the system was:

  1. Use the boot ROM (or key in the boot code by hand...) to load the so-called "block-zero boot loader" into memory, and that is then used to load the rest of the boot loader.
  2. Use the boot loader to load the standalone mkfs program (the fourth file on the tape), to lay down the structure of the root filesystem on a hard disk partition.
  3. Use the boot loader to load the standalone restor program (the fifth file on the tape), to restore the filesystem dump of the root filesystem (the sixth file on the tape) on to your hard disk.
  4. Use the boot loader to load the Unix kernel out of a file in the root filesystem on the hard drive (that you just restored from tape), and transfer control to it. At this point, Unix is now running.
  5. Use the normal Unix mkfs and restor commands to create the /usr filesystem on another partition of the hard disk, and restore the filesystem dump of the /usr filesystem to the partition you just prepared.

And then, you're pretty much done, except for installing the boot code in the first disk block on the hard disk (so either your boot ROM, or your hand-entered boot code, can run it whenever you reboot your system), a few items of system tuning, and setting some things up the way you want them to be.

Procedures like this were how many Unix distributions were installed, for a long time, in the 1970's and 1980's. Berkeley Unix (4.2BSD and later) provided a distribution tape with a very similar structure, and a very similar installation procedure.

If you want to see Charles Haley's and Dennis Ritchie's own instructions for installing V7 Unix on a PDP-11, you can find them here. I just followed these instructions tonight, and they work fine. ;-)

patbarron
  • 1,226
1

In the first job I had, back in 1989, we installed Unix (Interactive, owned by Kodak at the time) onto Intel 386 PCs using 3.5 inch (ca. 9 cm) floppy disks.

Paulo Tomé
  • 3,782
Tim
  • 11
0

I think you are asking how the initial installation of Unix was performed. Many computers in that era were designed to run Unix, and came with the operating system pre-installed on the hard disk or on floppies. Installing was just a question of providing a disk with the proper contents.

But you might be asking, by what means does the system install the operating system in memory when it starts up?

Here is an example. The AT&T 3B1 aka "Unix PC" had a ROM that contained a bootstrap program, at addresses 800000-BFFFFF. When the system is reset, its Motoroloa 68010 CPU loads the stack pointer from 000000-2, loads the program counter from 000004-6 and jumps. During a reset the hardware forces address bit 23 high, effectively mapping the ROM to main memory, so the system is really running the program in ROM. That program in ROM initializes the different hardware components, runs some diagnostics, and crucially loads the operating system from floppy or disk by loading and running a bootblock. The code in the bootblock would load the kernel and start executing init, in the same was the a modern system does.

(More info in the manuals, see mirror by Philip Pemberton AT&T 3B1 Emulator)

You could theoretically use this knowledge to install something other that Unix on such as machine. But there wasn't always a hardware abstraction layer like the BIOS on a PC, so the program that was booted had to be more tightly coupled to the hardware.

djs
  • 111
0

We had an DEC microVAX Ultix machine here in the '90ies. Installation was from tape. The tape had some weird tape file system, from which a script (at the start of the tape) unpacked files and installed them. Mostly automated.

At the end of the '80ies we had an IBM RT PC. A weird system, it ran an operating system which created a virtual machine, into which you installed an AIX. Installation was a painful process, involving some 60 5 1/2" floppies (1.2MiB ones). First you had to install and set up the virtual machine monitor, then install the virtual machine operating system. Hilarity ensued when they came to disagree ("Sorry, can't create device /dev/tty02. Device exists." OK, delete it them to create it anew, as it doesn't work. "Sorry, can't delete non-existent /dev/tty02.").

First versions of Slackware we installed around here in the mid '90ies were some 70 floppy images. A blast to set up.

vonbrand
  • 18,253
0

On PC (IIRC) installin Interactive Unix was done with a boot floppy and the "real" installation was then done from tape. Note that your SCSI card had to be supported by interactive.

On HP Workstations you booted from tape/DAT and instaled.

stoney
  • 1,055