Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Instructions for remastering Ubuntu or Linux Mint using squashfs-tools
- Questions or comments, message me on Google+ https://plus.google.com/+PeteNavarro/posts
- I made this guide mostly as notes for myself because I like to have my own Live CD/USB with all the programs I like pre-installed and with the desktop set just the way I like. It's also really handy for custom installations of Linux on computers. I used to host this guide on Google Drive, but decided it would be better on it's own webpage.
- These instructions use squashfs-tools because it should be available on any system, and probably wont go away any time soon.
- There have been good programs specific to Ubuntu and Linux Mint that made remastering simple, but have been abandoned or removed by their maintainers.
- 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.
- The following steps reflect software that I wanted to add/remove and changes that I like
- You can perform these too, or choose your own
- 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 unetbootin grsync gprename laptop-mode-tools preload audacity chntpw gufw gpodder phatch 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.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement