These instructions will work the same on Linux mint 17.01 or Ubuntu 15.10, and probably any Debian based system
To keep this guide simple, just copy and paste each line one at a time.
For an explanation of what each step performs, read the original post where I found the instructions: link: Linux Mint Forums
Note: a few of the commands are so long that they span multiple lines, depending on your screen size and word wrap, which may cause some confusion and errors if not copied completely. So I've alternated between 2 colors for each command.
For example, if a command is purple and takes up 3 lines, copy all 3 lines and paste in to your terminal.
Sections
1. Acquire the necessary software
2A. Create project from scratch
2B. Resume/continue your project
2C. Exit chroot environment
2D. Build .iso
3. Modify the system
4. Personalizing the desktop/theme
1. Acquire the necessary software
1a. Install packages from the repository
Open a terminal and type:
- sudo apt-get install squashfs-tools genisoimage resolvconf
1b. Download Ubuntu: Ubuntu Downloads page
or
1b. Download Linux Mint: Linux Mint downloads page
move the downloaded .iso file from your /Downloads folder to your /home/user folder
2. Setting up, resuming, and building .iso
2A. Create project from scratch
Open a terminal and type/copy :
mkdir ~/livecdtmp
cd ~/livecdtmp
mkdir extract-cd mnt
sudo mount -o loop ~/INSERT-NAME-HERE.iso mnt (change the name to match the linux image you downloaded)
sudo rsync --exclude=/casper/filesystem.squashfs -a mnt/ extract-cd
sudo unsquashfs mnt/casper/filesystem.squashfs
sudo mv squashfs-root edit
sudo cp /etc/resolv.conf edit/etc/
sudo mount --bind /dev/ edit/dev
sudo chroot edit
mount -t proc none /proc && mount -t sysfs none /sys && mount -t devpts none /dev/pts
export HOME=/root && export LC_ALL=C
cd /etc/skel
mkdir Desktop Documents Downloads Music Pictures Public Templates Videos
cd /
Your project is ready for modifications, make whatever changes you want like adding or removing software
Go to step 3 "Modify the system"
2B. Resume/continue your project
(To continue your project after you have rebooted or just need to make additional changes)
Open a terminal and type/copy :
cd livecdtmp (if you're not in there already)
sudo mount --bind /dev/ edit/dev
sudo chroot edit
mount -t proc none /proc && mount -t sysfs none /sys && mount -t devpts none /dev/pts
At this point you are ready to resume your remaster project
You can add/remove programs and make whatever changes you want.
Go to step 3.Modify the system
2C. Exit chroot environment
When done making changes and are still in the chroot environment, type/copy :
apt-get clean
apt-get autoremove
rm -rf /tmp/* ~/.bash_history
umount /proc
umount /sys
umount /dev/pts
exit
sudo umount edit/dev
sudo umount mnt
The project is ready to build or you could go back later to make more changes by repeating step 2B
Go to step 2B: Resume/continue your project
2D. Build .iso
Open a terminal and type/copy :
sudo rm ~/livecdtmp/extract-cd/casper/filesystem.squashfs (only if rebuilding a project)
cd livecdtmp (if you're not in there already)
sudo mksquashfs edit extract-cd/casper/filesystem.squashfs
sudo nano extract-cd/README.diskdefines
cd extract-cd
sudo rm md5sum.txt
find -type f -print0 | sudo xargs -0 md5sum | grep -v isolinux/boot.cat | sudo tee md5sum.txt
cd ..
sudo mkisofs -r -V "REMASTER" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o ../REMASTER.iso extract-cd
cd ..
sudo chmod 777 REMASTER.iso
Your project is ready to test
3. Modify the system (right after steps 2A and 2B)
Most modifications are done via the chroot terminal.
In the chroot terminal you can type commands, install and remove packages as you would on a normally installed system.
These changes will manifest in the ISO you create.
If you just need to edit a text file or add/delete files and don't want to use the terminal, you can perform this by using a file manager as root instead.
3A. Get all the latest updates
in the chrooted terminal copy/paste the following:
- apt-get update then
- apt-get upgrade
note: It’s a good idea to reboot right now, after performing all these system updates, the /dev partition won’t unmount so you have to reboot to get things back to normal.
To get back to working on your project, go back to step 2B: Resume/continue your project
3B. Install software from the repository
in the chrooted terminal, install new software, for example
- apt-get install inkscape testdisk grsync gprename laptop-mode-tools preload audacity chntpw gufw gpodder gimp easytag soundconverter
3C. Turn on the firewall by default
in the chrooted terminal copy/paste the following:
- nano /etc/ufw/ufw.conf (change the “no” to “yes”, example: ENABLED=yes)
save and exit
3D. Customize fstab to reduce disk writes with the “noatime” option
in the chrooted terminal open the following file to edit:
- nano /lib/partman/fstab.d/ext3
find the lines:
options="errors=remount-ro"
else
options="${options},errors=remount-ro" add (without the quotes) “noatime,nodiratime,” right before errors. It should look like this:
options="noatime,nodiratime,errors=remount-ro"
else
options="${options},noatime,nodiratime,errors=remount-ro" save and exit
3E. Install extra programs from web:
Google Chrome: link
Hangouts plugin: link
Teamviewer: link
Truecrypt: link
Insync: link
Dropbox: link
Boot-Repair: link
Indicator Stickynotes: link
4. Personalizing the desktop/theme
These steps will allow you to customize the live user session. The customizations will also carry over to users if your remaster is installed to a disk.
Boot to your newly created .iso
Customize it:
after you have booted into the remastered live session go ahead and customize the desktop to your liking.
you can rearrange the panel, change wallpaper, add icons to desktop, add items to the autostart list. pretty much anything.
Log out and back in again
For all your changes to take effect, you must log off from the live user session.
Log back in. username: mint password:__________(no password, just press enter)
Save configuration files
have a USB stick handy to copy files into
open a file manager
you should now be in the home folder of the user “mint”
press “ctrl+h” to see the hidden files
copy the following folders from the “mint” home folder on to the USB flash drive:
“.config, .gconf, .mateconf, and .mateconfd”
If you have files on the desktop then copy over the “Desktop” folder too.
Reboot
boot back into your own linux installation where you are remastering Linux Mint
open a file manager as root. In Mint Mate edition, press “alt+F2” to bring up the run window. Enter “gksu caja” , press enter and enter your password when prompted
copy the configuration files that you copied on to the USB drive and paste them into your working directory in the following location:
~/livecdtmp/edit/etc/skel/
of course, you need to find your own username and working directory name
Rebuild
once the files have been copied over, just rebuild the image like you did the first time
Jump to step 2D. Build .iso
Test
when the image is finished building, burn it to disk, or use “unetbootin” to make a bootable USB stick.
boot into it and test it out.
the desktop should look exactly as it did when you customized it on the second step above.