Perintah apa yang diperlukan untuk menginstal Ubuntu Core?

18

Halaman halaman wiki Ubuntu Core berisi instruksi untuk menginstal Ubuntu Core pada media target:

  1. Uncompress (tidak unpack) rootfs
  2. Target media Format: setidaknya satu partisi harus menjadi ext2, ext3atauext4
  3. Buka paket Ubuntu Core ke ext{2,3,4}partisi
  4. Instal boot-loader
  5. Instal Linux
  6. Jika kernel Linux membutuhkan modul, tambahkan ini ke /lib/modules/$(uname -r)dalam ext{2,3,4}sistem file
  7. Boot perangkat target
  8. Instal perangkat lunak tambahan yang diperlukan dengan menggunakan apt-get

Tetapi apa perintah khusus untuk melakukan hal di atas? Hal-hal yang saya bingung secara khusus adalah:

  1. Tanpa kompresi dan pembongkaran, apa bedanya dan bagaimana saya melakukannya?
  2. Paket apa yang harus saya instal jika saya ingin kernel generik disediakan dalam instalasi Ubuntu biasa?
  3. Saya tidak akan menginstal driver apa pun yang berhubungan dengan kernel selain dari yang disediakan dalam repo, apakah saya perlu khawatir menambahkan modul kernel secara manual?

PS Saya ingin meminta agar semua perintah yang digunakan dalam proses instalasi disebutkan dalam jawaban, untuk kepentingan orang-orang yang sama sekali asing dan saya sendiri, yang harus saya lupakan.

Oxwivi
sumber

Jawaban:

19

Semua perintah itu membutuhkan hak admin. Paling mudah adalah melakukan sudo suuntuk mendapatkan konsol root.

  1. Arsip seperti inti .tar.gz Anda (ini oneiric, beta tepatnya ada di sini ) digabungkan dalam satu file (dikemas) dan ukurannya dikurangi (dikompresi).

    gzip -d ubuntu-core-11.10-core-i386.tar.gz

    akan mengompres inti ke ubuntu-core-11.10-core-i386.tar (no .gz lagi; satu file besar).

  2. Untuk mempartisi perangkat untuk core, paling mudah menggunakan alat grafis seperti gparted. Ketika itu tidak tersedia. Lihat di sini . Singkatnya - dengan asumsi Anda ingin mempartisi perangkat / dev / hda:

    fdisk /dev/sdalalu tekan n p 1 <Return> <Return> a 1 w(untuk detailnya lihat tautan).

    Ini menciptakan partisi / dev / sda1.

    mkfs.ext4 /dev/sda1

    Ini menciptakan sistem file ext4 pada partisi baru. Anda tentu saja dapat menggunakan mkfs.ext3, mkfs.ext2juga.

    Pasang: mount /dev/sda1 /mntdan pergi ke sanacd /mnt

  3. tar -xf /path/to/where/you/put/ubuntu-core-11.10-core-i386.tar

    akan membongkar inti (banyak file).

  4. grub-install --root-directory=/mnt /dev/sda

    akan menginstal bootloader (ini tentu saja hanya satu dari banyak opsi).

  5. cp /etc/resolv.conf /mnt/etc/resolv.conf

    akan memungkinkan akses jaringan setelah chroot-ing (dalam langkah 7) dengan menyalin konfigurasi resolver DNS

  6. for f in /sys /proc /dev ; do mount --rbind $f /mnt/$f ; done ; chroot /mnt

    akan pergi ke chroot, lihat Apakah ada cara yang lebih mudah untuk chroot daripada mengikat-mount? untuk detail tentang mount rbind

  7. apt-get update && apt-get install linux-{headers,image}-generic

    akan menginstal kernel ("linux")

    Catatan: mungkin saja itu apt-get updatetidak akan berfungsi karena tidak ada jaringan.

  8. reboot dan kamu baik untuk pergi.

Saya belum punya mesin untuk menguji ini sehingga jawabannya mungkin tidak akan lengkap. Saya akan mengubah jawaban saya jika Anda menemukan masalah.

turbo
sumber
Saya kira saya dapat membuat pengguna menggunakan chrootlingkungan?
Oxwivi
Ya tentu saja! Ingatlah untuk menggunakan yang adduserbertentangan useraddkarena itu lebih nyaman.
turbo
1
Saya tidak akan dapat segera mencoba ini juga, tapi saya menerimanya, karena sepengetahuan saya, ini akan bekerja dengan sempurna. Saya akan berkomentar dan mengedit jika saya menemukan masalah.
Oxwivi
1
Panduan luar biasa. Saya menemukan ini sebagai proses yang lebih mudah daripada yang ada di wiki Ubuntu di sini: wiki.ubuntu.com/Core/InstallationExample.Namun begitu saya selesai, saya tidak bisa login sebagai pengguna normal, atau bahkan su ke pengguna normal dari root . Saya mendapat kesalahan "Tidak dapat menjalankan / bin / bash: Izin ditolak", dan "pengguna tidak dikenal ke modul otentikasi yang mendasarinya". Masalahnya adalah direktori root (/) tidak membaca atau mengeksekusi izin untuk grup atau lainnya. Berjalan chmod go+rx /sebagai root memperbaiki masalah ini. Sesuatu yang harus diperhatikan!
Alex
@turbo Setiap langkah Anda menjelaskan apa fungsinya. Kecuali untuk langkah lima "Pergi ke chroot:" tidak menjelaskan apa yang Anda lakukan di sini. Bisakah Anda jelaskan?
Pro Backup
2

Anda juga dapat memeriksa ini untuk menginstal Ubuntu Core ke stik USB

Ubuntu Core memberi kami startup yang bagus untuk bermain dengan Linux. Ini menghemat banyak waktu untuk membangun rootfs, yang mungkin membutuhkan banyak upaya untuk bekerja.

Mungkin ada banyak cara untuk bermain dengan rootfs. Yang paling sederhana adalah menggunakan chroot untuk sementara beralih ke Ubuntu Core. Sebagian besar utilitas yang Anda kenal harusnya berfungsi. Tetapi jaringan tidak boleh, karena sebenarnya tidak ada konfigurasi jaringan. Baik devfs maupun sysfs dibuat, begitu banyak utilitas yang bergantung pada antarmuka inode kernel yang seharusnya tidak berfungsi.

Namun masih mungkin untuk menginstal paket ke root Ubuntu Core.

Contoh Instalasi

Instal Ubuntu Core rootfs dan gambar kernel.

sudo bash
cd / media / duzy / Root
tar xzvf ~ / Downloads / ubuntu-core-15.10-core-amd64.tar.gz
cp -vf /boot/vmlinuz-4.*-generic / media / duzy / Boot
cp -vf /boot/initrd.img-4.*-generic / media / duzy / Boot
useradd --root / media / duzy / Root -s '/ bin / bash' -m duzy
passwd --root / media / duzy / Root duzy
Masukkan kata sandi UNIX baru: ......
Ketik ulang kata sandi UNIX baru: ......
cp /etc/resolv.conf /media/duzy/Root/resolv.conf
untuk s di proc sys dev; lakukan mount --rbind / dev / media / duzy / Root / $ s; selesai
chroot / media / duzy / Root
pembaruan apt-get

Instal grub ( grub-instal )

sudo grub-install --boot-directory=/media/duzy/Boot /dev/sdf  
sudo grub-mkconfig -o /media/duzy/Boot/grub/grub.cfg  

Uji USB dengan KVM ( tautan )

kvm -hdb /dev/sde # NOT the partition (/dev/sde1)!  

Atau tes dengan VirtualBox

VBoxManage internalcommands createrawvmdk -filename VirtualBox/usbdisk.vmdk -rawdisk /dev/sde
Duzy Chan
sumber