Jika Linux hanya sebuah kernel, lalu bagaimana versi pertamanya digunakan (tanpa distribusi)?

112

Linux hanya sebuah kernel, dan jika pengguna ingin menggunakannya, maka mereka membutuhkan distribusi lengkap. Yang sedang berkata, bagaimana versi Linux pertama digunakan ketika tidak ada distribusi Linux?

noop
sumber
66
Premis pertanyaan Anda cacat. Anda tidak perlu distribusi untuk menggunakan Linux. Anda memerlukan kernel Linux, dan beberapa kode pengguna. Itu dia. "Distribusi" hanyalah apa yang kami sebut ketika orang lain menyatukannya untuk Anda, alih-alih Anda melakukannya sendiri.
Jörg W Mittag
9
Pada kenyataannya, pada mulanya lebih merupakan masalah ayam-dan-telur, karena kurangnya alat pertanahan spesifik pengguna yang layak. Begitu orang di belakang MCC Interim Linux memecahkan telur itu, dan menulis beberapa alat sendiri, setidaknya fdisk, pintu terbuka bagi orang lain untuk mengajukan pengaturan Linux mereka sendiri dengan lebih mudah.
Rui F Ribeiro

Jawaban:

162

Pada tahap awal Linux, Linus Torvalds merilis sumber kernel Linux dalam keadaan alfa untuk memberi sinyal kepada orang lain yang bekerja menuju kernel mirip Unix baru sedang dalam pengembangan. Pada saat itu, seperti yang dikatakan @RalfFriedi, kernel Linux dikompilasi silang dalam Minix.

Adapun perangkat lunak yang dapat digunakan, Linus Torvalds juga porting utilitas untuk didistribusikan bersama dengan kernel Linux agar orang lain untuk mengujinya. Program-program ini terutama bashdan gcc, seperti yang dijelaskan oleh History LINUX oleh Linus Torvalds . Per pos Usenet :

Dari: [email protected] (Linus Benedict Torvalds)  
Newsgroup: comp.os.minix
Subjek: Apa yang paling ingin Anda lihat dalam minix?
Rangkuman: polling kecil untuk sistem operasi baru saya  
Pesan-ID: <[email protected]>
Tanggal: 25 Agustus 91 20:57:08 GMT
Organisasi: Universitas Helsinki

Halo semua di luar sana menggunakan minix -

Saya sedang melakukan sistem operasi (gratis) (hanya hobi, tidak akan besar dan profesional seperti gnu) untuk 386 (486) klon AT. Ini telah dibuat sejak bulan April, dan mulai bersiap-siap. Saya ingin umpan balik tentang hal-hal yang orang suka / tidak suka dalam minix, karena OS saya agak mirip
(tata letak fisik yang sama dari sistem file (karena alasan praktis) antara lain).

Saat ini saya telah porting bash (1,08) dan gcc (1,40), dan hal-hal tampaknya berhasil. Ini menyiratkan bahwa saya akan mendapatkan sesuatu yang praktis dalam beberapa bulan, dan saya ingin tahu fitur apa yang diinginkan kebanyakan orang. Ada saran yang diterima, tetapi saya tidak akan berjanji akan menerapkannya :-)

Linus mendistribusikan program-program inti dan utilitas inti dalam format disket bagi pengguna untuk mencobanya dan mungkin berkontribusi padanya.

Setelah itu, ada disket Boot-root HJ Lu . Jika ini bisa disebut distribusi, maka itu akan mendapatkan ketenaran sebagai distribusi pertama yang dapat diinstal pada hard disk.

Ini adalah dua gambar disket berukuran 5¼ "yang berisi kernel Linux dan alat minimum yang diperlukan untuk memulai. Jadi minimal alat-alat ini untuk dapat mem-boot dari hard drive diperlukan pengeditan catatan master boot dengan hex editor.

bootroot

Akhirnya jumlah utilitas tumbuh lebih besar dari ukuran maksimum disket.

MCC Interim Linux adalah distribusi Linux pertama yang digunakan oleh orang-orang dengan keterampilan teknis sedikit kurang dengan memperkenalkan instalasi otomatis dan utilitas baru seperti fdisk.

MCC Interim Linux adalah distribusi Linux yang pertama kali dirilis pada Februari 1992 oleh Owen Le Blanc dari Manchester Computing Center (MCC), bagian dari University of Manchester.

Rilis pertama MCC Interim Linux didasarkan pada Linux 0.12 dan memanfaatkan kode ramdisk Theodore Ts'o untuk menyalin gambar root kecil ke memori, membebaskan floppy drive untuk disket utilitas tambahan. [2]

Dia juga menyatakan distribusinya adalah "eksperimen tidak resmi", menggambarkan tujuan pembebasannya sebagai:

  • Untuk memberikan prosedur instalasi yang sederhana.
  • Untuk memberikan prosedur instalasi yang lebih lengkap.
  • Untuk menyediakan layanan cadangan / pemulihan.
  • Untuk membuat cadangan sistemnya saat itu.
  • Untuk mengkompilasi, menautkan, dan menguji setiap file biner di bawah versi kernel, gcc, dan pustaka saat ini.
  • Untuk menyediakan sistem basis yang stabil, yang dapat diinstal dalam waktu singkat, dan perangkat lunak lain dapat ditambahkan dengan sedikit usaha.

Setelah pendahulu MCC, SLS adalah distribusi pertama yang menawarkan Sistem X Window pada Mei 1992. Terutama, pesaing untuk SLS, Yggdrasil yang mistis , memulai debutnya pada Desember 1992.

yggdrasil

Distributor besar lainnya mengikuti seperti yang kita kenal sekarang, terutama Slackware pada Juli 1993 (berdasarkan SLS) dan Debian pada Desember 1993 hingga rilis resmi versi 1.1 pada Desember 1995.

Kredit gambar:
* Boot / Root image disket dari: https://www.maketecheasier.com/
* yggdrasil disket image from: https://yggdrasilblog.wordpress.com/

Rui F Ribeiro
sumber
4
Akan lebih baik untuk menautkan ke pesan-pesan email dari sumber asli yang paling dasar, dengan asumsi mereka diarsipkan online di suatu tempat.
Wildcard
2
@Wildcard Menemukan pesan email di situs yang mengklaim sebagai halaman Linus Torvald.
Rui F Ribeiro
2
@slm Sebenarnya dari waktu sebelumnya, saya terlalu sering pindah ke rumah, dan penyimpanan di rumah orang tua saya terbatas. Saya dulu punya 386BSD / FreeBSD disket awal, dan CD PCworld dari 93-95 (mungkin 95) dengan seluruh rangkaian disket Linux (tidak ingat distro). Saya juga dulu memiliki set lengkap disk instalasi SCO V dengan kunci yang valid yang saya jalankan di 486 saya. Saya memiliki spesifikasi hw yang sangat canggih untuk saat itu, saya bekerja untuk pemasok utama komputer.
Rui F Ribeiro
28
"(hanya hobi, tidak akan besar dan profesional seperti gnu)" Hah.
F. George
9
just a hobby, won't be big and professional like gnuoh boy, apakah Anda salah
Alvaro
17

Dalam kasus saya (c.1994) Linux dibuat sebagai gambar yang cocok untuk disket 3,5 "(1,44MB), mungkin merupakan lanjutan dari gambar 5 1/4" yang disebutkan di atas, dan masing-masing memiliki seperangkat driver khusus yang dikompilasi dalam ( jaringan, VGA, dll.). Jadi Anda harus tahu apa yang Anda butuhkan dan berharap bahwa Anda memiliki perangkat keras yang sesuai.

Setelah Anda boot, dan bisa terhubung ke LAN atau dialup melalui modem, maka Anda pergi dan menemukan perangkat lunak yang Anda butuhkan (FTP, gopher, dll. - ini tepat di awal "web" dan mesin pencari tidak benar-benar ada, jadi Anda harus tahu ke mana harus pergi atau siapa yang bertanya) dan membangunnya sendiri.

Saya sangat senang ketika saya bisa boot 486DX saya dan masuk ke jaringan universitas saya (56k!) Dan me-mount share AFS pada mesin di rumah ... itu adalah hari-hari. ;)

Xavier
sumber
2
Dengan asumsi Anda melakukan semua ini pada tahun 1994, itu mungkin lebih seperti 28.8k ... waktu yang baik!
GuitarPicker
Pada tahun 1994 Anda tidak perlu berganti-ganti dengan disket. Saya mulai dengan Linux pada tahun yang sama tetapi Slackware sudah memiliki distribusi penuh pada CD.
Gábor
Anda harus membeli CD dari majalah. Pada saat itu pembakar CD mahal. Sedangkan untuk RH, saya ingat mengunduh semua file melalui FTP selama akhir pekan di koneksi 256Kbps bersama yang fantastis, membangun gambar CD, dan kemudian membakar CD di tempat kerja, mungkin sekitar 96.
Rui F Ribeiro
@ GuitarPicker, itu mungkin optimis. Banyak dari kita yang masih menggunakan 1.200.400 dan pada tahun 1992 Linux umumnya turun ke pipa Institusi Akademik. Seperti Linus, akses internet kami dengan dialup ke Universitas. Kami memiliki Usenet dan Gopher tetapi tidak ada WWW grafis (Mosaik). Pada tahun 1992 tidak semua orang memiliki 386 baik. Saya memiliki kotak Olivetti M24 (AT&T) 8086 dengan layar Monochrome yang menjalankan Windows 1 (tidak baik). Minix adalah hobiis atau pengejaran akademis, dan tidak gratis. Linux dianggap sebagai bandwith babi, tetapi itu mendapatkan kenaikan kapasitas reguler. Linux adalah hal besar di Kampus bagi para programmer.
mckenzm
12

Versi singkat

Pada saat Linus memulai kernelnya, proyek Gnu memiliki sistem operasi yang berfungsi, kecuali untuk kernel yang berfungsi. Jadi ketika orang melihat sekeliling, mereka menemukan semua alat yang mereka butuhkan: gcc (dan teman: binutils), bash (dan teman-teman gnu-utils), emacs, ...

Mereka kemudian akan membangun sistem mereka sendiri, dari bagian-bagian.

Dari sinilah lelucon ini berasal, “Jika MS-Windows adalah sebuah pesawat terbang, maka ia akan naik hingga 10 ribu kaki, dan kemudian meledak menewaskan semua orang di samping, tetapi setidaknya Anda tidak harus membuat pesawat sendiri sebelum berangkat.”

ctrl-alt-delor
sumber
8
Dan inilah mengapa sebagian besar distribusi disebut distribusi GNU / Linux , jika Anda mengikuti GNU dan FSF.
Nemo
Tidak. GNU tidak memiliki perpustakaan libc yang baik. Linux di masa lalu menggunakan pustaka libc yang berbeda. Hanya relatif terlambat kami memiliki perpustakaan glibc yang bagus. Pada awalnya alat minix digunakan (sebagian diproduksi oleh GNU).
Giacomo Catenazzi
@GiacomoCatenazzi benar tentang libc. Tapi itu memang memiliki sebagian besar alat pertanahan pengguna. Saya ingat pada tahun 1992 mengkompilasi alat GNU untuk dijalankan pada Sun Solaris. (Saya tidak mulai menggunakan Linux sampai pertengahan transisi ke glibc.) Alat-alat itu sudah ada untuk sementara waktu (sebelum Linux).
ctrl-alt-delor
Ya. Saya juga mulai dengan Solaris, lebih memilih alat GNU daripada yang Sun. Dari sana saya ingin lebih jadi saya pergi ke Linux (dan distribusi pertama saya tidak memiliki sistem X. Klien Red Hat dapat menggunakan X komersial. Baru kemudian kami memiliki XFree86. Transisi ke sistem benar-benar gratis (dan sebagian besar GNU) mengambil bertahun-tahun (kernel hanya satu langkah, tetapi langkah paling "demokratis" [komputer + unix dasar akhirnya untuk semua orang (atau lebih baik untuk siswa))
Giacomo Catenazzi
12

Dalam bukunya " Just For Fun " Linus Torvalds menyebutkan bahwa kernel Linux pada awalnya adalah emulator terminal sederhana untuk menghubungkan ke mesin Unix jarak jauh melalui modem:

Jadi akhirnya saya bisa mengubah dua utas, AAAAAAAA dan BBBBBBB, sehingga yang satu membaca dari modem dan menulis ke layar, dan yang lain membaca dari keyboard dan menulis ke modem. Saya memiliki program emulasi terminal sendiri.

Ketika saya ingin membaca berita, saya akan memasukkan floppy saya dan reboot mesin, dan saya akan membaca berita dari komputer universitas menggunakan program saya. Jika saya ingin membuat perubahan untuk meningkatkan paket emulasi terminal, saya akan mem-boot ke Minix dan menggunakannya untuk pemrograman ...

Dan karena saya ingin menyimpan file ke sistem file Minix - dan karena sistem file Minix didokumentasikan dengan baik - saya membuat sistem file saya kompatibel dengan sistem file Minix ...

Pada saat saya melakukan ini, jelas proyek sedang dalam perjalanan untuk menjadi sistem operasi. Jadi saya menggeser pemikiran saya tentang itu sebagai emulator terminal untuk menganggapnya sebagai sistem operasi.

bodqhrohro
sumber
10

Diedit: Tidak ada lagi rasa malu yang memalukan tentang bagaimana kernel bekerja dan meninggalkan bagian penting.

GNU userland ada sebelum kernel Linux melakukannya.

https://en.wikipedia.org/wiki/GNU

https://en.wikipedia.org/wiki/Linux_kernel

Peter MacDonald sebagian besar diakui telah menciptakan distribusi GNU / Linux 'yang dapat digunakan' pertama.

https://en.wikipedia.org/wiki/Peter_MacDonald_(computer_programmer)

https://en.wikipedia.org/wiki/Softlanding_Linux_System

Dari ingatan beberapa diskusi yang saya lakukan dengannya: Peter bekerja sebagai administrator sistem Unix untuk pemerintah dan pergi ke Universitas Victoria untuk mendapatkan gelar Magister. Peter menginginkan cara untuk bekerja dari rumah, tetapi biaya lisensi desktop Unix mahal. Dia sudah terbiasa dengan alat-alat GNU userland sehingga ketika dia melihat pesan Linus Torvalds di jaringan Universitas dia mengambil keuntungan penuh dan menghubungkan alat-alat GNU ke kernel baru. Jadi sungguh, masalah awal adalah kebalikan dari pertanyaan Anda: Userland sudah ada dan yang dibutuhkan hanyalah sebuah kernel.

Beberapa informasi historis lainnya:

  • Peter tidak mendistribusikan SLS Linux dan tidak mengenakan biaya untuk perangkat lunak. SLS didistribusikan oleh istrinya Colleen dan biayanya untuk proses pembakaran CD yang mahal dan memakan waktu untuk dikirim.
  • Peter membuat sejumlah kontribusi besar ke kernel yang belum pernah diakui termasuk memuat modul dinamis dan meningkatkan manajemen memori.
  • Perangkat lunak itu 'buggy' karena dia bekerja, pergi ke sekolah, membesarkan dua anak dan berusaha membuat pengguna Linux senang. Kita semua tahu betapa mudahnya membuat pengguna Linux senang ...
  • Peter tidak memiliki ingatan tentang 'argumen' / 'ketidaksepakatan' atas skrip installer yang diklaim orang lain menyebabkan keretakan yang memulai Slackware dan Debian.
Dinsdale
sumber
2
Jika Anda dapat memuat kernel ke memori dan mengeksekusi gambar, itu akan panik karena tidak dapat menjalankan / sbin / init. init sudah menjadi alat userland. Setiap program dalam C untuk menggunakan API kernel adalah program userland.
RalfFriedl
Doh! Poin bagus. Saya mencoba mengatakan bahwa alat yang biasanya berinteraksi dengan pengguna tidak diperlukan untuk menjalankan kernel. Saya akan berpikir ulang dan memperbarui ...
Dinsdale
Walaupun didokumentasikan dengan cukup baik, Peter bukanlah yang pertama atau kedua yang mendistribusikan utilitas pengguna kernel +, kami sebagai komunitas Linux memiliki banyak upaya untuk memecah distribusi Linux menjadi sesuatu yang serupa seperti yang kita kenal sekarang.
Rui F Ribeiro
2

Linux pertama kali dimulai sebagai pengganti yang ditingkatkan untuk Minix dan untuk memahami pemrograman mode terlindungi pada i386. Minix datang dengan sumber, dan pada saat itu ada utilitas GNU userland dan utilitas BSD userland. Keduanya tersedia dengan sumber. Linux berusaha agar kompatibel dengan POSIX, jadi porting tidak terlalu sulit. Salah satu langkah pertama adalah menjalankan bash di Linux. Anda dapat mempertimbangkan hari-hari awal Linux sebagai kompilasi silang, kernel harus dikompilasi pada sistem lain.

RalfFriedl
sumber
2
Kernel sedang dikompilasi silang dalam Minix.
Rui F Ribeiro
17
Mengatakan bahwa Linux "dimulai sebagai ekstensi untuk Minix" adalah menyesatkan. Ya, memang benar bahwa Linus menggunakan Minix pada waktu itu, tetapi Linux tidak berbagi satu baris kode dengan Minix, dan juga mengikuti filosofi desain yang berbeda (microkernel vs. monolithic). Minix juga tidak tersedia secara resmi untuk 386 pada waktu itu, sedangkan kernel Linux ditulis untuk 386 sejak awal. Sistem file pertama Linux adalah sistem file Minix, karena kompatibilitas, tetapi ini juga implementasi ulang yang lengkap.
Johan Myréen
10
Linus, dan penulis Minix, keduanya setuju bahwa itu bukan Minix atau berdasarkan itu.
ctrl-alt-delor
@ JohanMyréen Tentu saja teks pendek tidak sepenuhnya benar. Bahkan Wikipedia hanya berisi pengantar singkat. Dan saya tahu bahwa Linux dimulai karena kekurangan Minix. Jika ada Minix untuk i386, mungkin tidak ada Linux hari ini. Di sisi lain, Linux terinspirasi oleh Minix, dan sistem file pertama yang didukung adalah Minix. Tapi saya setuju ekstensi bukan pekerjaan yang benar, saya mengubah kalimatnya.
RalfFriedl