Apa implementasi Linux sekecil mungkin? [Tutup]


21

Apa komponen minimum yang telanjang agar OS Linux berfungsi, dan yang dapat saya gunakan sebagai basis untuk berkembang dan meningkat ketika saya belajar Linux dan pemahaman serta kebutuhan saya tumbuh?

Jawaban:



9

Jika Anda ingin belajar, Gentoo adalah pilihan yang bagus - instalasi Gentoo minimal adalah root shell dan manajer paket, dan Anda membangun sisa sistem Anda dari sana. Gentoo juga cukup dekat dengan paket upstream, jadi Anda tidak akan mengalami terlalu banyak masalah jika Anda ingin mengunduh dan membuat sendiri beberapa paket (dan faktanya, Anda dapat menambahkannya ke file /etc/portage/package.provided setelah diinstal, dan gunakan sebagai dependensi!)

Jika Anda mencari sistem Linux sekecil mungkin, buatlah kernel Anda sendiri, cabut semua driver dan fitur yang tidak Anda rencanakan untuk digunakan, dan kemudian tambahkan initramfs yang berisi Busybox dengan ukuran yang diperkecil. Hasilnya adalah sistem Linux yang sepenuhnya dapat di-boot dalam satu yang dapat dieksekusi (Anda dapat mengarahkan bootloader Anda), dan Anda dapat memuatnya di bawah 10 MB tanpa mencoba.


Para - para terakhir Anda, saya pikir itu akan menjadi tempat yang baik untuk memulai. Lalu aku akan tahu apa yang ada di sana dan mengapa itu ada di sana, menggunakannya sebagai basis untuk tumbuh.
slashmais

10MB? Anda mungkin dapat melakukannya di bawah 1MB
Falmarri

8

Archlinux menggunakan basis kelompok file untuk sangat minimal menginstal.

Bersama dengan kelompok basis-devel , jika Anda akan melakukan pengembangan sistem apa pun.


3
Di arah yang benar, masih termasuk banyak paket, tapi saya bisa menggunakan apa yang mereka berikan & memotong paket sampai semuanya rusak.
slashmais

Instalasi Arch telah menjadi jauh lebih modular daripada 2010 - berbicara dari memori / tanpa memunculkan instalasi baru, utilitas 'pacstrap' memberi Anda pilihan grup mana yang akan digunakan, termasuk hanya 'basis' atau bahkan mungkin tidak sama sekali (meskipun Saya pikir basis berisi hal-hal sistem). Jika Anda ingin melangkah lebih dalam tetapi masih memiliki distro yang paling jarang digunakan, Slackware mungkin adalah salah satunya.
djvs

Instalasi Arch jauh lebih sedikit modular daripada sebelumnya karena mereka hanya secara resmi mendukung am64 arch, systemd-only untuk init, dll. Namun, saya juga akan merekomendasikan Slackware.
Lucas Ramage

8

Jika Anda benar-benar hanya menginginkan minimal apa itu sistem Linux, Anda dapat mencoba distribusi untuk sistem tertanam seperti router. Mereka biasanya hanya membawa perangkat lunak minimum absolut dan kurangnya antarmuka pengguna grafis membuat Anda terbiasa dengan baris perintah. Salah satu kelemahannya adalah, bahwa seringkali sistem tersebut melanggar konvensi distribusi Linux biasa, misalnya mereka menginstal perangkat lunak di tempat yang tidak biasa atau menggunakan sistem init yang disederhanakan.

Jika Anda ingin mencobanya, Anda dapat mencoba misalnya openwrt di mesin virtual .


Saya dapat menggunakan OpenWrt untuk referensi; Saya akan senang jika Anda dapat menunjukkan situs-situs lain seperti itu. Sudah menggunakan VirtualBox & mereka memiliki panduan noddy untuk menginstal OpenWrt di dalamnya.
slashmais

Mungkin tertanam Debian: emdebian.org
fschmitt


8

Rootfs tunggal yang dapat dieksekusi

Sistem minimum absolut menjalankan satu /initprogram seperti yang saya jelaskan di Single Application Linux | Pengguna Super

Minimal Linux Live

https://github.com/ivandavidov/minimal

Untuk sistem interaktif yang lebih menarik, ini adalah skrip kecil (kebanyakan pendidikan) yang:

  • mengunduh sumber untuk kernel dan busybox
  • kompilasi mereka
  • menghasilkan ISO 8MB bootable dengan mereka

ISO kemudian membuat Anda dalam shell minimal dengan busybox.

Dengan QEMU Anda dapat dengan mudah mem-boot ke sistem.

Saya telah memodifikasinya untuk memungkinkan menjalankannya dari direktori source kernel: https://github.com/cirosantilli/runlinux

Pemakaian:

git clone https://github.com/ivandavidov/minimal
cd minimal/src
./build_minimal_linux_live.sh
# Wait.
# Install QEMU.
# minimal_linux_live.iso was generated
./qemu64.sh

dan Anda akan ditinggalkan di dalam Jendela QEMU dengan Anda sistem minimal baru. Luar biasa.

Karena kecil, ini merupakan pilihan yang baik untuk membaca sumbernya dan memahami apa yang sedang terjadi.

Diuji pada Ubuntu 16.04.

Buildroot

https://buildroot.org/

Kumpulan skrip Makefile besar yang mengelola:

  • GCC toolchain kompilasi lintas silang
  • kompilasi kernel
  • kompilasi bootloader
  • generasi rootfs
  • memiliki banyak paket unduhan / pembuatan resep di pohon sumber, termasuk hal-hal rumit seperti GTK. Ada sistem ketergantungan.

Contoh minimal:

git clone git://git.buildroot.net/buildroot
cd buildroot
git checkout 2016.05
make qemu_x86_defconfig
# Can't use -jN, use `BR2_JLEVEL=2` instead.
BR2_JLEVEL=2 make
# Wait.
# cat board/qemu/x86_64/readme.txt
qemu-system-x86_64 -M pc -kernel output/images/bzImage -drive file=output/images/rootfs.ext2,if=virtio,format=raw -append root=/dev/vda -net nic,model=virtio -net user
# You are now in a shell with BusyBox utilities.

Bahkan memiliki resep untuk membangun X11 dari awal: Bagaimana menginstal X11 pada sistem Linux BuildRoot saya sendiri?

Pertempuran profesional menguji hal-hal yang digunakan oleh beberapa perusahaan besar.

Alpine Linux

https://github.com/gliderlabs/docker-alpine

Distribusi tertanam dengan manajer paket yang menawarkan binari yang dikompilasi dari sebuah situs web.

Lihat juga


1
Saya akhirnya memilih rute LFS. Buat catatan tentang ini & akan segera mengeksplorasi
slashmais

6

Bagaimana tidak ada yang menyebutkan tomsrtbt ? (Linux pada disket 1,44 "tunggal)


terdengar tentang tautan kanan?
slashmais

jangan khawatir - menemukannya
slashmais

4
Siapa yang masih memiliki floppy drive hari ini? ;)
p-static

1
Saya melihat satu sekarang. Tapi saya hanya menggunakannya sekali dalam beberapa tahun saya memiliki PC.
lamcro

3
@ p-statis: Saya menggunakan kotak lama sebagai print-server - masih memiliki floppy drive 8 1/4 inci & saya baru saja mengujinya dengan disket berusia 20 tahun - luar biasa disket masih OK! dengan data yang tidak rusak juga (kode turbo pascal v3 dari masa siswa).
slashmais

4

Anda dapat mencoba Slackware linux. Instalasi berbasis menu akan memungkinkan Anda untuk menginstal sistem yang cukup minimum. Anda dapat dengan mudah meninggalkan halaman manual, X11, Tcl, Emacs dan itu hanya dari instalasi tingkat atas. Anda dapat terjun ke instalasi dan hanya menginstal paket minimal.

Setelah itu, saya akan mengkompilasi ulang kernel khusus untuk mesin yang Anda instal.

Slackware masih merupakan default untuk boot manager Lilo, jadi Anda akhirnya tahu sedikit lebih banyak daripada yang ingin Anda ketahui tentang sektor boot, partisi mana yang ditandai dapat di-boot, apa yang berisi initrd Anda, dll. Daripada untuk distro yang di-boot Grub.


3

Bagi saya, Damn Small Linux mendapat nama untuk "distro Linux sekecil mungkin"! Namun saya mendengar bahwa itu agak dihentikan. Anda juga dapat melihat daftar distribusi serupa (disebut "Mini Linux") di halaman wiki ini .

Jika ruang bukan tujuan Anda, saya akan menyarankan Gentoo atau Arch Linux , keduanya menginstal sistem basis. Anda memilih apa yang akan digunakan dan menginstal paket sesuai dengan kebutuhan Anda.


Bukan ruang - belajar Linux. Saya telah melihat sebagian besar dari mereka, serta LFS, tetapi LFS membuat Anda melakukan / menambah barang dengan, rasanya, tidak cukup penjelasan.
slashmais

3
Jika Anda ingin belajar, Archlinux sangat bagus. The Arch Wiki memiliki BANYAK yang jelas, informasi membantu.
Stefan

sepertinya saya sudah menggeser target setelah Anda melepaskan tembakan, maaf: o
slashmais

2

Yang perlu Anda lakukan adalah mengunduh kernel terbaru dari kernel.org, lakukan make menuconfigdan lihat saja opsi-opsi, dan gunakan itu sebagai titik awal untuk penelitian dan penyelidikan. Anda akan belajar banyak.


"Waktu adalah musuhku." - tidak juga, tapi saya pasti akan melihat saran Anda.
slashmais

0

Anda bisa melihat Puppy Linux . Ini mungkin bukan yang terkecil tetapi memiliki repuasi yang kecil.

Namun distro Linux yang dimaksudkan untuk menjadi kecil umumnya cenderung tetap kecil. Untuk belajar linux, saya akan tinggal di suatu tempat debian. . Saya akan mendapatkan sumber kernel debian, sumber bash dan sumber grub cross compile dan instal. Kemudian cross compile instal editor, apt dan gcc. Kemudian hasilkan daftar paket dari live debian. Instal sumber untuk setiap paket, kompilasi dan instal. Kemudian tambahkan X maka Wm dari pilihan Anda maka Anda memiliki dasar untuk apa yang ingin Anda lakukan.

PS: sumber apt-get memberi Anda sumber untuk paket debian.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.