Загрузка данных


# Установка зависимостей
apk add build-base linux-headers ncurses-dev bc elfutils-dev \
    openssl-dev wget git cdrkit syslinux xorriso

# Скачиваем реальное ядро (LTS)
wget https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.6.40.tar.xz
tar -xpvf linux-*.tar.xz
cd linux-*

# Настройка для Eee PC 2G
ARCH=x86 make defconfig

# Включаем нужные драйверы через menuconfig
ARCH=x86 make menuconfig

# Ключевые опции для Eee PC 2G (Intel Atom N270):
# Device Drivers → 
#   - Graphics support → Intel 915G/G33/965G (CONFIG_DRM_I915)
#   - Sound → ALSA → Intel HD Audio (CONFIG_SND_HDA_INTEL)
#   - Network → Wireless LAN → Intel Wireless WiFi (CONFIG_IWLWIFI)
#   - ATA → ATA/SFF → PATA_ACPI (CONFIG_PATA_ACPI)
#   - Input → Touchscreen → EETI (CONFIG_TOUCHSCREEN_USB_COMPOSITE)

make ARCH=x86 -j$(nproc) bzImage

# Создаём initramfs
cd ..
wget https://dl-cdn.alpinelinux.org/alpine/v3.20/releases/x86/alpine-minirootfs-3.20.3-x86.tar.gz
tar -xpvf alpine-minirootfs-*.tar.gz
cd alpine-minirootfs-*

# Исправленный init с загрузкой модулей
cat << 'EOF' > init
#!/bin/sh
mount -t proc proc /proc
mount -t sysfs sysfs /sys
mount -t devtmpfs devtmpfs /dev
# Загружаем модули для Eee PC
modprobe i915
modprobe snd-hda-intel
modprobe iwlwifi
modprobe pata_acpi
exec /bin/sh
EOF

chmod +x init

# Создаём initramfs
find . -print0 | cpio --null -ov --format=newc | gzip -9 > ../initramfs.img

# Создаём ISO структуру
mkdir -p iso/boot/syslinux
cp ~/distro/linux-*/arch/x86/boot/bzImage ~/distro/iso/boot/vmlinuz
cp ~/distro/initramfs.img ~/distro/iso/boot/initramfs.img

# Копируем syslinux
cp /usr/share/syslinux/isolinux.bin iso/boot/syslinux/
cp /usr/share/syslinux/isohdpfx.bin ./

# Конфиг syslinux
cat << 'EOF' > iso/boot/syslinux/syslinux.cfg
DEFAULT linux
TIMEOUT 5
PROMPT 1

LABEL linux
    KERNEL /boot/vmlinuz
    INITRD /boot/initramfs.img
    APPEND init=/init console=ttyS0,115200 console=tty0
EOF

# Создаём ISO
xorriso -as mkisofs \
    -iso-level 3 \
    -rock -joliet \
    -volid "EeePC_LINUX" \
    -b boot/syslinux/isolinux.bin \
    -c boot/syslinux/boot.cat \
    -no-emul-boot -boot-load-size 4 -boot-info-table \
    -isohybrid-mbr isohdpfx.bin \
    -o eee-pc-linux.iso \
    iso/