Create a directory at an abitrary place. Note the last directory name is important, call it mounted
% mkdir -p ~/Tmp/install/mounted
Place this following simple script at ~/Tmp/install called e.g createdisk.
# !/usr/bin/bash
if [[ -z "${1}" ]];then
echo "give a name for the image to create"
exit 1
fi
create() {
local name="${1}"
# create an empty file of 5G
oblog "Create disk image: ${name}"
truncate -s 5G "${name}"
# format that image
oblog "Format: ${name}"
mkfs.ext4 -m 1 -v "${name}"
# umount the previous mountpoint in case
# of successively use of the script
oblog "Umount mounted directory"
umount -R mounted/
# mount it
oblog "Mount ${name}.img to mounted/"
mount "${name}" mounted/
# same as previous, in case of successive use
# we erase the things done previously
oblog "Delete mounted/{boot,home}"
rm -rf mounted/boot
rm -rf mounted/home
oblog "Create directories mounted/{boot,home}"
# finally create the boot, home directory
mkdir mounted/{boot,home}
}
if (( EUID ));then
oblog -f "you need to be root"
exit 111
fi
create "${1}"
Move to the ~/Tmp/install directory, make the createdisk script executable and launch it.
This will create a virtual disk of 5G of size mounted at the directory ~/Tmp/install/mounted.
% cd ~/Tmp/install
% chmod +x createdisk
% sudo ./createdisk mysystem
mysystem is the name of the virtual disk.
Note: the script create a disk of 5G as size. You can increase/decrease it by changing the 5G value at the line
truncate -s 5G "${name}"
Now, you can install what you want on this directory.
Launch the obarun-install script and pick your /home/<user>/Tmp/install/mounted directory with the choose 1 on the obarun-install main menu.
Install the system as usual with obarun-install.(Note: you can create your own obarun-install-themes)
Obviously, you are not forced to use obarun-install to make this fresh installation. You can use what you want like pacstrap or directly by hand.
Install the obarun-mkiso.
% sudo pacman -S obarun-mkiso
Edit the /etc/obarun/mkiso.conf and set UPDATE="yes". At start, it will install the last commit of the obarun-mkiso project as obarun-install do when it ask you to udpate the script.
Launch the obarun-mkiso script
% sudo obarun-mkiso
Pick your /home/<user>/Tmp/install/mounted directory as directory to copy on ISO. Let the script doing the job. It will provide you an ISO from the fresh install made at /home/<user>/Tmp/install/mounted :).
Note, if you use multiple time the obarun-mkiso script do not forget to erase your previous build picking the number 13 at the obarun-mkiso main menu.
EDIT: maybe this explanation should appear somewhere at the obarun wiki.