Mesin waktu: Solaris 2.6 di QEMU

Mesin waktu: Solaris 2.6 di QEMU

Sebagian besar karir profesional saya di tahun 1990-an dihabiskan dengan Sparcstation di meja saya. Sebelum itu 68000 Sun2 dan Sun3 melayang melewati jari-jari saya yang lengket tetapi mesin Sparc dengan cepat menggantikannya. Saya tidak terlalu ingat yang mana: cukup yakin setidaknya ada satu IPX, satu Sparcstation 5, Sparcstation 10 dan kemudian yang terakhir kemungkinan besar adalah Ultra 1 atau bahkan mungkin Ultra 5. Itu waktu yang lama yang lalu. Sesekali saya berpikir tentang seberapa produktif mesin-mesin itu dan melakukan sedikit penggalian Ebay tentang berapa banyak yang layak untuk dimiliki. Kecuali saya tidak memiliki ruang untuk lebih banyak mesin dan gagasan untuk mencoba menghidupkan kembali perangkat keras berusia 25 tahun dari era itu jauh di luar kemampuan elektronik saya.

Jangan takut, QEMU ada di sini. Mengikuti instruksi yang sangat baik dari Adafruit ini, Anda juga dapat menginstal Solaris 2.6 dan memiliki mesin emulasi Anda sendiri.

Perhatikan bahwa ada satu instruksi di sana yang saya tidak yakin Anda butuhkan. Pada satu titik, artikel Adafruit mengatakan Anda perlu “mengatur opsi scsi” dan menunjukkan kode samar yang mendorong nomor hex ke dalam file pada gambar disk dari mesin setengah jadi Anda. Saya melewatkan itu. Bukan saja saya tidak tahu apa bilangan heksagonal itu atau mewakilinya, benda itu bisa boot dengan baik tanpa bagian itu.

Apa yang bisa kamu lakukan dengannya?

Saya memiliki seorang rekan saat itu yang tidak terkesan dengan Solaris. Dia adalah penggemar SunOS, seorang pria BSD. Ketika Sun mengumumkan bahwa mereka pindah ke SVR4 dan tidak lagi menggunakan sistem operasi mereka sendiri, teriakan kolektif dari administrator SunOS terdengar seperti guntur yang menggelegar di Usenet. Rekan saya menyebut Solaris sebagai “Slowlaris” dan dia tidak salah. Sun tampaknya mengasapi setiap rilis OS dengan alat GUI yang lebih lambat dan lebih lambat, terutama dibandingkan dengan sistem windowing SunView yang tajam pada 68030 Sun3. Sistem berbasis X terasa agak lamban dan harus mempelajari kembali di mana semua file konfigurasi tinggal adalah masalah besar. Beberapa tahun kemudian dan tidak hanya sistem windowing itu hilang, tetapi juga Unix berbasis BSD yang paling dikenal oleh admin Sun. Serangan Windows yang akan datang membuat Sun kehilangan minat pada sistem manajemen jendela kedua (ketiga?) OpenLook yang mendukung CDE karena aliansi dibentuk dan dihancurkan setelah perang Unix. Kemudian datang putaran pisau terakhir, mereka menghentikan pengiriman kompiler C dengan sistem operasi dasar.

Yang terakhir sangat sulit untuk diambil. Sun selalu mengirimkan kompiler C dengan sistem operasi, tetapi sekarang Anda harus membayar uang tunai untuk itu dan itu tidak murah. ISO yang Anda unduh dari instruksi Adafruit tampaknya tidak memiliki kompiler C yang disertakan dan dari memori, ketika Anda membayar tebusan raja untuk kompiler C dari Sun, itu datang pada CD yang berbeda. Seperti yang saya katakan, ini sudah lama sekali.

Hal pertama yang saya lakukan setelah instalasi adalah mengatur lingkungan pengguna saya ke OpenLook – sesuatu yang salah. OpenLook sederhana tetapi juga tidak memiliki jumlah alat yang mendekati jumlah alat yang disertakan dengan CDE. Untungnya Anda dapat memilih lingkungan desktop Anda pada prompt login.

Berada di OpenLook (sebenarnya mungkin disebut OpenWindows pada tahap ini) seperti menemukan diri Anda di belakang kemudi mobil pertama Anda yang tepat. Rasanya familiar, memori otot lama masih bekerja. Ada jendela Konsol terkelupas yang selalu Anda perhatikan, itu akan menunjukkan kepada Anda pesan sistem (sedikit seperti bilah notifikasi primitif untuk OS) tetapi umumnya berhenti bekerja banyak. Saya perhatikan bahwa sebagai sebuah konsep, kebanyakan Unices tidak memiliki hal seperti itu lagi. Aplikasi yang disediakan cukup mendasar: editor teks; Alat Perintah aneh yang memiliki setengah editor di dalamnya; alat Shell yang lebih sederhana yang pada dasarnya adalah terminal X yang gemuk. Sebagian besar dari ini serupa dengan alat SunView lama yang digunakan oleh orang-orang Sun yang lebih tua sejak awal. Membiasakan kembali diri saya dengan hal-hal ini menyenangkan, tetapi saya ingin kompiler C membuat aplikasi Hello World. Saya membutuhkan beberapa cara untuk memasukkan file ke dalam VM. Sayangnya banyak alat jaringan tidak berfungsi dengan baik lagi, saya tidak bisa membuat NFS berbicara dengan server NFS di mesin Host (dan ya, saya mencoba mengatur Host ini kembali ke NFS v2 tetapi masih mendapatkan kesalahan “izin ditolak” tidak pernah berguna). Saya yakin bahwa bermain-main dengan port QEMU kemungkinan akan menyelesaikan semuanya, atau mungkin saya memiliki file /etc/exports yang salah dikonfigurasi tetapi saya kehilangan minat dengan cepat. Klien ftp yang disediakan memulai tetapi sudah sangat tua sehingga tidak ada yang ingin berbicara dengannya lagi, bahkan menyetel host ftp Anda kembali ke PASV tampaknya tidak memperbaikinya. Satu-satunya hal yang tampaknya setengah berfungsi adalah browser HotJava berbasis java kuno. HotJava berjuang mati-matian dengan situs web modern mana pun (TLS telah mematikan akses bahkan ke Google). Tidak masalah berbicara dengan server web berbasis Python lokal yang menyenangkan, karena tanpa NFS atau FTP saya tidak dapat menemukan cara untuk mentransfer file di dalam Solaris VM. Mengapa saya perlu mentransfer file? Karena saya ingin kompiler C sialan!

TGCWare untuk menyelamatkan

Saya tidak yakin siapa pahlawan yang menjalankan TGCWare tapi itu luar biasa. Perintah “cc” standar pada Solaris biasanya berada di /usr/ucb/cc tetapi dalam hal ini adalah skrip yang memberi tahu Anda bahwa Anda tidak memiliki kompiler C. Bicara tentang pasif agresif. Di mesin host, saya mengambil salinan GCC 2.95 yang di-gzip untuk Solaris 2.6, membuka ritsletingnya dan meletakkannya di suatu tempat yang bisa didapatkan oleh server web Python. Saya membuat halaman kecil dengan tautan ke file (sebenarnya, saya menambahkan ekstensi .png terlebih dahulu), membungkusnya dengan tag img dan mengklik kanannya di HotJava. HotJava berkewajiban dengan memberi saya opsi untuk mengunduh png palsu dan setelah disimpan, saya menamainya dan menjalankan perintah Solaris pkgadd untuk menginstalnya. Kemudian saya mengganti nama skrip shell /usr/ucb/cc menjadi cc.old dan memasukkan tautan lunak dari /usr/tcgware/gcc29/bin/gcc ke /usr/ucb/cc. Halo Dunia!

Di sinilah saya menyerah pada OpenLook dan beralih ke CDE. Sebagian besar hal keren yang dilakukan Sun telah diorientasikan kembali di sekitar sistem CDE berbasis Motif dan ada satu alat yang ingin saya coba lagi: Application Builder.

CDE agak keren. Agak.

Dalam semua aliansi pergeseran antara vendor Unix, HP melangkah ke piring dan menyediakan pembangun GUI untuk CDE yang sebenarnya cukup rapi. Ini menggunakan sistem seret dan lepas untuk meletakkan tombol dan widget Anda ke panel kontrol, lalu Anda “menghasilkan kode” dan voila, itu membuang tumpukan kode C yang kemudian dapat Anda kompilasi dan jalankan. Kami menggunakan ini sedikit untuk membuat utilitas kecil – dunia adalah tempat yang lebih rendah tanpa pembuat GUI yang rapi dan sederhana seperti ini. Jika kode sumbernya masih beredar, akan menarik untuk melihat apakah itu berjalan di Linux modern.

Kode yang dihasilkan secara otomatis dikompilasi dengan baik dengan gcc (segera setelah saya menemukan di mana make diinstal, untuk referensi ada di /usr/ccs/bin). Voila, program CDE gui cepat yang tidak… tidak ada apa-apanya. Namun tetap membuat saya senang.

Sekarang saya harus memulai tugas untuk memasukkan binari TGCWare lainnya ke mesin, mungkin yang terbaik adalah memulai dengan gzip, lalu wget, lalu saya dapat mengambil semuanya langsung dari VM tanpa harus menggunakan perantara skrip Python. Merupakan latihan yang menyenangkan untuk bermain di lingkungan itu lagi, meskipun seperti beberapa orang lain, saya sangat ingin melihat kode sumber untuk SunOS dirilis sehingga saya dapat bermain dengan SunView lagi.

Sunting: IT LIVES

Alat CDE bersumber terbuka pada tahap tertentu dan Anda dapat mengunduhnya untuk Unix modern Anda!

Baca selengkapnya