• Stars
    star
    221
  • Rank 179,773 (Top 4 %)
  • Language
    Shell
  • License
    GNU General Publi...
  • Created over 8 years ago
  • Updated over 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

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

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.

More Repositories

1

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.
HTML
1,516
star
2

dist-get

"dist-get" is the successor of the Ultilex project. It allows you to create and manage set of live Linux distributions in easy way, with just few console commands.
Shell
10
star
3

myfire

MyFire is simple, powerful and stable Linux firewall based on iptables and ipset.
Shell
9
star
4

Eclipse-Equinox-OSGi-p2-Tutorial

Eclipse Equinox OSGi p2 tutorial with samples for the publisher and the director applications.
Batchfile
6
star
5

nvo

NVO charts (website)
Java
4
star
6

baud

Helper application to generate useful data about Bulgarian mutual funds.
Java
3
star
7

learn-bosh2

Shell scripts which configure bosh-lite VM (by using bosh CLI v2) and deploy simple web server (nWeb). The scripts and the nWeb release have been designed with simplicity in mind and you can easily reverse engineer the structural dependencies.
Shell
2
star
8

android-rss-readers

This project hosts the source code for few Android RSS reader applications.
Java
1
star
9

nodemcu

NodeMCU - ESP8266
Lua
1
star
10

windows-lan-shutdown

Set of cmd files which allow you to shutdown Windows machine remotely via LAN by deleting a flag file.
Batchfile
1
star
11

nweb-release

BOSH release for the 'nWeb' web server
C
1
star
12

bosh-release-flasher

Shell tool for fast generation of BOSH releases.
Shell
1
star
13

go-lang

Experiments and tests with the 'Go' programming language
Go
1
star
14

microbit

Experiments with micro:bit (http://microbit.org)
JavaScript
1
star