6 ms·
Time machine: Solaris 2.6 on QEMU
- mynegation 5y agoNostalgia is weird. I started my professional career on Solaris machines and spent like 20% of my time for the first few months compiling a GNU ecosystem, Emacs, vim, and replacing Sun window manager with IceWM.
- tyingq 5y agoAlso some percentage complaining about yp/nis.
- zippergz 5y agoTrying to turn Solaris into Linux was a mistake back then. Most of their stuff worked better than the gnu equivalents if you put in the effort to learn it.
- simtel20 5y agoAt the time of 2.6 that was not the case. Cpio, tar could open archives created on other platforms. bash had readline. awk, sed, find, xargs - handing no ills spaces newlines etc. Dd would let you handle errors. Pretty much every gnu tool was more flexible and allowed you to do things that the sun tools just wouldn't.
- mynegation 5y agoThis! Readline, bash completion, GNU Screen, reasonably modern C++ supported by a compiler, familiar environment that I used in Linux at home, and ls with colors! No, I knew even back then that SunOS and Solaris are famous for their reliability, admin tooling, and SMP support, but I have never cared about that. Learning Solaris-specific stuff felt like a waste of time back then already and so it was.
- smackeyacky 5y agoThe funny thing about my journey with Linux since the 1990s was that I wanted something to run X-Windows on so I could access the Sparc boxes at work. Here I am in 2021 still using Linux to access a sparc box, although it's just for fun now and sparc is being emulated.
- drewg123 5y agoAt least in the early 90s, most of the support programs on the commercial unixes were ancient BSD stuff from 10 years previous and just sucked. No command line editing, limited functionality, etc. This is why GNU became so incredibly popular. From the top of my head - GNU tar did compression in one step with the "z" flag, native tar did not - gzip compressed produced smaller compressed files than "compress" did, was usually faster, and understood stuff compressed via the vendor compress. - gdb was much more usable that dbx or adb - gcc was free, and supported much newer standards than the vendor compiler. And you had a much better shot at compiling stuff you found on the web without tweaking Makefiles to adjust compiler flags.
- pjmlp 5y agoOn the other hand, properly knowing UNIX/POSIX meant being confortable dropping into any random UNIX box at customer site and being able to sort out their problems without any kind of extra tooling.
- mynegation 5y agoThat is very true if it was the part of yours job description. For me it was not. I was face with a clean slate Solaris maybe twice during that period and each time I just had enough knowledge of BSD stuff, csh, and bare bones vi to bootstrap into the familiar environment (which was kind of fun, sort of like moving into a new home and making it cozy).
- pjmlp 5y agoMy job description was more of the kind "make customers happy". :)
- smackeyacky 5y agoYep nostalgia is weird. Some of the software from that time just feels weird and constricting (Windows 3.11 or the contemporary Mac operating systems). Solaris doesn't quite feel modern but it sure is a lot closer to modern than Windows 3.11
- pjmlp 5y agoWhy bother with compiling when there used to exist a Solaris package repository for most of them?
- mynegation 5y ago1. Not all packages were available. 2. Versions were quite old. 3. I did not have admin at first and when I did I did not want to mess with this 4. The disk where / was mounted was on a smaller side and most of my stuff was on a secondary mounted large disk. 5. Work practice as I was responsible for maintaining the build of our product on several Unix platforms.
- drewg123 5y agoI admin'ed other machines at the time (DEC Alphas), but the guys who cared for the Sun systems ignored the package repo. I think it was because the packages were out of date. It also could have been because disk space was expensive, and they preferred to keep open source stuff in NFS to save space on the individual workstations. As I recall, our locally compiled packages were kept in NFS, and there was a giant symlink tree that pointed to the latest version, but left the old version intact for backwards compat. Eg /opt/pkg/bin/gcc pointed to /opt/pkg/gcc-2.95.2/bin/gcc, but used to point to /opt/pkg/gcc-2.95.1
- pjmlp 5y agoI see, actually I don't recall how much up to date that repository used to be. Just found it out, after some Google-fu, http://www.sunfreeware.com/introduction.html http://www.sunfreeware.com/introduction.html Still online, amazing.
- yjftsjthsd-h 5y agoOh good; at the end of the article the author did discover that CDE is alive and well:) I spent most of the article thinking "yes, you most certainly can do all of this today - Illumos is still around, and CDE runs on modern *nix"
- FPGAhacker 5y ago> CDE is alive and well wow. That's a blast from the past. That was the desktop environment on our unix boxes back when I started asic design. I think it was hpux. But CDE...those screenshots immediately took me way back. I'm going to have to get that installed at work now.
- chungy 5y agoUnless things have changed recently, I'm not sure I'd call it "well" I tried CDE a year or so ago, and it was badly broken on both multi-monitor and 3840x2160 resolutions.
- yjftsjthsd-h 5y agoWell preserved, then:) I admit I don't recall trying multi monitor, and most X11 takes some work to manage hidpi, but under similar screens as it was born on CDE still works, which is far more than I'd say for most nontrivial software of that vintage.
- chungy 5y ago> most X11 takes some work to manage hidpi The bigger problem was that CDE refused to place/draw windows outside of an area of 1600x1200 or so. That the panel couldn't be moved to the screen edge might have been slightly annoying, but it actively worked against having _any_ window outside of what is a small area on my screen.
- yjftsjthsd-h 5y agoEw, yeah, that's a pain
- jmillikin 5y agoThe author describes using HTTP and a stub page to copy a file from host to VM. I've found Netcat (nc) to be a better option -- it's widely available and easy to use as a simple pipe. You can combine it with tar to copy directories. [guest]$ nc -l -p 1234 > some_file [host]$ cat some_file | nc $GUEST_IP 1234 If Netcat isn't installed, many older UNIXes have Perl available to DYI a simple TCP server. In the limit, some shells (GNU Bash for sure, and I think also Korn shell?) support connecting to a remote TCP endpoint via the /dev/tcp/ special prefix. In this configuration you'd have the host listen and the guest initiate. Another trick with QEMU is bundling files into a disk image and then mounting them (as a CD-ROM or SCSI). Somewhat more cumbersome, but works even for guests that don't have a working network.
- smackeyacky 5y agoUnfortunately Solaris 2.6 doesn't have netcat installed. I should probably have kept on trying to get NFS working but I got the nostalgia trip bad when I found hotjava and couldn't resist trying to do something useful with it, since it was useless the day it was released.
- tyingq 5y agoYou could get rsh on the host machine, it's probably available from the package manager. And already there on the guest os. Not the most secure thing, but works.
- smackeyacky 5y agoI did think about rsh and rcp but if NFS doesn't work, likely those bad boys are toast as well. Will fiddle and see what is easiest.
- yjftsjthsd-h 5y ago> In the limit, some shells (GNU Bash for sure, and I think also Korn shell?) support connecting to a remote TCP endpoint via the /dev/tcp/ special prefix. EDIT: I'm wrong; Solaris has a `/dev/tcp` but it doesn't do that (details below courtesy of the person who corrected me) Original (incorrect) comment: Forget the shell: I'm 90% sure Solaris implemented that exact feature directly in the operating system, so you should absolutely be able to do this without any additional software, assuming that it was implemented by this version.
- forgotmypw17 5y agoAre there any browsers for Solaris 2.6? I take pride in striving to live up to the "any browser" dream, but I've yet to test any on that platform.
- jeffbee 5y agoSolaris 2.6 came with Netscape Navigator on a CD.
- smaller 5y agoI remember using HotJava.
- smackeyacky 5y agoHotJava (and an early version of Java itself) are available in the base system. I haven't found Netscape on the installation CD yet, still digging through the available options. HotJava doesn't like SSL/TLS so you can't do much with it other than attach to very, very simple websites that aren't encrypted. Using it as a jury-rigged file downloader works OK though.
- yjftsjthsd-h 5y agoWould https://github.com/tenox7/wrp https://github.com/tenox7/wrp work with it?
- smackeyacky 5y agoTrying it now. Seems a bit slow to be useable with hotjava (hotjava is a complete dog though). Been digging around looking for a binary of Netscape Communicator but no luck so far.
- forgotmypw17 5y agoI do support HTTP, although currently it has to be HTTP/1.1. It came about around the same time as HotJava, 1997, so the earliest versions may not support 1.1, but I'd guess the later ones do. If you have an opportunity, the URL is in my profile. It would be amazing if you found the time to read and write something using that platform. I'm planning to set up a 1.0-compatible node, if only for Mosaic and IE 2.0.
- frellus 5y agoMy favorite part of Solaris was hidden within initsvc file in /etc .. there you would find this this comment: # # Run inetd in "standalone" mode (-s flag) so that it doesn't have # to submit to the will of SAF. Why did we ever let them change inetd? # /usr/sbin/inetd -s I think of that poor soul who wrote that cynical, almost pleading comment often. Somehow they got it in past the peer review (or at least, the review(s) must have agreed enough to let their dirty laundry air out). Why? What did they change, and who is the "them" !? Will I ever know? And yet, I have a particular soft feeling for the commentator, because I know I've let my innermost thoughts and feelings leak out into my code sometimes. We're only human.
- pram 5y agoThis predates Solaris. SAF came from AT&T and was replaced by SMF eventually. This is essentially an ancient systemd-like protest lol
- m463 5y agoReminds me of PSD and this comment: // At this point, I'd like to take a moment to speak to you about the Adobe PSD format. // PSD is not a good format. PSD is not even a bad format. Calling it such would be an // insult to other bad formats, such as PCX or JPEG. No, PSD is an abysmal format. Having <snip... many more lines> // // PSD is not my favourite file format. from https://github.com/kjk/xee/blob/master/XeePhotoshopLoader.m https://github.com/kjk/xee/blob/master/XeePhotoshopLoader.m (I have many GB of scanned photos in this format from a canon scanner)
- ecnahc515 5y agoReading the comment reminds me of how I feel about the AWS APIs.
- trailbits 5y agoThanks for the memories! Every time I try and recreate my old Solaris environment from the 90's I discover that I'm missing the Fortran shared library that much of my code was linked with. I saved my Solaris CDs over the years but as you point out, languages were all add-ons. Anyone know where I can find the old Solaris Fortran shared libs?
- h2odragon 5y agoHad a UUCP to BBS networks hub running on a SunOS system via dialin. Custom little mail tosser script that were the fugly result of ignorance and persistence. Then they switch to a brand new server running Slowlaris. Utter disaster. Even if I had understood my script well enough to port it, the UUCP was not going to work and the one i was relying on was not going to be ported and... boom; those networks were unlinked. I later heard that they brought the old server back online after a couple months and ran it for several more years for other, similar "the old system just worked and no one has time to port to the new" things. AFAIK it took Solaris another couple versions to really get back the serial hardware support they had under SunOS, and there was some hardware that just went unsupported.
- smackeyacky 5y agoAnother person who knows "Slowlaris" - I thought it was maybe just my ex-colleague. Turns out it's in the jargon file! http://www.catb.org/jargon/html/S/Slowlaris.html http://www.catb.org/jargon/html/S/Slowlaris.html
- BeefWellington 5y agoIt's definitely widespread. Having worked with it extensively in the past in a large company selling software to people who were still running Solaris in the early 2010s, I heard it constantly.
- vzaliva 5y agoI did not get it from the article: did he run Solaris x86 or he emulated SPARC under QEMU?
- smackeyacky 5y agoSorry my bad. Sparc under Qemu. Running the x86 version of Solaris just seemed too boring.
- tyingq 5y ago"At one point, the Adafruit article says you need to "set the scsi options" and shows a cryptic code that pushes a hex number into a file on the disk image of your half-built machine. I skipped that. Not only do I not know what the hex number is or represents, the thing boots fine without that part." It's cryptic in the Adafruit article, but they are documented. Used to turn on/off support for FAST, WIDE, TAGGING, SYNCHRONOUS, some debugging flags, etc. http://www.dba-oracle.com/disk_scsi_bus.htm http://www.dba-oracle.com/disk_scsi_bus.htm
- smackeyacky 5y agoNice find! I might fiddle with it to see if it changes anything. The VM had no trouble booting without that step.
- pjmlp 5y agoTime travel back to 1999, when Solaris was my main UNIX. Yet another toy for my todo list. :)