-
Notifications
You must be signed in to change notification settings - Fork 59
Building MiniOS id
Panduan ini membahas proses lengkap untuk membangun MiniOS, termasuk pembuatan sistem, pengembangan modul, dan opsi konfigurasi lanjutan.
MiniOS menggunakan sistem build modular di mana sistem operasi dibangun dari modul-modul individual dalam format SquashFS. Setiap modul berisi paket perangkat lunak atau komponen tertentu, dan dimuat secara berurutan untuk membentuk sistem yang lengkap.
- Versi terbaru Debian atau Ubuntu untuk proses build
- Ruang disk yang cukup (disarankan: minimal 20GB ruang kosong)
- Koneksi internet untuk mengunduh paket
- Paket yang diperlukan tercantum di
linux-live/prerequisites.list
File prerequisites.list menggunakan format condinapt dengan penanda kondisi. Instal paket yang diperlukan secara manual:
sudo apt-get update
sudo apt-get install sudo binutils debootstrap squashfs-tools xz-utils lz4 zstd xorriso mtools rsync curl
sudo apt-get install grub-efi-amd64-bin grub-pc-binSebagai alternatif, Anda dapat menggunakan condinapt untuk memproses daftar prasyarat jika tersedia di sistem Anda.
MiniOS menyediakan dua alat utama untuk proses build:
Utilitas command-line yang memudahkan konfigurasi dan inisiasi build. Alat ini menyediakan antarmuka yang ramah pengguna untuk mengatur berbagai parameter build:
- Distribusi target (buster, bookworm, trixie, dll.)
- Arsitektur (amd64, i386)
- Lingkungan desktop (core, flux, xfce, lxqt)
- Varian paket (minimum, standard, toolbox, ultra)
- Opsi kernel
- Pengaturan lokal dan zona waktu
Penggunaan:
<a id="build-with-default-configuration"></a>
# Build with default configuration
minios-cmd -d bookworm -a amd64 -de xfce -pv standard
<a id="build-with-custom-options"></a>
# Build with custom options
minios-cmd -d bookworm -a amd64 -de xfce -pv toolbox -c zstd -l en_US -tz "Europe/Prague"Untuk informasi penggunaan lebih detail, lihat dokumentasi minios-cmd.
Skrip build inti yang mengatur proses build langkah demi langkah:
- Menyiapkan lingkungan build
- Menginstal sistem dasar
- Mengintegrasikan lingkungan desktop yang dipilih
- Membuat filesystem SquashFS
- Mengkonfigurasi proses boot
- Menghasilkan image ISO bootable
Penggunaan:
<a id="complete-build"></a>
# Complete build
./minios-live -
<a id="specific-stages"></a>
# Specific stages
./minios-live build-bootstrap
./minios-live build-chroot - build-liveUntuk informasi penggunaan lebih detail, lihat dokumentasi minios-live.
Sistem build MiniOS diorganisasikan sebagai berikut:
minios-live/
├── linux-live/ # Core scripts and build libraries
│ ├── bootfiles/ # Files and templates for booting (GRUB, ISOLINUX, EFI, etc.)
│ ├── environments/ # Environment descriptions and settings
│ ├── initramfs/ # Scripts for creating initramfs
│ ├── scripts/ # Module scripts and templates
│ ├── build-initramfs # Script for separate initramfs build
│ ├── build.conf # Main build configuration file
│ ├── condinapt # Script/tool for working with package lists
│ ├── install-chroot # Script for installing into the chroot environment
│ ├── minioslib # Core Bash function library
│ └── prerequisites.list # List of required packages for installation on the host for building
├── tools/ # Auxiliary build scripts
├── minios-cmd # CLI utility for setting build parameters
└── minios-live # Main script for building MiniOS
Proses build mengikuti urutan tahapan yang terstruktur:
flowchart TD
Start([Start Build]) --> Choice{Choose Tool}
Choice -->|Easy Setup| A([minios-cmd<br/>Configure Parameters])
Choice -->|Advanced Control| B([minios-live<br/>Direct Execution])
A --> A1[Generate build.conf]
A1 --> B
B --> PreCheck{🌐 Internet Check<br/>Network Required}
PreCheck -->|❌ No Internet| NetworkFail[❌ Build Cannot Start<br/>• Check network connection<br/>• Verify DNS resolution<br/>• Configure proxy if needed]
PreCheck -->|✅ Connected| C1
NetworkFail --> PreCheck
C1[build-bootstrap<br/>📦 Create Base System<br/>• Run debootstrap<br/>• Install core packages<br/>• Setup chroot environment]
C1 --> C2[build-chroot<br/>🔧 Configure System<br/>• Install base packages<br/>• Configure settings<br/><br/>]
C2 --> C3[build-live<br/>🗜️ Create Core SquashFS<br/>• Compress base system<br/>• Create 00-core.sb module<br/>• Prepare live environment]
C3 --> C4[build-modules<br/>📚 Build Environment Modules<br/>• Process linked modules<br/>• Create SquashFS files<br/>• Apply conditional packages]
C4 --> C5[build-boot<br/>🥾 Prepare Boot System<br/>• Setup GRUB & ISOLINUX<br/>• Create initramfs<br/>• Configure boot parameters]
C5 --> C6[build-config<br/>⚙️ Generate Boot Configs<br/>• Create menu entries<br/>• Configure live options<br/><br/>]
C6 --> C7[build-iso<br/>💿 Create Final ISO<br/>• Combine all components<br/>• Generate bootable image<br/><br/>]
C7 --> Success([✅ Final ISO Ready<br/>📁 build/iso/])
%% Alternative paths
C1 -.->|Skip to specific stage| C4
C3 -.->|Rebuild modules only| C4
C4 -.->|Update boot only| C5
C6 -.->|Repack ISO only| C7
%% Error handling
C1 --> Error1{Bootstrap Failed?}
Error1 -->|Yes| Fix1[Check network<br/>Verify repositories<br/>Install prerequisites<br/><br/>]
Error1 -->|No| C2
Fix1 --> C1
C4 --> Error2{Module Build Failed?}
Error2 -->|Yes| Fix2[Check package availability<br/>Verify conditions<br/>Review install scripts<br/><br/>]
Error2 -->|No| C5
Fix2 --> C4
%% Styling
classDef processBox fill:#e1f5fe,stroke:#0277bd,stroke-width:2px
classDef choiceBox fill:#fff3e0,stroke:#f57c00,stroke-width:2px
classDef errorBox fill:#ffebee,stroke:#d32f2f,stroke-width:2px
classDef successBox fill:#e8f5e8,stroke:#388e3c,stroke-width:2px
classDef criticalBox fill:#fce4ec,stroke:#c2185b,stroke-width:3px
class C1,C2,C3,C4,C5,C6,C7 processBox
class Choice,PreCheck,Error1,Error2 choiceBox
class Fix1,Fix2 errorBox
class Success successBox
class NetworkFail criticalBox
-
build-bootstrap- Membuat sistem dasar minimal menggunakan debootstrap -
build-chroot- Menginstal paket dan mengkonfigurasi sistem dalam lingkungan chroot -
build-live- Membuat image SquashFS utama dengan sistem inti -
build-modules- Membangun modul SquashFS tambahan untuk perangkat lunak ekstra -
build-boot- Menyiapkan bootloader dan file kernel -
build-config- Menghasilkan file konfigurasi boot -
build-iso- Membuat image ISO bootable final
<a id="full-automated-build"></a>
# Full automated build
./minios-live -
<a id="or"></a>
# or
./minios-live build-bootstrap - build-iso<a id="run-only-bootstrap-stage"></a>
# Run only bootstrap stage
./minios-live build-bootstrap
<a id="run-from-chroot-to-live-stages"></a>
# Run from chroot to live stages
./minios-live build-chroot - build-live
<a id="run-from-modules-to-completion"></a>
# Run from modules to completion
./minios-live build-modules -
<a id="build-only-iso-from-existing-data"></a>
# Build only ISO from existing data
./minios-live build-isoIni adalah file konfigurasi utama yang menentukan:
- Pengaturan distribusi: Distribusi target (buster, bookworm, trixie, sid)
- Arsitektur: amd64, i386, i386-pae (khusus bookworm dan sebelumnya; trixie dan sid hanya mendukung amd64)
- Lingkungan desktop: core, flux, xfce, lxqt
- Varian paket: minimum, standard, toolbox, ultra
- Kompresi: xz, lzo, gz, lz4, zstd
- Pengaturan kernel: tipe, dukungan AUFS, kompilasi DKMS
- Pengaturan lokal: bahasa, zona waktu, layout keyboard
Dibuat secara otomatis selama proses build dan berisi pengaturan runtime khusus untuk lingkungan chroot.
MiniOS mendukung berbagai varian paket yang menentukan perangkat lunak apa saja yang disertakan:
- minimum: Hanya paket esensial
- standard: Aplikasi desktop standar
- toolbox: Alat pengembangan dan utilitas lanjutan
- ultra: Paket perangkat lunak lengkap dengan aplikasi tambahan
Pemilihan paket dikontrol menggunakan penanda kondisi di file packages.list:
<a id="install-only-in-toolbox-and-ultra-variants"></a>
# Install only in toolbox and ultra variants
firefox +pv=toolbox +pv=ultra
<a id="install-only-in-minimum-variant"></a>
# Install only in minimum variant
basic-tool +pv=minimum
Sistem build menggunakan struktur modul bernomor yang terletak di linux-live/scripts/:
00-core/ # Base system packages
01-kernel/ # Linux kernel
02-firmware/ # Hardware firmware
03-gui-base/ # Basic GUI libraries
04-xfce-desktop/ # Desktop environment
05-apps/ # Desktop applications
10-example/ # Example module template
Setiap direktori modul berisi:
-
packages.list: Daftar paket yang akan diinstal dengan penanda kondisi -
install: Skrip Bash yang dijalankan saat build modul -
rootcopy-install/: File yang disalin ke sistem saat build -
rootcopy-postinstall/: File yang disalin setelah instalasi paket -
skip_conditions.conf: Kondisi untuk melewati build modul -
patches/: Patch yang diterapkan sebelum build (tidak tersedia untuk 00-core)
Modul 10-example/ berfungsi sebagai template untuk membuat modul baru. Modul ini berisi:
-
packages.listlengkap dengan contoh penanda kondisi - Skrip
installdasar yang menunjukkan penggunaan condinapt dengan benar - Contoh direktori
rootcopy-install/danrootcopy-postinstall/ - Komentar dokumentasi yang menjelaskan setiap komponen
Untuk membuat modul baru: Salin direktori 10-example dan modifikasi sesuai kebutuhan Anda:
cp -r linux-live/scripts/10-example linux-live/scripts/06-my-moduleTemplate ini digunakan di seluruh dokumentasi ini dan merupakan titik awal terbaik untuk modul kustom.
Sistem modul bekerja melalui konfigurasi lingkungan di linux-live/environments/. Setiap direktori lingkungan berisi symbolic link ke modul-modul yang harus disertakan untuk lingkungan desktop dan varian paket tertentu.
linux-live/environments/
├── core/ # Core system (no desktop)
├── flux/ # Flux desktop environment
├── lxqt/ # LXQt desktop environment
├── xfce/ # XFCE desktop environment
└── xfce-debug/ # XFCE with debug modulesSetiap direktori lingkungan berisi symbolic link ke direktori modul di linux-live/scripts/:
<a id="example-xfce-environment"></a>
# Example: XFCE environment
linux-live/environments/xfce/
├── 01-kernel -> ../../scripts/01-kernel
├── 02-firmware -> ../../scripts/02-firmware
├── 03-gui-base -> ../../scripts/03-gui-base
├── 04-xfce-desktop -> ../../scripts/04-xfce-desktop
├── 05-apps -> ../../scripts/05-apps
└── 06-firefox -> ../../scripts/10-firefoxUntuk membangun modul, gunakan perintah build-modules:
<a id="build-all-unbuilt-modules-for-the-current-environment"></a>
# Build all unbuilt modules for the current environment
./minios-live build-modules
<a id="this-will-build-all-modules-that"></a>
# This will build all modules that:
<a id="1-are-linked-in-the-current-environment-directory"></a>
# 1. Are linked in the current environment directory
<a id="2-havent-been-built-yet"></a>
# 2. Haven't been built yet
<a id="3-meet-the-skip-conditions-if-any"></a>
# 3. Meet the skip conditions (if any)Skrip install di setiap modul:
- Melakukan source
/minioslibuntuk fungsi umum - Melakukan source
/minios_build.confuntuk konfigurasi build - Menyiapkan pilihan debconf untuk konfigurasi paket otomatis
- Melakukan konfigurasi kustom dan modifikasi file
- Menggunakan warna konsol untuk format output
Contoh struktur:
#!/bin/bash
set -e # exit on error
set -o pipefail # exit on pipeline error
set -u # treat unset variable as error
. /minioslib
. /minios_build.conf
SCRIPT_DIR="$(dirname "$(readlink -f "$0")")"
console_colors
<a id="debconf-pre-configurations"></a>
# Debconf pre-configurations
DEBCONF_SETTINGS=(
"package-name package-name/option boolean true"
)
<a id="apply-debconf-settings"></a>
# Apply debconf settings
for SETTING in "${DEBCONF_SETTINGS[@]}"; do
echo "${SETTING}" | debconf-set-selections -v
done
<a id="custom-installation-and-configuration-logic"></a>
# Custom installation and configuration logic
<a id="section"></a>
# ...CondinAPT adalah sistem instalasi paket bersyarat milik MiniOS yang menangani pemilihan paket berdasarkan parameter build seperti lingkungan desktop, distribusi, dan varian paket.
Setiap modul berisi file packages.list dengan spesifikasi paket bersyarat:
<a id="basic-syntax-examples"></a>
# Basic syntax examples
package-name # Always install
package-name +pv=toolbox # Install only for toolbox variant
package-name +de=xfce # Install only for XFCE desktop
package-name -pv=minimum # Install except for minimum variant
preferred-pkg || fallback-pkg # Try first, use second if unavailablePenggunaan standar pada skrip instalasi modul:
<a id="load-minios-library-and-install-packages"></a>
# Load MiniOS library and install packages
. /minioslib || exit 1
/linux-live/condinapt \
-l "$CWD/packages.list" \
-c /linux-live/build.conf \
-m /linux-live/condinapt.mapUntuk dokumentasi CondinAPT yang komprehensif termasuk sintaks lanjutan, filter, priority queue, mode debugging, dan contoh nyata, lihat: CondinAPT.md
-
+pv=variant- Varian paket (minimum, standard, toolbox, ultra) -
+d=distribution- Distribusi (bookworm, trixie, jammy, noble) -
+de=desktop- Lingkungan desktop (core, flux, xfce, lxqt) -
+da=architecture- Arsitektur (amd64, i386) -
+dt=type- Tipe distribusi (debian, ubuntu)
- Clone repositori dan persiapkan:
git clone https://github.com/minios-linux/minios-live.git
cd minios-live- Instal prasyarat:
sudo apt-get update
sudo apt-get install sudo binutils debootstrap squashfs-tools xz-utils lz4 zstd xorriso mtools rsync grub-efi-amd64-bin grub-pc-bin- Build dengan minios-cmd (direkomendasikan):
./minios-cmd -d bookworm -a amd64 -de xfce -pv standard- Atau build dengan minios-live:
./minios-live -- Salin dan edit konfigurasi:
cp linux-live/build.conf linux-live/build-custom.conf
<a id="edit-build-customconf-with-your-preferences"></a>
# Edit build-custom.conf with your preferences- Build dengan konfigurasi kustom:
BUILD_CONF=linux-live/build-custom.conf ./minios-live -Anda dapat membuat lingkungan desktop baru sepenuhnya dengan membuat direktori lingkungan baru dan mengonfigurasi modul yang sesuai. Berikut cara membuat lingkungan GNOME sebagai contoh:
- Buat direktori lingkungan:
mkdir -p linux-live/environments/gnome- Buat modul desktop dasar (04-gnome-desktop):
<a id="start-with-the-example-template-for-a-clean-base"></a>
# Start with the example template for a clean base
cp -r linux-live/scripts/10-example linux-live/scripts/04-gnome-desktop
<a id="configure-gnome-specific-packages"></a>
# Configure GNOME-specific packages
cat > linux-live/scripts/04-gnome-desktop/packages.list << EOF
<a id="base-gnome-desktop-packages"></a>
# Base GNOME desktop packages
gdm3
gnome-shell
gnome-session
gnome-settings-daemon
gnome-control-center
nautilus
gnome-terminal
<a id="standard-gnome-applications"></a>
# Standard GNOME applications
gnome-calculator +pv=standard +pv=toolbox +pv=ultra
gnome-text-editor +pv=standard +pv=toolbox +pv=ultra
eog +pv=standard +pv=toolbox +pv=ultra
evince +pv=standard +pv=toolbox +pv=ultra
<a id="additional-gnome-tools"></a>
# Additional GNOME tools
gnome-tweaks +pv=toolbox +pv=ultra
gnome-extensions-app +pv=toolbox +pv=ultra
dconf-editor +pv=toolbox +pv=ultra
EOF
<a id="create-a-custom-install-script-for-gnome-specific-configuration"></a>
# Create a custom install script for GNOME-specific configuration
cat > linux-live/scripts/04-gnome-desktop/install << 'EOF'
#!/bin/bash
set -e
set -o pipefail
set -u
. /minioslib
. /minios_build.conf
SCRIPT_DIR="$(dirname "$(readlink -f "$0")")"
<a id="install-packages-using-condinapt"></a>
# Install packages using condinapt
/condinapt -l "${SCRIPT_DIR}/packages.list" -c "${SCRIPT_DIR}/minios_build.conf" -m "${SCRIPT_DIR}/condinapt.conf"
if [ $? -ne 0 ]; then
echo "Failed to install packages."
exit 1
fi
<a id="set-gnome-as-default-session"></a>
# Set GNOME as default session
echo 'gnome' > /etc/skel/.dmrc
echo '[Desktop]' > /etc/skel/.dmrc
echo 'Session=gnome' >> /etc/skel/.dmrc
EOF
chmod +x linux-live/scripts/04-gnome-desktop/install- Buat modul aplikasi GNOME (05-gnome-apps):
cp -r linux-live/scripts/10-example linux-live/scripts/05-gnome-apps
cat > linux-live/scripts/05-gnome-apps/packages.list << EOF
<a id="gnome-applications"></a>
# GNOME Applications
gnome-software +pv=standard +pv=toolbox +pv=ultra
gnome-system-monitor +pv=standard +pv=toolbox +pv=ultra
gnome-disk-utility +pv=standard +pv=toolbox +pv=ultra
gnome-screenshot +pv=standard +pv=toolbox +pv=ultra
gnome-calendar +pv=toolbox +pv=ultra
gnome-weather +pv=toolbox +pv=ultra
gnome-maps +pv=ultra
rhythmbox +pv=toolbox +pv=ultra
totem +pv=toolbox +pv=ultra
EOF
<a id="create-a-custom-install-script-for-gnome-applications"></a>
# Create a custom install script for GNOME applications
cat > linux-live/scripts/05-gnome-apps/install << 'EOF'
#!/bin/bash
set -e
set -o pipefail
set -u
. /minioslib
. /minios_build.conf
SCRIPT_DIR="$(dirname "$(readlink -f "$0")")"
<a id="install-packages-using-condinapt-1"></a>
# Install packages using condinapt
/condinapt -l "${SCRIPT_DIR}/packages.list" -c "${SCRIPT_DIR}/minios_build.conf" -m "${SCRIPT_DIR}/condinapt.conf"
if [ $? -ne 0 ]; then
echo "Failed to install packages."
exit 1
fi
<a id="configure-default-applications-for-gnome"></a>
# Configure default applications for GNOME
mkdir -p /etc/skel/.config
<a id="set-default-applications"></a>
# Set default applications
cat > /etc/skel/.config/mimeapps.list << 'MIME_EOF'
[Default Applications]
text/plain=gnome-text-editor.desktop
image/jpeg=eog.desktop
image/png=eog.desktop
application/pdf=evince.desktop
video/mp4=totem.desktop
audio/mpeg=rhythmbox.desktop
MIME_EOF
EOF
chmod +x linux-live/scripts/05-gnome-apps/install- Link modul ke lingkungan GNOME:
<a id="link-base-system-modules-same-for-all-environments"></a>
# Link base system modules (same for all environments)
ln -s ../../scripts/01-kernel linux-live/environments/gnome/01-kernel
ln -s ../../scripts/02-firmware linux-live/environments/gnome/02-firmware
ln -s ../../scripts/03-gui-base linux-live/environments/gnome/03-gui-base
<a id="link-gnome-specific-modules"></a>
# Link GNOME-specific modules
ln -s ../../scripts/04-gnome-desktop linux-live/environments/gnome/04-gnome-desktop
ln -s ../../scripts/05-gnome-apps linux-live/environments/gnome/05-gnome-apps
<a id="link-additional-modules-as-needed"></a>
# Link additional modules as needed
ln -s ../../scripts/10-firefox linux-live/environments/gnome/06-firefox- Konfigurasi build untuk lingkungan GNOME:
<a id="copy-and-modify-build-configuration"></a>
# Copy and modify build configuration
cp linux-live/build.conf linux-live/build-gnome.conf
sed -i 's/DESKTOP_ENVIRONMENT=".*"/DESKTOP_ENVIRONMENT="gnome"/' linux-live/build-gnome.conf
sed -i 's/PACKAGE_VARIANT=".*"/PACKAGE_VARIANT="standard"/' linux-live/build-gnome.conf
<a id="build-the-gnome-system"></a>
# Build the GNOME system
BUILD_CONF=linux-live/build-gnome.conf ./minios-live -Saat membuat lingkungan kustom:
- Modul dasar (01-03): Biasanya sama untuk semua lingkungan
- Modul desktop (04): Berisi paket dan konfigurasi inti desktop environment
- Modul aplikasi (05): Aplikasi khusus desktop
- Modul opsional (06+): Paket perangkat lunak tambahan
Konvensi penamaan modul:
- Gunakan format
04-{desktop}-desktopuntuk modul desktop utama - Gunakan
05-{desktop}-appsatau05-appsuntuk aplikasi - Nomori modul tambahan secara berurutan (06, 07, 08, dst.)
Pertimbangan konfigurasi:
- Setiap lingkungan membutuhkan skip condition yang sesuai di modul
- Paket khusus desktop sebaiknya menggunakan kondisi
+de={environment} - Uji secara menyeluruh dengan berbagai varian paket (minimum, standard, toolbox, ultra)
- Buat modul baru menggunakan template:
cp -r linux-live/scripts/10-example linux-live/scripts/06-custom-module- Edit packages.list:
<a id="edit-linux-livescripts06-custom-modulepackageslist"></a>
# Edit linux-live/scripts/06-custom-module/packages.list
<a id="add-your-packages-with-appropriate-conditional-markers"></a>
# Add your packages with appropriate conditional markers- Kustomisasi skrip install:
<a id="edit-linux-livescripts06-custom-moduleinstall"></a>
# Edit linux-live/scripts/06-custom-module/install
<a id="add-custom-configuration-and-setup-commands"></a>
# Add custom configuration and setup commands- Link modul ke lingkungan Anda:
ln -s ../../scripts/06-custom-module linux-live/environments/xfce/06-custom-module- Build modul-modul:
./minios-live build-modules-
Build gagal dimulai - Koneksi internet diperlukan:
-
Masalah:
minios-livemelakukan pengecekan koneksi internet secara wajib saat startup - Solusi: Pastikan koneksi internet stabil sebelum memulai build
-
Cek: Verifikasi resolusi DNS:
nslookup deb.debian.org - Proxy: Konfigurasi pengaturan proxy jika berada di belakang firewall perusahaan
- Catatan: Build tidak dapat dilanjutkan tanpa akses internet
-
Masalah:
-
Build gagal saat bootstrap:
- Pastikan repository distribusi target tersedia
- Pastikan prasyarat sudah terpasang
- Tes:
wget -q --spider http://deb.debian.org
-
Error saat build modul:
- Cek ketersediaan paket di distribusi target
- Verifikasi sintaks marker kondisional
- Tinjau skrip instalasi untuk mencari error
-
Paket hilang:
- Periksa kondisi condinapt
- Verifikasi nama paket untuk distribusi target
- Tinjau pengaturan varian paket
-
Masalah booting:
- Periksa konfigurasi GRUB
- Verifikasi pembuatan kernel dan initramfs
- Tinjau file bootloader
Aktifkan output debug dengan mengatur tingkat verbosity pada konfigurasi build Anda:
Opsi 1: Edit build.conf
<a id="edit-linux-livebuildconf-and-set"></a>
# Edit linux-live/build.conf and set:
VERBOSITY_LEVEL=2 # Very verbose output with detailed tracing
<a id="or-1"></a>
# or
VERBOSITY_LEVEL=1 # Verbose output (default)
<a id="or-2"></a>
# or
VERBOSITY_LEVEL=0 # Minimal outputOpsi 2: Buat konfigurasi kustom dengan pengaturan debug
cp linux-live/build.conf linux-live/build-debug.conf
sed -i 's/VERBOSITY_LEVEL=.*/VERBOSITY_LEVEL=2/' linux-live/build-debug.conf
<a id="enable-additional-debug-options"></a>
# Enable additional debug options
sed -i 's/DEBUG_SSH_KEYS="false"/DEBUG_SSH_KEYS="true"/' linux-live/build-debug.conf
sed -i 's/DEBUG_SET_ROOT_PASSWORD="false"/DEBUG_SET_ROOT_PASSWORD="true"/' linux-live/build-debug.conf
<a id="build-with-debug-configuration"></a>
# Build with debug configuration
BUILD_CONF=linux-live/build-debug.conf ./minios-live -Tingkat verbosity:
-
0: Output minimal - hanya pesan penting -
1: Output verbose - informasi build standar (default) -
2: Output sangat verbose - pelacakan detail dengan bash debugging aktif
Log build disimpan di:
-
build/log/- Log build umum
- Cek wiki resmi
- Tinjau isu yang sudah ada di GitHub
- Bergabung dengan forum komunitas di minios.dev
- Membuat Modul - Pelajari cara membuat modul SquashFS kustom dengan software tambahan
-
Membangun Ulang ISO - Kemasi ulang sistem live yang sedang berjalan menjadi ISO bootable menggunakan
sb2iso - CondinAPT - Pahami sistem manajemen paket kondisional yang digunakan dalam proses build
🌐 Languages
📋 About MiniOS
🚀 Installation
⚙️ Configuration
🛡️ Administration
🛠️ Development
📋 Über MiniOS
🚀 Installation
- Schnellstartanleitung
- Hardware-Kompatibilität
- MiniOS Installation
- MiniOS Installer
- USB-Erstellungstools
⚙️ Konfiguration
🛡️ Administration
🛠️ Entwicklung
📋 Acerca de MiniOS
🚀 Instalación
- Guía de Inicio Rápido
- Compatibilidad de Hardware
- Instalando MiniOS
- Instalador de MiniOS
- Herramientas para Crear USB
⚙️ Configuración
- Menús de Arranque
- Parámetros de Arranque
- Archivo de Configuración
- Parámetros de live-config
- Gestión de Sesiones
🛡️ Administración
- Lista de Paquetes
- Gestión del Kernel
- Endurecimiento de Seguridad
- Optimización de Rendimiento
- Virtualización
🛠️ Desarrollo
📋 À propos de MiniOS
🚀 Installation
- Guide de démarrage rapide
- Compatibilité matérielle
- Installation de MiniOS
- Programme d’installation MiniOS
- Outils de création USB
⚙️ Configuration
- Menus de démarrage
- Paramètres de démarrage
- Fichier de configuration
- Paramètres live-config
- Gestion de session
🛡️ Administration
- Liste des paquets
- Gestion du noyau
- Renforcement de la sécurité
- Optimisation des performances
- Virtualisation
🛠️ Développement
📋 Tentang MiniOS
🚀 Instalasi
- Panduan Mulai Cepat
- Kompatibilitas Perangkat Keras
- Menginstal MiniOS
- Installer MiniOS
- Alat Pembuatan USB
⚙️ Konfigurasi
🛡️ Administrasi
🛠️ Pengembangan
📋 Informazioni su MiniOS
🚀 Installazione
- Guida Rapida
- Compatibilità Hardware
- Installazione di MiniOS
- Installatore MiniOS
- Strumenti per Creare USB
⚙️ Configurazione
🛡️ Amministrazione
- Elenco Pacchetti
- Gestione Kernel
- Rafforzamento della Sicurezza
- Ottimizzazione Prestazioni
- Virtualizzazione
🛠️ Sviluppo
📋 Sobre o MiniOS
🚀 Instalação
- Guia de Início Rápido
- Compatibilidade de Hardware
- Instalando o MiniOS
- Instalador do MiniOS
- Ferramentas de Criação de USB
⚙️ Configuração
- Menus de Boot
- Parâmetros de Boot
- Arquivo de Configuração
- Parâmetros live-config
- Gerenciamento de Sessão
🛡️ Administração
- Lista de Pacotes
- Gerenciamento de Kernel
- Reforço de Segurança
- Otimização de Desempenho
- Virtualização
🛠️ Desenvolvimento
📋 О MiniOS
🚀 Установка
- Краткое руководство
- Совместимость с оборудованием
- Установка MiniOS
- Установщик MiniOS
- Инструменты для создания USB
⚙️ Конфигурация
🛡️ Администрирование
🛠️ Разработка