All Projects → ivandavidov → Minimal Linux Script

ivandavidov / Minimal Linux Script

Licence: gpl-3.0
One script which generates live Linux ISO image with minimal effort. Based on the first published version of Minimal Linux Live: http://github.com/ivandavidov/minimal

Programming Languages

shell
77523 projects

Projects that are alternatives of or similar to Minimal Linux Script

Minimal
Minimal Linux Live (MLL) is a tiny educational Linux distribution, which is designed to be built from scratch by using a collection of automated shell scripts. Minimal Linux Live offers a core environment with just the Linux kernel, GNU C library, and Busybox userland utilities.
Stars: ✭ 1,014 (+533.75%)
Mutual labels:  operating-system, linux-kernel, minimal
Lowlevelprogramming University
How to be low-level programmer
Stars: ✭ 7,224 (+4415%)
Mutual labels:  linux-kernel, operating-system
natick
natickOS - A minimal, lightweight, research Linux Distribution
Stars: ✭ 33 (-79.37%)
Mutual labels:  minimal, linux-kernel
OpenHarmony
华为鸿蒙分布式操作系统(Huawei OpenHarmony)开发技术交流,鸿蒙技术资料,手册,指南,共建国产操作系统万物互联新生态。
Stars: ✭ 373 (+133.13%)
Mutual labels:  linux-kernel, operating-system
Raspberry Pi Os
Learning operating system development using Linux kernel and Raspberry Pi
Stars: ✭ 11,000 (+6775%)
Mutual labels:  operating-system, linux-kernel
.codebits
📚 List of resources for Algorithms and Data Structures in Python & other CS topics @2017
Stars: ✭ 144 (-10%)
Mutual labels:  operating-system
Interview
Android、Java程序员面试资源总结,涉及Java、Android、网络、操作系统、算法等
Stars: ✭ 150 (-6.25%)
Mutual labels:  operating-system
Khook
Linux Kernel hooking engine (x86)
Stars: ✭ 144 (-10%)
Mutual labels:  linux-kernel
Q Operating System
Q OS is a versatile operating system designed with the new features of 64 bit "long mode" CPU's in mind that focuses on making everything as simple as possible for the end user
Stars: ✭ 142 (-11.25%)
Mutual labels:  operating-system
S
the s shell
Stars: ✭ 158 (-1.25%)
Mutual labels:  minimal
Generate kernel uboot project foride
Generate filelist and slickedit for the compiled source file and depend header file for Linux Kernel and U-boot
Stars: ✭ 152 (-5%)
Mutual labels:  linux-kernel
Learning Nvdla Notes
NVDLA is an Open source DL/ML accelerator, which is very suitable for individuals or college students. This is the NOTES when I learn and try. Hope THIS PAGE may Helps you a bit. Contact Me:[email protected]
Stars: ✭ 150 (-6.25%)
Mutual labels:  linux-kernel
Core Os Riscv
🖥️ An xv6-like operating system on RISC-V with multi-core support. Documentation available online.
Stars: ✭ 144 (-10%)
Mutual labels:  operating-system
Barge Os
Yet another lightweight Linux distribution for Docker containers
Stars: ✭ 151 (-5.62%)
Mutual labels:  linux-kernel
Neu Os
Based on linux0.11, break it down, then reassemble (For NEU Lab use)
Stars: ✭ 143 (-10.62%)
Mutual labels:  operating-system
Escape
Escape is a UNIX-like microkernel operating system that runs on x86, x86_64, ECO32 and MMIX.
Stars: ✭ 154 (-3.75%)
Mutual labels:  operating-system
Hugo Theme Console
A minimal, responsive and light theme for Hugo inspired by Linux console.
Stars: ✭ 143 (-10.62%)
Mutual labels:  minimal
Shelby
Shelby is a fast ⚡️ , lightweight ☁️ , minimal✨, shell prompt written in Go.
Stars: ✭ 148 (-7.5%)
Mutual labels:  minimal
Ebooks
A repository for ebooks, including C, C plus plus, Linux Kernel, Compiler, OS, Algorithm, Security, Database, Network, ML and DL
Stars: ✭ 151 (-5.62%)
Mutual labels:  linux-kernel
Productive Twitter
Chrome extension: Minimal and friendly theme for productive twitter use
Stars: ✭ 148 (-7.5%)
Mutual labels:  minimal

Minimal Linux Script

One script which generates fully functional live Linux ISO image with minimal effort. This is based on the first published version of Minimal Linux Live with some improvements taken from the next releases. All empty lines and comments have been removed and the script has been modified to reduce the overall length.

The script below uses Linux kernel 4.19.12, BusyBox 1.29.3 and Syslinux 6.03. The source bundles are downloaded and compiled automatically. If you are using Ubuntu or Linux Mint, you should be able to resolve all build dependencies by executing the following command:

sudo apt install wget make gawk gcc bc bison flex xorriso libelf-dev libssl-dev

After that simply run the below script. It doesn't require root privileges. In the end you should have a bootable ISO image named minimal_linux_live.iso in the same directory where you executed the script.

wget http://kernel.org/pub/linux/kernel/v4.x/linux-4.19.12.tar.xz
wget http://busybox.net/downloads/busybox-1.29.3.tar.bz2
wget http://kernel.org/pub/linux/utils/boot/syslinux/syslinux-6.03.tar.xz
mkdir isoimage
tar -xvf linux-4.19.12.tar.xz
tar -xvf busybox-1.29.3.tar.bz2
tar -xvf syslinux-6.03.tar.xz
cd busybox-1.29.3
make distclean defconfig
sed -i "s|.*CONFIG_STATIC.*|CONFIG_STATIC=y|" .config
make busybox install
cd _install
rm -f linuxrc
mkdir dev proc sys
echo '#!/bin/sh' > init
echo 'dmesg -n 1' >> init
echo 'mount -t devtmpfs none /dev' >> init
echo 'mount -t proc none /proc' >> init
echo 'mount -t sysfs none /sys' >> init
echo 'setsid cttyhack /bin/sh' >> init
chmod +x init
find . | cpio -R root:root -H newc -o | gzip > ../../isoimage/rootfs.gz
cd ../../linux-4.19.12
make mrproper defconfig bzImage
cp arch/x86/boot/bzImage ../isoimage/kernel.gz
cd ../isoimage
cp ../syslinux-6.03/bios/core/isolinux.bin .
cp ../syslinux-6.03/bios/com32/elflink/ldlinux/ldlinux.c32 .
echo 'default kernel.gz initrd=rootfs.gz' > ./isolinux.cfg
xorriso \
    -as mkisofs \
    -o ../minimal_linux_live.iso \
    -b isolinux.bin \
    -c boot.cat \
    -no-emul-boot \
    -boot-load-size 4 \
    -boot-info-table \
    ./
cd ..

Note that this script produces very small live Linux OS with working shell only and no network support. The network functionality has been implemented properly in the Minimal Linux Live project which is extensively documented and more feature rich, yet still produces very small live Linux ISO image.

If you find this project useful, you can treat me to lunch via PayPal donation. Thank you!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].