Initial commit
This commit is contained in:
commit
b2ca9d9145
|
@ -0,0 +1,3 @@
|
|||
#!/usr/bin/env bash
|
||||
export BD="$(dirname "$(realpath -s "$BASH_SOURCE")")"
|
||||
export PATH="$BD/path:$PATH"
|
|
@ -0,0 +1,2 @@
|
|||
#!/usr/bin/env bash
|
||||
sudo apt install git build-essential flex bison libncurses-dev qemu-system-x86 syslinux
|
|
@ -0,0 +1,39 @@
|
|||
#!/usr/bin/env bash
|
||||
set -e
|
||||
cd "$BD"
|
||||
bbver="1.33.1"
|
||||
mkdir -p initrd
|
||||
cd initrd
|
||||
wget "https://busybox.net/downloads/busybox-$bbver.tar.bz2"
|
||||
tar -xvf "busybox-$bbver.tar.bz2"
|
||||
cd "busybox-$bbver"
|
||||
make allnoconfig
|
||||
|
||||
make menuconfig
|
||||
# Settings > Build static binary (no shared libs)
|
||||
# Coreutils > chroot, sleep, mkdir
|
||||
# Linux Module Utilities > modprobe
|
||||
# Linux System Utilities > switch_root
|
||||
# Shells > ash, Optimize for size instead of speed
|
||||
|
||||
make
|
||||
make install
|
||||
mkdir -p ../fs
|
||||
mv _install/. ../fs
|
||||
cd ../fs
|
||||
mkdir -p "proc" "sys" "lib/modules"
|
||||
#sudo mknod -m 644 "dev/console" c 5 1
|
||||
#sudo mknod -m 644 "dev/null" c 1 3
|
||||
|
||||
echo '#!/bin/sh
|
||||
mkdir -p /proc /sys /mnt/root
|
||||
mount -t proc none /proc
|
||||
mount -t sysfs none /sys
|
||||
modprobe ata_generic
|
||||
modprobe vfat
|
||||
sleep 5
|
||||
mount "/sys/dev/block/8:1" /mnt/root
|
||||
exec switch_root /mnt/root /sbin/init
|
||||
' >"bin/init"
|
||||
chmod +x "bin/init"
|
||||
find . | cpio -H newc -o | gzip -9 > ../rootfs.cpio.gz # use XZ instead?
|
|
@ -0,0 +1,18 @@
|
|||
#!/usr/bin/env bash
|
||||
set -e
|
||||
cd "$BD"
|
||||
git clone --depth=1 https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
|
||||
cd linux
|
||||
make tinyconfig
|
||||
|
||||
make menuconfig
|
||||
# General Setup > Initial RAM filesystem and RAM disk (initramfs/initrd)
|
||||
# General Setup > Configure standard kernel features (expert users) > Enable support for printk
|
||||
# Processor type and features > Processor family > 486
|
||||
# Device Drivers > Character devices > Enable TTY
|
||||
# Executable file formats > Kernel support for ELF binaries
|
||||
# Executable file formats > Kernel support for scripts starting with #!
|
||||
# CONFIG_ATA_GENERIC
|
||||
|
||||
make bzImage
|
||||
mv arch/x86/boot/bzImage .
|
Loading…
Reference in New Issue