Update README.md
This commit is contained in:
parent
090cce1223
commit
5886f8c991
69
README.md
69
README.md
@ -1,2 +1,69 @@
|
||||
# minimal-script
|
||||
One script which generates live Linux ISO image with minimal efforts. Based on the first published version of "Minimal Linux Live: http://minimal.linux-bg.org
|
||||
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](http://github.com/ivandavidov/minimal). All comments and empty lines have been removed and the original script code has been slightly altered to reduce the overall script length.
|
||||
|
||||
The script below uses **Linux kernel 3.15.6** and **BusyBox 1.22.1**. If you are using [Ubuntu](http://ubuntu.com) or [Linux Mint](http://linuxmint.com), you should be able to resolve all build dependencies by executing the following command:
|
||||
|
||||
```
|
||||
sudo apt-get install wget bc build-essential gawk syslinux genisoimage
|
||||
```
|
||||
|
||||
After that simply run the below script. In the end you should have a bootable ISO image named `minimal_linux_live.iso` in the same directory where you executed the script.
|
||||
|
||||
```
|
||||
rm -rf work
|
||||
mkdir work
|
||||
cd work
|
||||
rm -f linux-3.15.6.tar.xz
|
||||
wget http://kernel.org/pub/linux/kernel/v3.x/linux-3.15.6.tar.xz
|
||||
rm -rf kernel
|
||||
mkdir kernel
|
||||
tar -xvf linux-3.15.6.tar.xz -C kernel
|
||||
cd kernel/linux-3.15.6
|
||||
make clean defconfig vmlinux
|
||||
cd ../..
|
||||
rm -f busybox-1.22.1.tar.bz2
|
||||
wget http://busybox.net/downloads/busybox-1.22.1.tar.bz2
|
||||
rm -rf busybox
|
||||
mkdir busybox
|
||||
tar -xvf busybox-1.22.1.tar.bz2 -C busybox
|
||||
cd busybox/busybox-1.22.1
|
||||
make clean defconfig
|
||||
sed -i "s/.*CONFIG_STATIC.*/CONFIG_STATIC=y/" .config
|
||||
make busybox install
|
||||
rm -rf ../../rootfs
|
||||
cp -R _install ../../rootfs
|
||||
cd ../../rootfs
|
||||
rm -f linuxrc
|
||||
mkdir dev etc proc sys tmp
|
||||
cd etc
|
||||
echo > welcome.txt
|
||||
echo ' #####################################' >> welcome.txt
|
||||
echo ' # #' >> welcome.txt
|
||||
echo ' # Welcome to "Minimal Linux Live" #' >> welcome.txt
|
||||
echo ' # #' >> welcome.txt
|
||||
echo ' #####################################' >> welcome.txt
|
||||
echo >> welcome.txt
|
||||
cd ..
|
||||
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 'cat /etc/welcome.txt' >> init
|
||||
echo 'while true' >> init
|
||||
echo 'do' >> init
|
||||
echo ' setsid cttyhack /bin/sh' >> init
|
||||
echo 'done' >> init
|
||||
echo >> init
|
||||
chmod +x init
|
||||
rm -f ../rootfs.cpio.gz
|
||||
cd ../rootfs
|
||||
find . | cpio -H newc -o | gzip > ../rootfs.cpio.gz
|
||||
rm -f ../../minimal_linux_live.iso
|
||||
cd ../kernel/linux-3.15.6
|
||||
make isoimage FDINITRD=../../rootfs.cpio.gz
|
||||
cp arch/x86/boot/image.iso ../../../minimal_linux_live.iso
|
||||
cd ../../..
|
||||
```
|
||||
|
||||
Note that this produces very small live Linux OS with almost no useful functionality (apart from working shell) and no proper network support. The network support has been handled properly in the [Minimal Linux Live](http://github.com/ivandavidov/minimal) project which is extensively documented and more feature rich, yet still produces very small live Linux ISO image.
|
||||
|
Loading…
x
Reference in New Issue
Block a user