Proyek ini memungkinkan Anda untuk membangun distro linux dari awal
Kami membutuhkan beberapa dependensi jadi instal ini
sudo apt get install bzip2 git vim make gcc libncurses-dev flex bison bc cpio libelf-dev libssl-dev syslinux dosfstools
Sekarang kita perlu mengkloning kernel linux dan mengeditnya
git clone --depth 1 https://github.com/torvalds/linux.git
sekarang ubah ke direktori Linux
cd linux
Sekarang kita perlu mengedit kernel dengan mengedit opsi ini akan membuka menu interaktif
make menuconfig
Pastikan 64 bit kernel (NEW) dipilih
Kemudian setelah membuat menuconfig jika Anda memiliki lebih banyak inti dari 6 daripada yang dapat Anda buat lebih dari 6 seperti saya memiliki 8 core
make -j 8
Setelah kenel selesai menyusun (momen gentoo) Anda akan melihat pesan dengan bZimage , buat direktori bernama boot-files
mkdir /boot-files
Kemudian salin bZimage ke direktori boot-files
cp arch/x86/boot/bzImage /boot-files
bzImage adalah file untuk mem -boot CD sistem kembali
cd ..
Sekarang klon BusyBox
git clone --depth 1 https://git.busybox.net/busybox
Kemudian masukkan Direktori busybox
cd busybox
Kemudian buat menuconfig
make menuconfig
Pergi ke settings > Build static binary (no shared libs) (NEW) Pilih sekarang Simpan, alasan kami membuat static build adalah karena kami tidak ingin biner eksternal sekarang dengan jumlah inti yang telah Anda jalankan make -j <cores> seperti misalnya misalnya
make -j 8
Setelah BusyBox selesai mengkompilasi, buat initramds
mkdir /boot-files/initramfs
sekarang jalankan
make CONFIG_PREFIX=/boot-files/initramfs install
initramfs adalah sistem file awal yang dimuat kernel setelah booting kami akan meletakkan kotak sibuk di sana sekarang pindah ke folder itu
cd /boot-files/initramfs/
Sekarang buat file yang disebut init
nano init
Sekarang tambahkan perintah ini untuk init
#!/bin/sh
/bin/sh
Sekarang simpan sekarang hapus linuxrc tidak perlu file itu
rm linuxrc
Sekarang tambahkan izin eksekutif ke init
chmod +x init
sekarang temukan lalu kemas ke arsip .cpio
find . | cpio -o -H newc > ../init.cpio
-o berarti membuat arsip baru sekarang pergi 1 dir kembali
cd ..
Sekarang file telah dibuat menggunakan ls untuk melihatnya, tetapi kami akan menggunakan bootloader yang disebut syslinux membuat bootfile
dd if=/dev/zero of=boot bs=1M count=50
Ini akan membuat file yang 50-100 megabyte dan akan diisi dengan nol kami akan menggunakan sistem file fat
mkfs -t fat boot
lalu jalankan
syslinux boot
Sekarang buat direktori menelepon apa pun kecuali untuk keselamatan kita akan menggunakan m kemudian memasang boot ke m
mkdir m
mount boot m
Kemudian salin kernel dan initramfs ke boot fs
cp bzImage init.cpio m
sekarang membongkar itu
unmount m
Sekarang gambar boot sudah siap jadi kami akan mem -bootnya
qemu-system-x86_64 boot
syslinux akan boot dan akan menanyakan file apa yang akan digunakan boot
/bzImage -initrd=init.cpio
Tautan DFS GUI DFS For Embedded Devices