Oh man, I was the release engineer responsible for exactly one Solaris release at Sun Microsystems. Even when you know what you're doing, it's a chore. Can't wait to see how this unfolds!
I've been told that some Sun machines used processors with such a fine pitch to the pins that it was functionally impossible for a technician in the field to insert the processor into the socket. I can only assume that the large-program build system arising in such a company is best described as "dire".
Solaris was a really solid OS. I used the Sun compilers enough to get a little frustrated, but did no larger projects. Thanks for your contribution. Something to be proud of.
@@absalomdraconisI doubt that is true. I used Sun computers from the Motorola 68k days through the Sun4c, Sun4m, and Sun4u, and a little with their T-series, workstations to large enterprise servers, and none of them had pins nearly so fiddly as what your friend described. Socketed chips were much like Intel CPUs. The compression fit modules had to be installed properly, but were not hard with the right technique. Put another way, companies paid for 4-hour response times for field service. One place I worked had their most expensive UE10k servers and paid for Sun field techs to be literally waiting on site during certain busy times. We never ever ever had someone claim that a certain repair was impossible in the field. That just isn't how business works.
Building UNIX for the first time for new hardware is challenging, but gets easier with practice. I had the job building new UNIX kernels both Berkley and ATT versions on a variety of new hardware platforms. I have great thanks to the academic computing center of St. Olaf College, which ran PDP 11/45 and then PDP 11/70 machines running UNIX for student use. The majority of the staff of the computer center were students, and we had full view of the UNIX sources and were responsible for adding device drivers and making updates etc. This experience put me well ahead in my career after graduation. Glad to see your build was a success, and that you had fun.
thank you for making this great video about working with BSD Unix on a PDP-11. I'm 75 years old and this reminds me of working with Honeywell's H716, which was a PDP 11 competitor with similar memory addressing constraints. Years later I did some custom X.25 driver work on Xenix 286 running on a PC/AT clone which had it's own 64 kb segment size memory limits. Now you can get documentation and great textbooks on Unix/BSD/Linux internals, but back in 1987 it was a real slow slog of compile, rebuild and test and then try another experiment -- very much like what you described. Keep up the great videos, and keep reminding newbies how important is was (and is) to understand how things work.
Hi Dave! Whistl here, another IT old timer. Enjoyed the video, brought me right back. Started in mainframes in the 70s, became a UNIX Sysadmin in '86, when UNIX workstations were popular and multi-processor superminis were just becoming a thing. They liked our auto-parallelizing compiler software. Building UNIX was only a little better then, compared to your PDP 11s. My first UNIX box ran (BSD-based) Dynix and was a Sequent Balance B8. A few years later I was maintaining 43 servers and workstations running 23 different flavors of UNIX. Ultrix, Dynix, Irix, AIX, Okix, Solaris, you name it, they had at least one, including the tiniest Intel Paragon supercomputer they ever made. Many of today's Linux admins have no idea how much things have improved.
Back at Microsoft I had a dual processor M4400 at 200Mhz, would have been a fun machine to run Unix on! Of course I was using to help write NT, so it didn't go unused :-)
I used several flavors of UNIX and while it was interesting flipping between HP/UX, AIX, IRIX, OSF/1, and Solaris, it was also a lot of time fiddling with things that shouldn't have needed it. Computers today, and Linux today, is a much better platform for getting things done.
@@paxsevenfour So until winter quarter 1975 I had been avoiding the OS class at UC Berkeley as every time I passed the computer lab there seemed to be a sign saying “UINIX is down”. In my other classes we used Pascal on punch cards. Then the time of my graduation was imminent and so I bit the bullet and enrolled. Turned out to be the term Thompson showed up from Bell Labs to make UNIX work right. The anecdote from the horses mouth was that Thompson and Richie were told by Bell Labs to forget making UNIX so the two “borrowed” some DEC equipment, put it in Richie’s garage, boarded up the doors and windows and went to work on their own. When UNIX was done it was then presented to Bell Labs as a completed project…… What I threw away years ago was the galley print photo copy of the first edition of the C language programmer’s manual available only to people in his class. This was the only way you could learn C as the language was invented by the two rogues mentioned here so that they could create UNIX.
The never-ending details of building an operating system for old hardware! Thanks for taking the time to do this and take some of us on a trip down memory lane. Have a great holiday.
IBM delivered their operating systems on a tape. You edited a ton of assembler macros and then performed a SYSGEN, assembling and link-editing a bootable "nucleus" capable of booting. Took days of hit and miss. Oh, and since it was a cold boot of a clean machine, the initial and very minimal operating system was booted from a tape drive!
This triggered a lot of old old memories; I spent a number of years doing kernel debugging and porting at Sun Microsystems, and the procedures for SunOS 3.x and 4.x were basically identical. Our build times were somewhat faster than you note -- "make" was able to run jobs in parallel (a feature that, if memory serves, was specifically done because too many engineers spent too much time grinding their teeth and smashing their keyboards while waiting for kernel compiles, at Sun and elsewhere). So engineers out there still using make, you can (I think, and only if my swiss-cheese memory is working properly today) thank those huge kernel build times for your ability to just type "make -J" and have it flash-cook your whole project at once ;)
make -J became viable with the Sun 4/6x0. These were the first Suns with more than one CPU. I had one with 4 Cypress CPUs (40MHz) and it was fun to play around with it. A 4/690 could go up to 4 HyperSparcs 200MHz max and (because it had the huge 12 slot VME cage) 3.5GB RAM!
@@peterkoch3777 You just absolutely made my day -- I was the tech lead on making SunOS 4 run on the 4/6xx series processors, including a ton of work debugging cache coherency issues with the first few sets of the Cypress processors. The processor board delivered in the 4/690 form factor (a tall rack) was the same board used in the 4/670 (a shorter package, I think the top of it was flush with my desk). Interestingly, in the back of the same hardware lab where we were bringing up the first 4/600 processor boards, Larry McVoy was cramming a ton of Sun IPX boxes into a rack and using network connections. His contention was that a network of uniprocessors could out-scale MP machines, and for some things, he was not wrong. Still, I remember my kernel builds on the 690 were outgunning his cluster, but not by a lot.
We built our first Unix (Bell Labs v7 or maybe v8) from a magtape and set of man pages sent from Bell Labs in a Jiffybag. No magtape on our 11-45, so had to read it on PDP10 and somehow get it on. We laughed out loud at typing cc-c c.c. But we soon had it flying, about the third Unix installation in the UK. Those were the days!
Merry Christmas, Dave. Your channel is the gift that keeps giving! Thank you for the time and effort you put into building your videos. I always seem to learn something new. Keep up the great work.
Wow! I see most of the people here in the comment section already had experience in kernel development. I am an aspiring kernel developer and you guys inspired me. I am currently learning systems programming and I am excited to see the day where I have programmimg skills the same as you guys!
😂not sure most people would LOL often during this video but when you’ve spent any time IT tshooting or tinkering one can really appreciate the craziness involved in this project.
My first real tech job was a configuration manager for Symantec in the 90's. It took us over 19 hours to compile WinNT from Microsoft, but their build system could only use 1 computer. At Symantec we developed a distributed system, compiling each library independly. Sure, linking would break, but the last computer going down the list would eventually link everything after it was properly compiled. Still, Norton Utilities would still take most of the night to compile using 3 to 5 computers and these were the biggest baddest 486 machines we could get. LOL
Norton Utilities... How to take a slow machine and make it even slower just trying to get some basic diagnostic information. One of the things which made me absolutely despise everything Microsoft.... Getting the same information out of a Unix or Linux machine doesn't load down the entire damned system.
@@leland818 I got there just after Symantec bought Norton Utilities and we were located on 26th street in Santa Monica. Right across the street from MTV studios. This was the 90s so lots of fun people watching.
This is so awesome! Tinkering with old hardware and building your own kernel is that kind of fun, not a lot of people understand. I love the way you make these videos! Thank you, I enjoyed every minute of it. Merry Christmas!
The school I graduated from ran 2.11 BSD on a PDP 1170 man you stirred up some memories there ... :) I like your narrative style, videography and just the easy way you have of sharing information. Thank you.
My first job back in 1988 had nothing to do with a PDP-11, though my supervisor told of his learning computing on a PDP-11. My own experience was on the DEC / VAX (thought I don't recall any other information about this device). The disk drives were removable packs that exposed the platters briefly to open air. Something that a 24 year old me was terrified of. The experience of working with the equipment was the core of my life back then. I LOVED HARDWARE back then. I believe I commented on another of Dave's PDP-11 videos with a story of the first time I ever set sight on a PDP-11. It had been recently (at the time 2000) and was living in a space, out in the open, just outside the data center, and OH how I wished I could have shipped that home. I could hear my boss from back in the '80's in my mind, telling me how he learned on the PDP-11. Your videos are both entertaining and educational and MOST appreciated Dave.. Always thank You.. Happy Holidays and Happy New Year.
I've only caught a glimpse of those old platters. They have intriguing patterns on the surface. Instead of a PDP-11, VAX, or Perkin-Elmer, would rather have a DEC Alpha. It runs VMS, Unix, and WinNT -- while fitting on your desk. Had a job converting a traffic control system from VAX to Alpha, in VMS. Word size differences in hardware caused delicious size/alignment issues.
One of the many things of love about your channel is even though you were with Microsoft your channel covers all tech realms. Always get giddy when I see a new video in my notifications
Wow, what a treat! You are a trooper and persistent ... thanks so much for sharing your adventure with us! The first PDP-11 I ever saw was running UNIX and the thing that blew me away was the 9600 baud video display. I didn't learn about the existence of RSX and RT-11 until years later. I worked with DECsystem-20 systems that used a PDP-11 as a front end (serial connection interface). The front end booted from an 8 inch floppy disk. Life was different in the 1980s.
How fun was that!! This brings back such wonderful and frustrating memories of my late 70’s and early 80’s. Thanks for the memory lane trip. Have a very Merry Christmas 🎁 and keep up the great work!!!
I worked on a DEC VAX machine. It had a special room where the computer hardware and tapes lived and then terminal cables fed to out to offices, of which mine was one.
When I graduated in 1984 I got a job in a telecommunications company where the development environment was based on VAX systems running BSD Unix and later on DEC'S ow Unix named Ultrix. Loved working with those machines, an 11/785 and 11/750.
ours were in a glass house in the middle of a giant room with our desks around the perimeter. was always searching for the misplaced double suction cups to pull tiles off the raised floor to access the cables.
You know, that's not so much different from compiling your own Linux kernels in the 90s. Except that I recall it taking multiple hours on my systems. I had to do it for some weird hardware I had at first, but it became habit to just customize every kernel I used. I'd take out anything not necessary and put in whatever I wanted, then hope the result booted. I also learned to never overwrite my existing kernel image in case I really messed things up, from experience :)
@@c1ph3rpunk I was a GCC maintainer in the 486 days. (There's still a 'robertl' directory in the GCC source tree. That's me.) Bootstrapping a full three-stage stage (building source from native to build an unoptimized GCC, using that to build an optimized version, then running the optimized version to build itself again to be sure the code matched... and running the dejaGNU ttest suite) took more than 24 hours. Thus, most of us could do it only pull it off a few times a week as even narrowing down a miscompilation to a specific submit was hard. You couldn't exactly run distcc or ccache since the whole purpose was to exercise the compiler itself. It was also the era when RAM was garbage, and this was a serious stress test. Lots of failures were just attributed to Gremlins. You'd sometimes restart only to have it mysteriously work and never be fully comfortable, whether that was a good thing (a bug you didn't have to track down) or a bad one (a Makeefile race condition or other transient problem that was real). There's plenty to not miss about the old days. Running the test suite on every submit was an industry-changer and out of reach for most of us in that era.
@@c1ph3rpunk No. With a 486 it took less than an hour to compile the complete kernel with all modules. The slowest compile time i experienced was 5-6h on a 386sx with only 2MB main memory. And only because the compiler needs more memory. The system was constantly swapping. So i stayed with my Minix 386vm (and a C386 instead of GCC), which was more capable to run with less memory.
Had a similar journey with RT-11 and RSX.. pick and choose devices/functionality you need. It's truly tailoring to suit your needs.. and you really did need to know what you wanted to achieve with the system as resources was limited. Somehow I think we miss that closer understanding of the hardware in these plug and play Lego type days. Again loving these walks through memory lane, please keep it up Dave.
It cannot possibly get any nerdier than this, amazing stuff 👍 Also kind of wild that modern day FreeBSD still stores the Kernel sources in /usr/src/sys and you create your custom kernel config in an all caps file. This mentality of not fixing something if it ain’t broken is what I love about the BSDs.
I was going to say the same thing. Of course even in FreeBSD 2.x you would very rarely have a kernel fail to link. Maybe fail to boot when you remove the driver for your disk controller or CPU. FreeBSD is proud of its direct links to UNIX, they've got the lawsuits to show for it!
I compiled a kernel on my 11/73 a few months ago as I wanted networking. I got hit with the overlay issue as well but a quick web search gave me the solution. The last time I compiled a kernel before that was 15 years earlier and I had forgotten everything. That machine and my two QBus VAXes are my most treasured vintage computers - well, apart from my Data General Nova 3 and Eclipse S/130.
Thanks for sparking some old memories... I was using a PDP-11/70 in school with Dec-Writer paper print terminals till we got VT100s around 1979... in the days of IBM-5120, Apple-][, Altos-CPM or MPM, and 4K TRS-80 before the PC/XT came out. Then I REALLY enjoyed using VMS on VAX-11/750, 785, 8600.clusters, and even VAX-9000 for years after that. VMS was a *Primo* operating system for its time !!... with features unmatched by most servers for decades... yet contributing technologies & computing foundations that are used inside other systems to this day. 😀 When VAX jobs+marketshare started tapering off, I continued working in Unis environments with Sun/Solaris, CDC-EP/IX, IBM-AIX, HP-UX, and of course multiple flavors of Linux till now. Gotta respect your diligence bringing an old PDP-11/83 back to life, to config/compile its custom kernel for full hardware functionality 😊 Thanks for the "ride along" 🎉 Good work.
I first used Unix in 1983 with 4.1 BSD running on a VAX 11/750 in graduate school. Learned the pdp 11 instruction set the first semester writing a compiler. Second semester was writing a bare metal os for the pdp 11 simulator using the portable c compiler. But all the cool kids were writing games for Xerox Alto's in mesa.
LOL, what an accomplishment!😂 Congrats🎉 In my days as student i was very much into Sun3s. Fiddled with vmunix too a lot. Had several non-sun device drivers to manage: rimfire, slip, ppp and modified several others: tape, cdrom, serial. Was a fun time❤
As someone who has no conceivable use for any of this info, I want to thank you for making these videos which are both intriguing and of benefit to others who like to tinker! (I’m more electronics, but still cool to hear about!)
This takes me back 40 years. Never did Unix on PDP, I used Dec's own system RSX. It took all day to build itself from source, wrong options -> start over. The user application used to take many hours to compile from scratch. Every build, after an edit, took 30 mins.
I remember those days. I used to compile on a Vax 11/750. The worst part is if you screwed up a file like forgot a comma or something. Then to get things going you edit another file then compile only to realize you forgot something else. Then we started to compile on the 8600. That was oh so much faster!
Thank you Dave for the memories. I worked on some PDP-11s in the mid 80's using RT-11. We had programs we wrote where we had to use the overlay. It was tricky to say the least. Also I have built UNIX apps from scratch to install them on Solaris. Never tried to get a PDP to boot from a compiled UNIX. I can just imagine. That PDP is a beautiful thing! Love your channel!
I went to high school with Clem Cole before either of us were hands on with Unix. We cut our teeth on dialup BASIC on Teletype at 110 Baud. It is amazing that we got anything done with the limitations of the DEC hardware. I learned and used VAX/VMS running shop floor control systems on VAX 11/780 at AMD and Intel. Never built a kennel though. Good job!
I worked on many PDP machines back in the day, including the PDP-11/44 and PDP-11/83 to only name two of many. A small number of these machines ran application software directly (eg. no OS) while most ran programs under RT-11, RSX-11, and BSD-4.2
You seem to be such a kind and warm person, your videos are not only educational and very entertaining, but also cozy/soothing. Helps me a lot with anxiety, thank you 🫂
Ohh - that brings back memory into the 90'es - while upgrading a Unix (custom) on DDE SuperMax ... I did learn C and changed the code that was going into the kernel to allow our Wyse 60 and 120 serial terminals to have 3 sessions (or act like 3 terminals) at the same time - switching between them pressing Ctrl-Z ... And writing a bi-directional streams module for CDC 4330 and 4650 (I think that were the module numbers) - this time I really loved pointer to pointer to pointer operations in Ansi C - I could crash a Unix kernel so fast that it only managed to write "PA" instead of "PANIC PANIC - Shutting down immediately". Thank you Dave. Merry Christmas and a Happy New Year to everyone.
I enjoyed your video... I confess I only made it to half way before I glazed over. Your patients is most impressive, almost as much as mine once was, using a PDP11 as a front end for the Compugraphic MSC12 typesetting machine back 1982. I'm happy to say I never had to dive deeply into the OS of the thing, but the hardware kept me more that busy enough. Well done to revive this wonderful old tech.
I recently stared a new job and I am blessed to have a supervisor as nerdy as me. Talking to him always ends up having discussions on the topics that you discuss like this one today. Off topic, I know, but I figure more likes and comments will help the algos.
we had a PDP-11/84a in High School. we ran RSTS/E, but amazingly, changing the operating system was very similar (far less complex). We had to MAKE a SIL (Save Image Library), which was your Loaded OS, with the appropriate settings. Digging into this, and MACRO-11 Assembly to change settings was just mind-blowingly fun. The stuff I learned doing this landed me my first full-time job at 19! They had PDP-11/70s. And my first job was patching the SIL manually (because the had huge 500MB drives, and you basically had to calculate the size of each cluster, etc, to not have integer overflow... LOL). Bringing back some great memories...
Closest thing I've ever come to doing this was building the Linux kernel from the source for a DEC Alpha back in early 1994 -- it was even before version 1.0 of the Linux kernel was released. Something like v0.99pl98 or 99 -- very high up there, right before 1.0, but not quite 1.0 yet. But I didn't do it alone -- I had a couple of friends who helped. We did it just to see if we could. And we actually managed to pull it off, too. Fun, nerdy project. 🙂
I did use these 0.97 .. 0.99 versions for real work for quite some time. First dual-boot Linux/Windows on a 486 machine before I later got a Pentium 90 wiyh Windows NT 3.51. That 486 computer did continue running Linux for at least 6 or 7 more years.
There was a long period where those old 486s were still really useful. When I got my first cable modem in 97-98, I had several PCs in my parents basement that I wanted online. There were no affordable consumer routers back then. I had an old DX2/66 that wasn't doing anything, and I was just getting into Linux and FreeBSD. I managed to find out that the local shop had cheap 3Com ISA ethernet cards that were supported by FreeBSD. It took me a few days but I managed to build a working router for my small LAN using FreeBSD - and once it was up and running it pretty much stayed that way. One of the reasons I initially did this with FreeBSD over Linux was the documentation - FreeBSD's documentation was superb while many of the Linux HOWTOs were oddly written, incomplete, or out of date - e.g. I remember the transition from ipfw to ipchains leaving a lot of those HOWTOs virtually useless. At one point I even built an almost identical router for my friend across the street when they got cable internet, helped him and his dad run network cable around the house, and got them running on nearly the same setup. Those were fun times as a nerdy teen. Now that stuff just comes right out of the box when you subscribe and get your modem. No fun. I'm now running pfSense (FreeBSD) on a Proxmox VM server connected to my Starlink, so in a way I'm basically doing the same thing nearly 25 years later.
@@wysoft Same. I used a floppy-based router called Coyote Linux (IIRC) on a 486DX with 2 NIC's to do a basic NAT router. Think the machine was one of the Compaq lower-profile desktops. Ran like a champ for years.
@@andrewr7820 Yeah I remember that. We set up a similar machine with PicoBSD on a floppy for a friend - 486 box with a couple 3Com 509s and nothing else. Booted off of a floppy with a bare kernel and config. We at least made sure to give him a backup copy of that floppy! Weird that RUclips disappeared my comment that you replied to.
I love these sort of videos. I think a fun one would be to see if you can add a toggle switch to the taskbar settings and make it do stuff. Maybe multi instance, or have a colour changer, or something fun to do with it. I love these sort of tinker projects that you do.
Thanks for the nostalgia hit. While I never did compile a BSD kernel I did go through my comp sci program’s rite of passage by installing Gentoo on my own. This was during the early 00s so it still took forever to compile. 🤣 Like you said, it’s about understanding. The amount of stuff I learned that semester from re-compiling the kernel over and over again was and still is priceless.
College for me was using a DECSYSTEM-2060 with TOPS-20, but also a VAX 11/750 with BSD 4.1 at first, then 4.2, and a PDP 11/23+ with BSD 2.9. Learned a lot of BSD UNIX on my own and set me up well for working at a place that utilized and put their product onto Sun-2/Sun-3 and Sun-4 SPARC machines.
I have built and deployed new kernels for both FreeBSD and OpenBSD. I have also done Linux From Scratch (twice) - very much a great learning experience. Once, I even hand configured custom DNS for a VPS.
Doing a custom kernel on Debian 2.0 was my first "tech rush" with computers. DOS had always seemed so tame and boring to me, and I wanted there "to be more too it". Fast forward 30 years (where the hell did they go?!?) and I'm still deep in the weeds. Once you "get" the UNIX shell no GUI will ever be anything but a restriction to your workflow. Thanks for doing this episode on "our cultural heritage" :P
Made me a bit misty-eyed. My first experience with an interactive computer system was on a PDP 11/45 running what I believe was one of the first public releases of UNIX ca. 1977. This began my lifetime love of computing and an eventual 25-year career in the high-tech industry. Thanks for bringing back the memories, Dave.
Ha! That was great fun. I was doing this professionally on SUN IPX machines, then later an NEC EISA box, and several Pentium machines - for work and pleasure. Brought back a lot of long-submerged memories! At some point I have to get my DEC applicationDEC 433MP multi-486 SMP, dual SCSI bus, EISA machine running with some flavour of FreeBSD. *That* will be a challenge...
@@sleeptyper I got paid good money to do that in the early 1990's for a software developer selling a system that was based on MS-DOS + network stack + 3270 emulator + DOS Extender -> to run their 4MB (no typo) LISP application on 80386+ hardware. It was called Viewstar.
This channel has come such a long way, good on you Dave for constantly improving yourself here! They claim nothing is more secure than some ole fashioned BSD
Great stuff Dave! I was a high school student in the late 70's, my first computer course was learning BASIC using Teletype 33's that were time-shared to a PDP-10. Then Fortran IV using punch-cards. good memories...
My experience with UNIX was a long time back. Hands dirty - oh yes - replace 8 serial chips per octal IO board (we had three of them). And guess who ran the serial lines for those old terminals, grin. Merry Christmas to you and yours!
@@DavesGarage I grew up in in the 90s and have some arcane knowledge, but without your good examples I wouldn't understand most of the video and turned off. Really, keep it up!
So cool! I’m really enjoying this PDP-11 series. The lower levels of hardware and software are fascinating. One of my early computing adventures was messing with the Linux 2.6 kernel on my Athlon 64, which took a similar ~45 min to compile and required endless configuring to get all of the right hardware modules loaded (especially networking).
Man, that brought back some memories... both good (many) and bad (some). Don't you just love that steady block cursor on a green or amber screen? I do. Thank you for another very enjoyable episode. A very Merry Christmas and Happy New Year to you and your loved ones.
It's strange; I feel nostalgic of a time I never knew... It might be because I was introduced in programming on my scientific calculator in BASIC and z80 assembly language... But watching Dave's videos makes me feel good and motivated to start a new project!
Dave, this is great! As a further comparison on time required to do things, I recall that the time required to do a sysgen of RSX-11M, on a PDP-11/34, with 256 mbytes of RAM & 2 RK-05s, took about 6 hours, IIRC. This one, also, would probably only a minute or less on SIMH. 🤪
Mother of....!! Reminds me of times when my old manager would explain the struggles of how punch tapes would be loaded over night to load a program and any mistakes would need debugging the next day also shame shame on the engineer that just wasted everyones time by trying to load a programs with an error on it. How blessed are we really today? Kudos to you Dave for the work and the presentation.
Very cool, knowing how these early computers worked and how software controlled them is very useful in todays era were we finally have the keys to the CPU and can drive the chips ourselves like with microelectronics. For the first time i understood the need for an operating system to being with, I would have never gained that understanding learning from the top down. But from the ground up with a 1 program system and building from there, you can see the reasoning to want a more dynamic system and options an operating system provides. Look forward to more and how these operating systems are constructed to work on these different hardwares.
I am watching from Belgium. Ik vraag me af hoeveeel Belgen en/of Nederlanders mee kijken. Leerrijk en leuk. Doe zo verder Dave. Greetings from a Belgium vieuwer.
I compiled my first freebsd kernel in 2005. I didn't know what I was doing and it took 3 days to compile on a dual opteron server. I think I compile every feature during that time which is why it took 3 days. It was an eye opener. At one point it died twice. I soon learned to use ccache and distcc. It was a nightmare, but it taught me alot by digging into the docs.
Amazing! And I still remember the days that I worked with nova computers in the 70's. System with 64KB maximum (core) memory, 2.5MB hard drive handled a whole business computing needs😅 Difficult to understand for kids that are born with an 1GB 8 core CPU smartphone "glued" to their hands.
I modified the linux kernel, and compiled it for a client. It was a trivial code change, but it took me days to determine I needed to change it, and how. The end client, was migrating code from three Unix platforms, and mainframe (cobol), to Linux, and bugs were jumping out left and right. It took 5 months to fix all the bugs, some of which had been there for 10 years. It was 90% C++, 3% Cobol, and 2% Fortran. Other was Shell scripting, AWK, etc.
The only real customization I did of the codebase was to tweak NMOUNT to allow me to mount up to 8 drives, as the code itself normally only supports 6. Otherwise it was just configuration, but I did make that one change!
Totally obscure and exactly up my alley :) Like for instance the topic of mainframes and how it feels we have come full circle with the cloud. While I don't ever see anyone doing a full reverse and looping back. But there are for sure a lot of paradigms and similarities that is shared from the yeas passed.
Remember that the PDP-11 minicomputer was a radical alternative to a REAL IBM mainframe. Any manager in data processing knew he could lose his job for not buying IBM -- but that any misery he had with the expensive IBM solution would have lots of company and therefore lots of cover for his problems.
@@bdietz2 thanks for the insight! While I'm of a 80-vintage. I have worked with IBM AS/400 in the paper/pulp industry's. Along side with HP UX es and all kinds of fun stuff in the several data centers that were in operation. Never came across any DEC hardware though.
It reminds me so much when I had to compile kernels on Sun Microsystems Sun3 and Sun4 systems It's all about the journey not the destination. Great video
Now THIS brings back memories. It's amazing how much fit into a machine that now seems so tiny. Later on, when they brought out "kernel link kit" to make it doable without quite as much training, it almost seemed like cheating.
The original PRIMOS, the O/S for the Prime 300, required no configuration if you stuck to supported peripherals. Like the PDP-11s, the Prime 300 had a 16 bit address space. All drivers were built in. The boot system dynamically determined the attached peripherals and locked the required drivers in memory and locking the unused drivers to disk. The procedure for attaching a new device was: 1. Turn the computer off. B. Plug in the new device -- disk drive, card reader, serial board, whatever. III. Boot up. Job done!
Thank you Dave! I got to do some low level configuration on old machines, but it was like working from a recipe. I have an older BSD book that references ASTs because BSD was ported or developed on VAX, which had an AST register. AST being the granddaddy of APC in the NT realm. I wont use money as an excuse because one has to have the intestinal fortitude to fight through the old documentation to do what you are doing. I appreciate your efforts!
Oh man, I was the release engineer responsible for exactly one Solaris release at Sun Microsystems. Even when you know what you're doing, it's a chore. Can't wait to see how this unfolds!
I touched a Solaris machine... for about 15 minutes
I've been told that some Sun machines used processors with such a fine pitch to the pins that it was functionally impossible for a technician in the field to insert the processor into the socket. I can only assume that the large-program build system arising in such a company is best described as "dire".
Solaris was a really solid OS. I used the Sun compilers enough to get a little frustrated, but did no larger projects.
Thanks for your contribution. Something to be proud of.
@@absalomdraconisI doubt that is true. I used Sun computers from the Motorola 68k days through the Sun4c, Sun4m, and Sun4u, and a little with their T-series, workstations to large enterprise servers, and none of them had pins nearly so fiddly as what your friend described. Socketed chips were much like Intel CPUs. The compression fit modules had to be installed properly, but were not hard with the right technique.
Put another way, companies paid for 4-hour response times for field service. One place I worked had their most expensive UE10k servers and paid for Sun field techs to be literally waiting on site during certain busy times. We never ever ever had someone claim that a certain repair was impossible in the field. That just isn't how business works.
@@patrickglaser1560 was it consensual?
Building UNIX for the first time for new hardware is challenging, but gets easier with practice. I had the job building new UNIX kernels both Berkley and ATT versions on a variety of new hardware platforms. I have great thanks to the academic computing center of St. Olaf College, which ran PDP 11/45 and then PDP 11/70 machines running UNIX for student use. The majority of the staff of the computer center were students, and we had full view of the UNIX sources and were responsible for adding device drivers and making updates etc. This experience put me well ahead in my career after graduation. Glad to see your build was a success, and that you had fun.
What became out of you?
@MelihKiraz Developed unix operating systems for tektronix and national semiconductor were my first jobs. Now I'm mostly retired.
I'm really inspired about your achievements and career @ericanderson2482
This channel gives me much joy. Happy Christmas, everyone!
Same to you!
indeed. ditto. 📃📄😊
Happy Christmas to you!
Merry Christmas. Glædelig jul 🎅🏼
W pitchbright quote.
thank you for making this great video about working with BSD Unix on a PDP-11. I'm 75 years old and this reminds me of working with Honeywell's H716, which was a PDP 11 competitor with similar memory addressing constraints. Years later I did some custom X.25 driver work on Xenix 286 running on a PC/AT clone which had it's own 64 kb segment size memory limits. Now you can get documentation and great textbooks on Unix/BSD/Linux internals, but back in 1987 it was a real slow slog of compile, rebuild and test and then try another experiment -- very much like what you described. Keep up the great videos, and keep reminding newbies how important is was (and is) to understand how things work.
Hi Dave! Whistl here, another IT old timer. Enjoyed the video, brought me right back. Started in mainframes in the 70s, became a UNIX Sysadmin in '86, when UNIX workstations were popular and multi-processor superminis were just becoming a thing. They liked our auto-parallelizing compiler software. Building UNIX was only a little better then, compared to your PDP 11s. My first UNIX box ran (BSD-based) Dynix and was a Sequent Balance B8. A few years later I was maintaining 43 servers and workstations running 23 different flavors of UNIX. Ultrix, Dynix, Irix, AIX, Okix, Solaris, you name it, they had at least one, including the tiniest Intel Paragon supercomputer they ever made. Many of today's Linux admins have no idea how much things have improved.
If you saw the process of building Android for smartphones, you’d appreciate how much better things were back then. Only half joking.
Back at Microsoft I had a dual processor M4400 at 200Mhz, would have been a fun machine to run Unix on! Of course I was using to help write NT, so it didn't go unused :-)
I used several flavors of UNIX and while it was interesting flipping between HP/UX, AIX, IRIX, OSF/1, and Solaris, it was also a lot of time fiddling with things that shouldn't have needed it.
Computers today, and Linux today, is a much better platform for getting things done.
1976 I helped write the output spooler. UC OS class - Ken Thompson was the instructor...... (I'm really old)
That’s really cool history! Do you still have your notes and graded papers from his class? They may be interesting to go through
@@paxsevenfour So until winter quarter 1975 I had been avoiding the OS class at UC Berkeley as every time I passed the computer lab there seemed to be a sign saying “UINIX is down”. In my other classes we used Pascal on punch cards. Then the time of my graduation was imminent and so I bit the bullet and enrolled. Turned out to be the term Thompson showed up from Bell Labs to make UNIX work right. The anecdote from the horses mouth was that Thompson and Richie were told by Bell Labs to forget making UNIX so the two “borrowed” some DEC equipment, put it in Richie’s garage, boarded up the doors and windows and went to work on their own. When UNIX was done it was then presented to Bell Labs as a completed project…… What I threw away years ago was the galley print photo copy of the first edition of the C language programmer’s manual available only to people in his class. This was the only way you could learn C as the language was invented by the two rogues mentioned here so that they could create UNIX.
You are really lucky sir / mam ❤
Grew up reading about this stuff in the 90s. Great to finally see these systems on their original configuration
But a hero to many!
This channel is a godsend. Thank you for taking the time to share your knowledge and experience and happy holidays.
You are very welcome!
The never-ending details of building an operating system for old hardware! Thanks for taking the time to do this and take some of us on a trip down memory lane. Have a great holiday.
IBM delivered their operating systems on a tape. You edited a ton of assembler macros and then performed a SYSGEN, assembling and link-editing a bootable "nucleus" capable of booting. Took days of hit and miss. Oh, and since it was a cold boot of a clean machine, the initial and very minimal operating system was booted from a tape drive!
This triggered a lot of old old memories; I spent a number of years doing kernel debugging and porting at Sun Microsystems, and the procedures for SunOS 3.x and 4.x were basically identical. Our build times were somewhat faster than you note -- "make" was able to run jobs in parallel (a feature that, if memory serves, was specifically done because too many engineers spent too much time grinding their teeth and smashing their keyboards while waiting for kernel compiles, at Sun and elsewhere).
So engineers out there still using make, you can (I think, and only if my swiss-cheese memory is working properly today) thank those huge kernel build times for your ability to just type "make -J" and have it flash-cook your whole project at once ;)
Ahhh! I'd forgotten about -J!
make -J became viable with the Sun 4/6x0. These were the first Suns with more than one CPU. I had one with 4 Cypress CPUs (40MHz) and it was fun to play around with it. A 4/690 could go up to 4 HyperSparcs 200MHz max and (because it had the huge 12 slot VME cage) 3.5GB RAM!
@@peterkoch3777 You just absolutely made my day -- I was the tech lead on making SunOS 4 run on the 4/6xx series processors, including a ton of work debugging cache coherency issues with the first few sets of the Cypress processors.
The processor board delivered in the 4/690 form factor (a tall rack) was the same board used in the 4/670 (a shorter package, I think the top of it was flush with my desk).
Interestingly, in the back of the same hardware lab where we were bringing up the first 4/600 processor boards, Larry McVoy was cramming a ton of Sun IPX boxes into a rack and using network connections. His contention was that a network of uniprocessors could out-scale MP machines, and for some things, he was not wrong. Still, I remember my kernel builds on the 690 were outgunning his cluster, but not by a lot.
DAVE! Love the Video Bud! I learn SO MUCH on your channel, Thank You!
We built our first Unix (Bell Labs v7 or maybe v8) from a magtape and set of man pages sent from Bell Labs in a Jiffybag. No magtape on our 11-45, so had to read it on PDP10 and somehow get it on. We laughed out loud at typing cc-c c.c. But we soon had it flying, about the third Unix installation in the UK. Those were the days!
Merry Christmas, Dave. Your channel is the gift that keeps giving! Thank you for the time and effort you put into building your videos. I always seem to learn something new. Keep up the great work.
Wow! I see most of the people here in the comment section already had experience in kernel development. I am an aspiring kernel developer and you guys inspired me. I am currently learning systems programming and I am excited to see the day where I have programmimg skills the same as you guys!
😂not sure most people would LOL often during this video but when you’ve spent any time IT tshooting or tinkering one can really appreciate the craziness involved in this project.
Inside jokes
My first real tech job was a configuration manager for Symantec in the 90's. It took us over 19 hours to compile WinNT from Microsoft, but their build system could only use 1 computer. At Symantec we developed a distributed system, compiling each library independly. Sure, linking would break, but the last computer going down the list would eventually link everything after it was properly compiled. Still, Norton Utilities would still take most of the night to compile using 3 to 5 computers and these were the biggest baddest 486 machines we could get. LOL
Norton Utilities...
How to take a slow machine and make it even slower just trying to get some basic diagnostic information.
One of the things which made me absolutely despise everything Microsoft....
Getting the same information out of a Unix or Linux machine doesn't load down the entire damned system.
@akulkis Not in the early days as Symantec set the standard for SW development.
Early on, Symantec had some very cool products
@@leland818 I got there just after Symantec bought Norton Utilities and we were located on 26th street in Santa Monica. Right across the street from MTV studios. This was the 90s so lots of fun people watching.
This is so awesome! Tinkering with old hardware and building your own kernel is that kind of fun, not a lot of people understand. I love the way you make these videos! Thank you, I enjoyed every minute of it. Merry Christmas!
Thanks Dave. Merry Christmas & a safe, prosperous & Happy New Year!
The school I graduated from ran 2.11 BSD on a PDP 1170 man you stirred up some memories there ... :) I like your narrative style, videography and just the easy way you have of sharing information. Thank you.
If youtube asks me later, I'm marking this video 'aspirational' 'educational' and 'feel-good'.
My first job back in 1988 had nothing to do with a PDP-11, though my supervisor told of his learning computing on a PDP-11. My own experience was on the DEC / VAX (thought I don't recall any other information about this device). The disk drives were removable packs that exposed the platters briefly to open air. Something that a 24 year old me was terrified of. The experience of working with the equipment was the core of my life back then. I LOVED HARDWARE back then. I believe I commented on another of Dave's PDP-11 videos with a story of the first time I ever set sight on a PDP-11. It had been recently (at the time 2000) and was living in a space, out in the open, just outside the data center, and OH how I wished I could have shipped that home. I could hear my boss from back in the '80's in my mind, telling me how he learned on the PDP-11.
Your videos are both entertaining and educational and MOST appreciated Dave.. Always thank You.. Happy Holidays and Happy New Year.
I've only caught a glimpse of those old platters. They have intriguing patterns on the surface.
Instead of a PDP-11, VAX, or Perkin-Elmer, would rather have a DEC Alpha. It runs VMS, Unix, and WinNT -- while fitting on your desk.
Had a job converting a traffic control system from VAX to Alpha, in VMS. Word size differences in hardware caused delicious size/alignment issues.
One of the many things of love about your channel is even though you were with Microsoft your channel covers all tech realms. Always get giddy when I see a new video in my notifications
Nerdery level: Insane! Thank you for these videos!
As a retro computing (hardware and software) and unix enthusiast, this is one of the best videos I've seen all year.
The year is still young! Ha ha (12/31 1600)
Wow, what a treat! You are a trooper and persistent ... thanks so much for sharing your adventure with us!
The first PDP-11 I ever saw was running UNIX and the thing that blew me away was the 9600 baud video display. I didn't learn about the existence of RSX and RT-11 until years later. I worked with DECsystem-20 systems that used a PDP-11 as a front end (serial connection interface). The front end booted from an 8 inch floppy disk. Life was different in the 1980s.
Been in the business 40 years, thanks for the memories
wow, so much fun to be had, even in a virtual environment. glad to see you sharing your journey on this topic.
How fun was that!! This brings back such wonderful and frustrating memories of my late 70’s and early 80’s. Thanks for the memory lane trip.
Have a very Merry Christmas 🎁 and keep up the great work!!!
I worked on a DEC VAX machine. It had a special room where the computer hardware and tapes lived and then terminal cables fed to out to offices, of which mine was one.
When I graduated in 1984 I got a job in a telecommunications company where the development environment was based on VAX systems running BSD Unix and later on DEC'S ow Unix named Ultrix. Loved working with those machines, an 11/785 and 11/750.
And you slogged to the computer room's Dutch Door, to beg the Operator for your printout?
ours were in a glass house in the middle of a giant room with our desks around the perimeter. was always searching for the misplaced double suction cups to pull tiles off the raised floor to access the cables.
Merry Christmas to Dave and all who celebrate!
The ancient art of rebuilding a kernel. Nice to see it in action. Great video.
You know, that's not so much different from compiling your own Linux kernels in the 90s. Except that I recall it taking multiple hours on my systems. I had to do it for some weird hardware I had at first, but it became habit to just customize every kernel I used. I'd take out anything not necessary and put in whatever I wanted, then hope the result booted. I also learned to never overwrite my existing kernel image in case I really messed things up, from experience :)
486: Type ‘make’ and go to bed.
And Windows could be customized before being compiled to a optical disk
@@c1ph3rpunk I was a GCC maintainer in the 486 days. (There's still a 'robertl' directory in the GCC source tree. That's me.) Bootstrapping a full three-stage stage (building source from native to build an unoptimized GCC, using that to build an optimized version, then running the optimized version to build itself again to be sure the code matched... and running the dejaGNU ttest suite) took more than 24 hours. Thus, most of us could do it only pull it off a few times a week as even narrowing down a miscompilation to a specific submit was hard. You couldn't exactly run distcc or ccache since the whole purpose was to exercise the compiler itself.
It was also the era when RAM was garbage, and this was a serious stress test. Lots of failures were just attributed to Gremlins. You'd sometimes restart only to have it mysteriously work and never be fully comfortable, whether that was a good thing (a bug you didn't have to track down) or a bad one (a Makeefile race condition or other transient problem that was real).
There's plenty to not miss about the old days. Running the test suite on every submit was an industry-changer and out of reach for most of us in that era.
@@c1ph3rpunk No. With a 486 it took less than an hour to compile the complete kernel with all modules.
The slowest compile time i experienced was 5-6h on a 386sx with only 2MB main memory. And only because the compiler needs more memory. The system was constantly swapping. So i stayed with my Minix 386vm (and a C386 instead of GCC), which was more capable to run with less memory.
@ modules? I pre-date kernel modules.
What a fantastic series. It's been fantastic watching you put together this classic machine .Cudos!
Had a similar journey with RT-11 and RSX.. pick and choose devices/functionality you need. It's truly tailoring to suit your needs.. and you really did need to know what you wanted to achieve with the system as resources was limited. Somehow I think we miss that closer understanding of the hardware in these plug and play Lego type days. Again loving these walks through memory lane, please keep it up Dave.
It cannot possibly get any nerdier than this, amazing stuff 👍 Also kind of wild that modern day FreeBSD still stores the Kernel sources in /usr/src/sys and you create your custom kernel config in an all caps file. This mentality of not fixing something if it ain’t broken is what I love about the BSDs.
I was going to say the same thing. Of course even in FreeBSD 2.x you would very rarely have a kernel fail to link. Maybe fail to boot when you remove the driver for your disk controller or CPU. FreeBSD is proud of its direct links to UNIX, they've got the lawsuits to show for it!
oh how nice ... a real config-based classic unix kernel provisioning majic ... what a great pre-Christmas episode! I love it!
I compiled a kernel on my 11/73 a few months ago as I wanted networking. I got hit with the overlay issue as well but a quick web search gave me the solution. The last time I compiled a kernel before that was 15 years earlier and I had forgotten everything. That machine and my two QBus VAXes are my most treasured vintage computers - well, apart from my Data General Nova 3 and Eclipse S/130.
I loved programming the NOVA's in Assembly ... non-orthogonal but perfect.
Thanks for sparking some old memories...
I was using a PDP-11/70 in school with Dec-Writer paper print terminals till we got VT100s around 1979... in the days of IBM-5120, Apple-][, Altos-CPM or MPM, and 4K TRS-80 before the PC/XT came out.
Then I REALLY enjoyed using VMS on VAX-11/750, 785, 8600.clusters, and even VAX-9000 for years after that.
VMS was a *Primo* operating system for its time !!... with features unmatched by most servers for decades... yet contributing technologies & computing foundations that are used inside other systems to this day. 😀
When VAX jobs+marketshare started tapering off, I continued working in Unis environments with Sun/Solaris, CDC-EP/IX, IBM-AIX, HP-UX, and of course multiple flavors of Linux till now.
Gotta respect your diligence bringing an old PDP-11/83 back to life, to config/compile its custom kernel for full hardware functionality 😊
Thanks for the "ride along" 🎉 Good work.
I first used Unix in 1983 with 4.1 BSD running on a VAX 11/750 in graduate school. Learned the pdp 11 instruction set the first semester writing a compiler. Second semester was writing a bare metal os for the pdp 11 simulator using the portable c compiler. But all the cool kids were writing games for Xerox Alto's in mesa.
Always love your videos. Thank you!
Dave, you are my favorite! Thanks for the trip down memory lane. The emulator is a life saver!
LOL, what an accomplishment!😂 Congrats🎉
In my days as student i was very much into Sun3s. Fiddled with vmunix too a lot. Had several non-sun device drivers to manage: rimfire, slip, ppp and modified several others: tape, cdrom, serial. Was a fun time❤
Thanks Dave. Great story.
As someone who has no conceivable use for any of this info, I want to thank you for making these videos which are both intriguing and of benefit to others who like to tinker! (I’m more electronics, but still cool to hear about!)
I hope no one has USE for this info but I hope everyone enjoys the context of understanding what it was like back when you did!
This is the kind of niche content I enjoy. Great episode!
Happy Holidays, Dave. You brought me the joy of living in my past for a while. I ran RT-11 on my pdp11-23.
This takes me back 40 years. Never did Unix on PDP, I used Dec's own system RSX. It took all day to build itself from source, wrong options -> start over. The user application used to take many hours to compile from scratch. Every build, after an edit, took 30 mins.
I remember those days. I used to compile on a Vax 11/750. The worst part is if you screwed up a file like forgot a comma or something. Then to get things going you edit another file then compile only to realize you forgot something else.
Then we started to compile on the 8600. That was oh so much faster!
Thank you Dave for the memories. I worked on some PDP-11s in the mid 80's using RT-11. We had programs we wrote where we had to use the overlay. It was tricky to say the least. Also I have built UNIX apps from scratch to install them on Solaris. Never tried to get a PDP to boot from a compiled UNIX. I can just imagine. That PDP is a beautiful thing! Love your channel!
I went to high school with Clem Cole before either of us were hands on with Unix. We cut our teeth on dialup BASIC on Teletype at 110 Baud. It is amazing that we got anything done with the limitations of the DEC hardware. I learned and used VAX/VMS running shop floor control systems on VAX 11/780 at AMD and Intel. Never built a kennel though. Good job!
I worked on many PDP machines back in the day, including the PDP-11/44 and PDP-11/83 to only name two of many. A small number of these machines ran application software directly (eg. no OS) while most ran programs under RT-11, RSX-11, and BSD-4.2
You seem to be such a kind and warm person, your videos are not only educational and very entertaining, but also cozy/soothing.
Helps me a lot with anxiety, thank you 🫂
It brings back the memories of compiling kernels in my younger days. Thank you, and Merry Xmas.
Ohh - that brings back memory into the 90'es - while upgrading a Unix (custom) on DDE SuperMax ... I did learn C and changed the code that was going into the kernel to allow our Wyse 60 and 120 serial terminals to have 3 sessions (or act like 3 terminals) at the same time - switching between them pressing Ctrl-Z ...
And writing a bi-directional streams module for CDC 4330 and 4650 (I think that were the module numbers) - this time I really loved pointer to pointer to pointer operations in Ansi C - I could crash a Unix kernel so fast that it only managed to write "PA" instead of "PANIC PANIC - Shutting down immediately".
Thank you Dave.
Merry Christmas and a Happy New Year to everyone.
I enjoyed your video... I confess I only made it to half way before I glazed over. Your patients is most impressive, almost as much as mine once was, using a PDP11 as a front end for the Compugraphic MSC12 typesetting machine back 1982. I'm happy to say I never had to dive deeply into the OS of the thing, but the hardware kept me more that busy enough. Well done to revive this wonderful old tech.
I recently stared a new job and I am blessed to have a supervisor as nerdy as me. Talking to him always ends up having discussions on the topics that you discuss like this one today.
Off topic, I know, but I figure more likes and comments will help the algos.
Make sure he and all his friends subscribe! :-)
@@DavesGarage 😂😂
your tenacity inspires. Dave. merry Christmas
A programmer never quits until it runs as expected. We are tenacious and intelligent.
we had a PDP-11/84a in High School. we ran RSTS/E, but amazingly, changing the operating system was very similar (far less complex). We had to MAKE a SIL (Save Image Library), which was your Loaded OS, with the appropriate settings. Digging into this, and MACRO-11 Assembly to change settings was just mind-blowingly fun. The stuff I learned doing this landed me my first full-time job at 19! They had PDP-11/70s.
And my first job was patching the SIL manually (because the had huge 500MB drives, and you basically had to calculate the size of each cluster, etc, to not have integer overflow... LOL).
Bringing back some great memories...
Closest thing I've ever come to doing this was building the Linux kernel from the source for a DEC Alpha back in early 1994 -- it was even before version 1.0 of the Linux kernel was released. Something like v0.99pl98 or 99 -- very high up there, right before 1.0, but not quite 1.0 yet. But I didn't do it alone -- I had a couple of friends who helped. We did it just to see if we could. And we actually managed to pull it off, too. Fun, nerdy project. 🙂
I did use these 0.97 .. 0.99 versions for real work for quite some time. First dual-boot Linux/Windows on a 486 machine before I later got a Pentium 90 wiyh Windows NT 3.51. That 486 computer did continue running Linux for at least 6 or 7 more years.
There was a long period where those old 486s were still really useful. When I got my first cable modem in 97-98, I had several PCs in my parents basement that I wanted online. There were no affordable consumer routers back then. I had an old DX2/66 that wasn't doing anything, and I was just getting into Linux and FreeBSD. I managed to find out that the local shop had cheap 3Com ISA ethernet cards that were supported by FreeBSD. It took me a few days but I managed to build a working router for my small LAN using FreeBSD - and once it was up and running it pretty much stayed that way.
One of the reasons I initially did this with FreeBSD over Linux was the documentation - FreeBSD's documentation was superb while many of the Linux HOWTOs were oddly written, incomplete, or out of date - e.g. I remember the transition from ipfw to ipchains leaving a lot of those HOWTOs virtually useless.
At one point I even built an almost identical router for my friend across the street when they got cable internet, helped him and his dad run network cable around the house, and got them running on nearly the same setup.
Those were fun times as a nerdy teen. Now that stuff just comes right out of the box when you subscribe and get your modem. No fun.
I'm now running pfSense (FreeBSD) on a Proxmox VM server connected to my Starlink, so in a way I'm basically doing the same thing nearly 25 years later.
@@wysoft Same. I used a floppy-based router called Coyote Linux (IIRC) on a 486DX with 2 NIC's to do a basic NAT router. Think the machine was one of the Compaq lower-profile desktops. Ran like a champ for years.
@@andrewr7820 Yeah I remember that. We set up a similar machine with PicoBSD on a floppy for a friend - 486 box with a couple 3Com 509s and nothing else. Booted off of a floppy with a bare kernel and config. We at least made sure to give him a backup copy of that floppy!
Weird that RUclips disappeared my comment that you replied to.
And as with most of your videos I was a little bit smarter by the end of it, so thank you, great channel. Merry Christmas
50% smarter
I love these sort of videos. I think a fun one would be to see if you can add a toggle switch to the taskbar settings and make it do stuff. Maybe multi instance, or have a colour changer, or something fun to do with it. I love these sort of tinker projects that you do.
Thanks for the nostalgia hit. While I never did compile a BSD kernel I did go through my comp sci program’s rite of passage by installing Gentoo on my own. This was during the early 00s so it still took forever to compile. 🤣
Like you said, it’s about understanding. The amount of stuff I learned that semester from re-compiling the kernel over and over again was and still is priceless.
College for me was using a DECSYSTEM-2060 with TOPS-20, but also a VAX 11/750 with BSD 4.1 at first, then 4.2, and a PDP 11/23+ with BSD 2.9. Learned a lot of BSD UNIX on my own and set me up well for working at a place that utilized and put their product onto Sun-2/Sun-3 and Sun-4 SPARC machines.
I have built and deployed new kernels for both FreeBSD and OpenBSD. I have also done Linux From Scratch (twice) - very much a great learning experience. Once, I even hand configured custom DNS for a VPS.
Doing a custom kernel on Debian 2.0 was my first "tech rush" with computers. DOS had always seemed so tame and boring to me, and I wanted there "to be more too it". Fast forward 30 years (where the hell did they go?!?) and I'm still deep in the weeds. Once you "get" the UNIX shell no GUI will ever be anything but a restriction to your workflow.
Thanks for doing this episode on "our cultural heritage" :P
Made me a bit misty-eyed. My first experience with an interactive computer system was on a PDP 11/45 running what I believe was one of the first public releases of UNIX ca. 1977. This began my lifetime love of computing and an eventual 25-year career in the high-tech industry.
Thanks for bringing back the memories, Dave.
Really appreciate these niche topics, keep up the good work!
Ha! That was great fun. I was doing this professionally on SUN IPX machines, then later an NEC EISA box, and several Pentium machines - for work and pleasure. Brought back a lot of long-submerged memories! At some point I have to get my DEC applicationDEC 433MP multi-486 SMP, dual SCSI bus, EISA machine running with some flavour of FreeBSD. *That* will be a challenge...
I never got this deep into the technical side, but I enjoyed what I did. As soon as you mentioned "config.sys", my teeth started to itch.
I still remember that time when me and friend squeezed 637kB of free base memory for my Pc-Dos 6.3 😂
@@sleeptyper I got paid good money to do that in the early 1990's for a software developer selling a system that was based on MS-DOS + network stack + 3270 emulator + DOS Extender -> to run their 4MB (no typo) LISP application on 80386+ hardware. It was called Viewstar.
That's awesome! I worked with Clem for many years in Nashua, NH at the Spitbrook Rd facility. He's a seemingly bottomless pit of Unix knowledge.
This channel has come such a long way, good on you Dave for constantly improving yourself here!
They claim nothing is more secure than some ole fashioned BSD
Great stuff Dave! I was a high school student in the late 70's, my first computer course was learning BASIC using Teletype 33's that were time-shared to a PDP-10. Then Fortran IV using punch-cards. good memories...
My experience with UNIX was a long time back. Hands dirty - oh yes - replace 8 serial chips per octal IO board (we had three of them). And guess who ran the serial lines for those old terminals, grin. Merry Christmas to you and yours!
The way you explain these things make it easy to understand
Thanks! That's actually what I'm sort of going for, so appreciate hearing it!
@@DavesGarage I grew up in in the 90s and have some arcane knowledge, but without your good examples I wouldn't understand most of the video and turned off.
Really, keep it up!
So cool! I’m really enjoying this PDP-11 series. The lower levels of hardware and software are fascinating.
One of my early computing adventures was messing with the Linux 2.6 kernel on my Athlon 64, which took a similar ~45 min to compile and required endless configuring to get all of the right hardware modules loaded (especially networking).
Man, that brought back some memories... both good (many) and bad (some). Don't you just love that steady block cursor on a green or amber screen? I do. Thank you for another very enjoyable episode. A very Merry Christmas and Happy New Year to you and your loved ones.
Much entertainment, massively informative! BTW, you need Jeff Geerling's 'It has been __ days since the last kernel recompile' sign or t-shirt...
It could pretty much just stay 0 around here lately!
It's strange; I feel nostalgic of a time I never knew... It might be because I was introduced in programming on my scientific calculator in BASIC and z80 assembly language... But watching Dave's videos makes me feel good and motivated to start a new project!
Dave, this is great! As a further comparison on time required to do things, I recall that the time required to do a sysgen of RSX-11M, on a PDP-11/34, with 256 mbytes of RAM & 2 RK-05s, took about 6 hours, IIRC. This one, also, would probably only a minute or less on SIMH. 🤪
Mother of....!! Reminds me of times when my old manager would explain the struggles of how punch tapes would be loaded over night to load a program and any mistakes would need debugging the next day also shame shame on the engineer that just wasted everyones time by trying to load a programs with an error on it. How blessed are we really today? Kudos to you Dave for the work and the presentation.
Very cool, knowing how these early computers worked and how software controlled them is very useful in todays era were we finally have the keys to the CPU and can drive the chips ourselves like with microelectronics. For the first time i understood the need for an operating system to being with, I would have never gained that understanding learning from the top down. But from the ground up with a 1 program system and building from there, you can see the reasoning to want a more dynamic system and options an operating system provides. Look forward to more and how these operating systems are constructed to work on these different hardwares.
I am watching from Belgium. Ik vraag me af hoeveeel Belgen en/of Nederlanders mee kijken. Leerrijk en leuk.
Doe zo verder Dave.
Greetings from a Belgium vieuwer.
Very amazing - happy holidays good sir!
I compiled my first freebsd kernel in 2005. I didn't know what I was doing and it took 3 days to compile on a dual opteron server. I think I compile every feature during that time which is why it took 3 days. It was an eye opener. At one point it died twice. I soon learned to use ccache and distcc. It was a nightmare, but it taught me alot by digging into the docs.
My father used to work on compilers for Digital. So nice to see a modern visit through time.
Amazing!
And I still remember the days that I worked with nova computers in the 70's.
System with 64KB maximum (core) memory, 2.5MB hard drive handled a whole business computing needs😅
Difficult to understand for kids that are born with an 1GB 8 core CPU smartphone "glued" to their hands.
Many thanks for your Video, was very interesting to watch!
I modified the linux kernel, and compiled it for a client. It was a trivial code change, but it took me days to determine I needed to change it, and how. The end client, was migrating code from three Unix platforms, and mainframe (cobol), to Linux, and bugs were jumping out left and right. It took 5 months to fix all the bugs, some of which had been there for 10 years. It was 90% C++, 3% Cobol, and 2% Fortran. Other was Shell scripting, AWK, etc.
The only real customization I did of the codebase was to tweak NMOUNT to allow me to mount up to 8 drives, as the code itself normally only supports 6. Otherwise it was just configuration, but I did make that one change!
Totally obscure and exactly up my alley :)
Like for instance the topic of mainframes and how it feels we have come full circle with the cloud.
While I don't ever see anyone doing a full reverse and looping back. But there are for sure a lot of paradigms and similarities that is shared from the yeas passed.
Remember that the PDP-11 minicomputer was a radical alternative to a REAL IBM mainframe. Any manager in data processing knew he could lose his job for not buying IBM -- but that any misery he had with the expensive IBM solution would have lots of company and therefore lots of cover for his problems.
@@bdietz2 thanks for the insight!
While I'm of a 80-vintage. I have worked with IBM AS/400 in the paper/pulp industry's. Along side with HP UX es and all kinds of fun stuff in the several data centers that were in operation. Never came across any DEC hardware though.
Merry Christmas and Happy New Year. God bless you and your family.
It reminds me so much when I had to compile kernels on Sun Microsystems Sun3 and Sun4 systems It's all about the journey not the destination. Great video
LOVE this so much, thanks Dave
This was entertaining. You earned my like.
the algorithm came through today and i discovered your account, awesome stuff!
Now THIS brings back memories. It's amazing how much fit into a machine that now seems so tiny. Later on, when they brought out "kernel link kit" to make it doable without quite as much training, it almost seemed like cheating.
was there supposed to be a boot prompt at around 16:25 ?
Yes, sadly the last clip seems to have been omitted somehow! Sorry about that... you're not missing much, but it's a little weird!
@@DavesGarageoh jeez! Kind of feels like a let down when you get through the whole video and then don’t even see it boot at the end
The original PRIMOS, the O/S for the Prime 300, required no configuration if you stuck to supported peripherals. Like the PDP-11s, the Prime 300 had a 16 bit address space. All drivers were built in. The boot system dynamically determined the attached peripherals and locked the required drivers in memory and locking the unused drivers to disk. The procedure for attaching a new device was:
1. Turn the computer off.
B. Plug in the new device -- disk drive, card reader, serial board, whatever.
III. Boot up. Job done!
Congratulations on this admirable achievement. 👏
Well done, its always informative to watch your videos
Thank you Dave! I got to do some low level configuration on old machines, but it was like working from a recipe. I have an older BSD book that references ASTs because BSD was ported or developed on VAX, which had an AST register. AST being the granddaddy of APC in the NT realm. I wont use money as an excuse because one has to have the intestinal fortitude to fight through the old documentation to do what you are doing. I appreciate your efforts!
You can't even imagine the vast amount of respect that I have for you as a human being. And especially a technical one.
Dave out here doing everything I wish I could do. Kudos.