Ubuntu Builder vs. Mintconstructor

Questions about Grub, UEFI,the liveCD and the installer
Forum rules
Before you post please read how to get help
Post Reply
Level 1
Level 1
Posts: 36
Joined: Sat Mar 13, 2010 9:57 pm

Ubuntu Builder vs. Mintconstructor

Post by recluce »

I recently had the need to build a custom install image, because of the following considerations:

Mint 13: in support until 2017 (good), but Kernel to old to work on the target machines
Mint 14: end of support April 2014 - pointless to install now
Mint 15: end of support January 2014 - pointless to the degree of being ridiculous

I decided to roll my own install image of Mint 13, incorporating the kernel backport from Raring, the 560-odd updates to the original image, replacing Nautilus with Nemo and adding a couple of packages (wine 1.4, Opera, smartmontools).

My experience with MintConstructor was a disaster:

- As installed from repo, all I got was "permission denied: /dev/null" in the chroot shell. This I was able to resolve with some patched files from the forum
- But even so, building the ISO failed with tons of "File not found" errors

My opinion: useless today, that they removed it from Mint 15 might be a dead giveaway

The only other relevant and up to date tool I could find was Ubuntu Builder. This worked for me, building a working ISO. However, there are some caveats that seem not to be documented. So here are some tips on how to use Ubuntu Builder to build Mint Images.

- If you have more then one Kernel in your installation image, you will end up with an ISO that has no kernel. So be sure that only one kernel is present
- If you want to build a version of Mint with Cinnamon, do not select anything in the "DE/WM Manager" Drop-Down Menu. Simply build from an original ISO with Cinnamon and use either the chroot shell or the chrooted Synaptic to update Cinnamon
- You can only build the same architecture that you are currently working on. So you cannot build a 64-bit install image while working on a 32-bit machine
- Remember that only 64-bit versions will work with UEFI boot
- The resulting Live DVD image can be put on an USB stick with unetbootin, the resulting image will also boot in UEFI mode
- The Live image I build has a Login Requester (username: mint, no password) - not sure why or how to change this.
- Installation from the image worked fine (UEFI) and the resulting installations work perfectly.

In closing: Mintconstructor seems to be broken beyond repair at this moment. Ubuntu Builder works and offers many more features. In theory, you could build an updated Mint Install Image without even using the chroot shell.

User avatar
Level 17
Level 17
Posts: 7525
Joined: Wed Jun 17, 2009 8:20 pm

Re: Ubuntu Builder vs. Mintconstructor

Post by DrHu »

Does this site work, as an online builder: it might be that it only offers standard build-types, a complete custom one would need a customized kernel
--albeit it may be preferable to have more complete control and in a local mode, they also follow popularity, so Ubuntu has more versions than Mint or Debian

Suse and Redhat used to have online build setups, or appliances, and for those distributions it was great..

But it is a quick and dirty method..

User avatar
Level 16
Level 16
Posts: 6342
Joined: Tue Sep 03, 2013 4:51 am
Location: Finland

Re: Ubuntu Builder vs. Mintconstructor

Post by kukamuumuka »

This way:

Code: Select all

sudo apt-get install squashfs-tools genisoimage

mkdir ~/livecdtmp
cd ~/livecdtmp 
mkdir extract-cd mnt
sudo mount -o loop ~/your_source.iso mnt
sudo rsync --exclude=/casper/filesystem.squashfs -a mnt/ extract-cd 
sudo unsquashfs mnt/casper/filesystem.squashfs
sudo mv squashfs-root edit

## Copy resolv.conf and mount /dev to the chroot-system. If there is no resolv.conf, make it first
nm-tool # Tells the DNS
sudo nano /etc/resolv.conf
nameserver  here_your_primary_DNS
nameserver here_your_secondary_DNS

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
apt-get update
dpkg-query -W --showformat='${Installed-Size}\t${Package}\n' | sort -nr | less

q gets you out from query

apt-get purge packege1 package2 etc

## installing lxde for example
apt-get install lxde --no-install-recommends

## installing midori, etc  
apt-get install midori usb-modeswitch gnome-ppp pavucontrol

## removing zeitgeist
apt-get --purge autoremove activity-log-manager-common activity-log-manager-control-center zeitgeist zeitgeist-core zeitgeist-datahub 

rm -fr {/root,/home/*}/.local/share/zeitgeist

apt-get upgrade

rm -fr {/root,/home/*}/.local/share/zeitgeist
apt-get clean

useradd -m mint -s /bin/bash
groupadd admin
adduser mint admin

mkdir -p /usr/share/ubuntu-artwork/home
nano /usr/share/ubuntu-artwork/home/index.html

apt-get clean
rm -rf /tmp/* ~/.bash_history
rm /etc/resolv.conf
umount /proc 
umount /sys
umount /dev/pts 

sudo umount edit/dev
sudo umount mnt
sudo mksquashfs edit extract-cd/casper/filesystem.squashfs
sudo printf $(sudo du -sx --block-size=1 edit | cut -f1) > extract-cd/casper/filesystem.size
sudo nano extract-cd/README.diskdefines

cd extract-cd
sudo rm mint4win.exe
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 NEW_DISTRO -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o ../NEW_DISTRO.iso extract-cd

sudo chmod 777 NEW_DISTRO.iso

Post Reply

Return to “Installation & Boot”