From d3026a09ca53a56adcbd5e78113d30a4217738ef Mon Sep 17 00:00:00 2001 From: Harshit Raghuvanshi Date: Sun, 16 Jul 2017 23:26:21 +0530 Subject: [PATCH 1/4] Information update --- README.md | 41 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 40 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 51a5c0e..8b5394e 100644 --- a/README.md +++ b/README.md @@ -1 +1,40 @@ -# MIT-Linux \ No newline at end of file +# MIT-Linux + +## Overview +MIT-Linux, based on linux mint 18.2, is a linux distribution which aims for better out-of-the box experience for students, especially in college. +This distribution has most of the important college related applications pre-installed. Students, as well as professors, will find it easier to use. + +## Installed apps + +⋅⋅* VLC Media Player +⋅⋅* Gimp +⋅⋅* GParted +⋅⋅* PlayOnLinux +⋅⋅* Google Chrome/Chromium +⋅⋅* Steam +⋅⋅* calibre +⋅⋅* cantor +⋅⋅* celestia-gnome +⋅⋅* chemtool +⋅⋅* dia-gnome +⋅⋅* fritzing +⋅⋅* inkscape +⋅⋅* kalzium +⋅⋅* kmplot +⋅⋅* ktouch +⋅⋅* kturtle +⋅⋅* laby +⋅⋅* lightspeed +⋅⋅* lybniz +⋅⋅* marble +⋅⋅* melting +⋅⋅* pencil +⋅⋅* rocs +⋅⋅* step +⋅⋅* yorick + + + +## Downloads + +Downloads will be available under releases From e2e22bb29cfac537cbd80749fd842d43d8448bba Mon Sep 17 00:00:00 2001 From: Harshit Raghuvanshi Date: Sun, 16 Jul 2017 23:28:20 +0530 Subject: [PATCH 2/4] Add to list --- README.md | 52 ++++++++++++++++++++++++++-------------------------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/README.md b/README.md index 8b5394e..3c78d72 100644 --- a/README.md +++ b/README.md @@ -6,32 +6,32 @@ This distribution has most of the important college related applications pre-ins ## Installed apps -⋅⋅* VLC Media Player -⋅⋅* Gimp -⋅⋅* GParted -⋅⋅* PlayOnLinux -⋅⋅* Google Chrome/Chromium -⋅⋅* Steam -⋅⋅* calibre -⋅⋅* cantor -⋅⋅* celestia-gnome -⋅⋅* chemtool -⋅⋅* dia-gnome -⋅⋅* fritzing -⋅⋅* inkscape -⋅⋅* kalzium -⋅⋅* kmplot -⋅⋅* ktouch -⋅⋅* kturtle -⋅⋅* laby -⋅⋅* lightspeed -⋅⋅* lybniz -⋅⋅* marble -⋅⋅* melting -⋅⋅* pencil -⋅⋅* rocs -⋅⋅* step -⋅⋅* yorick +* VLC Media Player +* Gimp +* GParted +* PlayOnLinux +* Google Chrome/Chromium +* Steam +* calibre +* cantor +* celestia-gnome +* chemtool +* dia-gnome +* fritzing +* inkscape +* kalzium +* kmplot +* ktouch +* kturtle +* laby +* lightspeed +* lybniz +* marble +* melting +* pencil +* rocs +* step +* yorick From 76c48d66c37428b13e58b4640f7966e57f08c2dd Mon Sep 17 00:00:00 2001 From: Harshit Raghuvanshi Date: Sun, 16 Jul 2017 23:30:54 +0530 Subject: [PATCH 3/4] Add Download link --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 3c78d72..10ba45e 100644 --- a/README.md +++ b/README.md @@ -37,4 +37,5 @@ This distribution has most of the important college related applications pre-ins ## Downloads -Downloads will be available under releases +Downloads will be available under [releases](https://github.com/MUSoC/MIT-Linux/releases "Downloads") + From ae75f1ced3f5085bf39220db4d69b1f149d2fcf9 Mon Sep 17 00:00:00 2001 From: Harshit Raghuvanshi Date: Sun, 16 Jul 2017 23:54:56 +0530 Subject: [PATCH 4/4] Add how-to --- HOW-TO.md | 103 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 103 insertions(+) create mode 100644 HOW-TO.md diff --git a/HOW-TO.md b/HOW-TO.md new file mode 100644 index 0000000..de6296d --- /dev/null +++ b/HOW-TO.md @@ -0,0 +1,103 @@ +# HOW TO + +This part will explain on how to edit your own LiveCD +NOTW: we will take mit-linux.iso as the name of ISO use. Change it with whatever file name you are using + +### Create a folder and mount the iso +For doing so, we will execute the following command +``` +mkdir mnt +sudo mount -o loop mit-linux.iso mnt +``` + +### Copy the contents to another folder +Here, we will copy the contents to another folder named extraxt to use for editing +``` +mkdir extract +sudo rsync --exclude=/casper/filesystem.squashfs -a mnt/ extract +``` + +### Extract and copy the file system +We will need to extract the filesystem to use as environment for editing +``` +sudo unsquashfs mnt/casper/filesystem.squashfs +sudo mv squashfs-root edit +``` + +### Enable internet access +We will need internet connection for various file transfers and installations +for that, we need to copy /etc/resolv.conf and mount /dev +``` +sudo cp /etc/resolv.conf edit/etc/ +sudo mount --bind /dev/ edit/dev +``` + +### Create chroot environment +A chroot environment is where all the magic happens. You can boot into filesystem and modify using command line +``` +sudo chroot edit +``` + +### Mount important directories +Without saying, you will need these directories for proper functioning +``` +mount -t proc none /proc +mount -t sysfs none /sys +mount -t devpts none /dev/pts +export HOME=/root +export LC_ALL=C +dbus-uuidgen > /var/lib/dbus/machine-id +dpkg-divert --local --rename --add /sbin/initctl +ln -s /bin/true /sbin/initctl + +``` + +### Do the magic +This is where all the magic happens. Install/remove apps, change setting, wallpapers, etc. + +### Cleanup +We now need to cleanup the temporary files created by the magic we did +for doing so, following commands will help +``` +apt-get autoremove && apt-get autoclean +rm -rf /tmp/* ~/.bash_history +rm /var/lib/dbus/machine-id +rm /sbin/initctl +dpkg-divert --rename --remove /sbin/initctl +``` +### Unmount directories +We will have to now unmount the directoried we previously mounted +``` +umount /proc || umount -lf /proc +umount /sys +umount /dev/pts +exit +``` +NOTE: the exit command exits you from the chroot environment +``` +sudo umount edit/dev +``` + +### Packing the filesystem +``` +sudo chmod +w extract/casper/filesystem.manifest +sudo chroot edit dpkg-query -W --showformat='${Package} ${Version}\n' | sudo tee extract/casper/filesystem.manifest +sudo cp extract/casper/filesystem.manifest extract/casper/filesystem.manifest-desktop +sudo sed -i '/ubiquity/d' extract/casper/filesystem.manifest-desktop +sudo sed -i '/casper/d' extract/casper/filesystem.manifest-desktop +sudo mksquashfs edit extract/casper/filesystem.squashfs -b 1048576 +printf $(sudo du -sx --block-size=1 edit | cut -f1) | sudo tee extract/casper/filesystem.size +``` +NOTE: add -Xcompression-level # to for mksquashfs compression level. (1-9) + +### Generate md5sum and ISO +``` +cd extract +sudo rm md5sum.txt +find -type f -print0 | sudo xargs -0 md5sum | grep -v isolinux/boot.cat | sudo tee md5sum.txt +sudo genisoimage -D -r -V "$IMAGE_NAME" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o ../mit-linux-generated.iso . +cd .. +``` + +### Done +The new generated ISO will be named mit-linux-generated.iso