| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
This guide will walk you through creating a simple graphical Linux distribution based on BusyBox and Nano-X, adapted to run on QEMU.
Ensure you have a Debian-based system and install the necessary dependencies:
sudo apt update && sudo apt install wget bzip2 libncurses-dev flex bison bc libelf-dev libssl-dev xz-utils autoconf gcc make libtool git vim libpng-dev libfreetype-dev g++ extlinux nanoDownload the Linux Kernel:
wget https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.9.4.tar.xzExtract the Kernel:
tar xf linux-6.9.4.tar.xz
cd linux-6.9.4Configure the Kernel:
make menuconfigCompile the Kernel:
make -j 4Create a Directory for the Distro:
mkdir /distro
cp arch/x86/boot/bzImage /distro/Download BusyBox:
cd ~
wget https://busybox.net/downloads/busybox-1.36.1.tar.bz2Extract BusyBox:
tar xf busybox-1.36.1.tar.bz2
cd busybox-1.36.1Configure BusyBox:
make menuconfigCompile and Install BusyBox:
make -j 4
make CONFIG_PREFIX=/distro installClone MicroWindows:
git clone https://github.com/ghaerr/microwindows
cd microwindows/src/Configure MicroWindows:
cp Configs/config.linux-fb config
nano configCompile MicroWindows:
make -j 4
make install
make x11-demoSet Up a Sample GUI Application:
mkdir x11-demo
cd x11-demo/
nano gui.cCompile the GUI Application:
cd ..
mv x11-demo /distro/
cd /distro/x11-demo/
gcc gui.c -lNX11 -lnano-X -I /microwindows/src/nx11/X11-local/
mv a.out /distro/nirs-test-appCreate Necessary Directories:
mkdir -p /distro/lib/x86_64-linux-gnu/
mkdir /distro/lib64Copy Required Libraries:
cp /lib/x86_64-linux-gnu/libpng16.so.16 /distro/lib/x86_64-linux-gnu/libpng16.so.16
cp /lib/x86_64-linux-gnu/libz.so.1 /distro/lib/x86_64-linux-gnu/libz.so.1
cp /lib/x86_64-linux-gnu/libfreetype.so.6 /distro/lib/x86_64-linux-gnu/libfreetype.so.6
cp /lib/x86_64-linux-gnu/libc.so.6 /distro/lib/x86_64-linux-gnu/libc.so.6
cp /lib/x86_64-linux-gnu/libm.so.6 /distro/lib/x86_64-linux-gnu/libm.so.6
cp /lib/x86_64-linux-gnu/libbrotlidec.so.1 /distro/lib/x86_64-linux-gnu/libbrotlidec.so.1
cp /lib64/ld-linux-x86-64.so.2 /distro/lib64/ld-linux-x86-64.so.2
cp /lib/x86_64-linux-gnu/libbrotlicommon.so.1 /distro/lib/x86_64-linux-gnu/libbrotlicommon.so.1Copy Nano-X Binaries:
cp -r /microwindows/src/bin /distro/nanox
cp /microwindows/src/runapp /distro/nanox/Create and Format the Image:
cd /distro/
truncate -s 200MB boot.img
mkfs boot.img
mkdir mnt
mount boot.img mntInstall Extlinux:
extlinux -i mnt/Copy Files to the Image:
mv bin bzImage lib lib64 linuxrc nanox nirs-test-app sbin usr mntCreate Additional Directories:
cd mnt/
mkdir var etc root dev tmp procUnmount the Image:
cd ..
umount mntWith these steps, you will have created a simple graphical Linux distribution ready to run on QEMU.
| Back | FazBrowse Home | New Git URL |