Difference between revisions of "ManjaroISO"
Views
Actions
Namespaces
Variants
Tools
imported>Aaditya |
imported>Excalibur1234 (clarified some stuff and expanded other stuff.) |
||
Line 24: | Line 24: | ||
==Install ManjaroISO== | ==Install ManjaroISO== | ||
Next, install manjaroiso and its profiles. | Next, install manjaroiso and its profiles. If you do not need the community profiles, do not install their package. | ||
sudo pacman -S manjaroiso manjaroiso-profiles | sudo pacman -S manjaroiso manjaroiso-profiles manjaroiso-community-profiles | ||
Copy ManjaroISOs profiles to your work directory: | Copy ManjaroISOs profiles to your work directory: | ||
Line 34: | Line 34: | ||
==Understanding ManjaroISO Profiles== | ==Understanding ManjaroISO Profiles== | ||
Depending on your ManjaroISO version you find followed directories: | Depending on your ManjaroISO version you find followed directories in ~/work/manjaroiso: | ||
build cinnamon e17 kde lxde mate net openbox shared sysmenu xfce | build cinnamon e17 kde lxde mate net openbox shared sysmenu xfce | ||
In this example we work with the '''e17''' folder. Change to it and take a look at the files and folders in it: | In this example we work with the '''e17''' folder. This folder is not available anymore and got replaced by the '''enlightenment''' folder, but it serves well for demonstration purposes. All profile folders look very similar. Change to it and take a look at the files and folders in it: | ||
Packages isolinux overlay pacman-x86_64.conf | Packages isolinux overlay pacman-x86_64.conf | ||
Packages-E17 isomounts overlay-livecd syslinux | Packages-E17 isomounts overlay-livecd syslinux | ||
Packages-Xorg mkinitcpio.conf pacman-gfx.conf | Packages-Xorg mkinitcpio.conf pacman-gfx.conf efiboot | ||
e17-overlay options.conf pacman-i686.conf | e17-overlay options.conf pacman-i686.conf | ||
Line 50: | Line 50: | ||
* e17-overlay includes files and folders modified to get E17 Edition working | * e17-overlay includes files and folders modified to get E17 Edition working | ||
* isolinux includes isolinux.cfg file to start syslinux bootloader | * isolinux includes isolinux.cfg file to start syslinux bootloader | ||
* isomounts holds the information of all overlay-images and their bootorder | * isomounts holds the information of all overlay-images and their bootorder: It tells the kernel in which order (from top to bottom) to load all overlay images | ||
* mkinitcpio.conf holds the information of all needed modules need to be added to the live-media kernel | * mkinitcpio.conf holds the information of all needed modules need to be added to the live-media kernel | ||
* options.conf defines basic settings for the live-media | * options.conf defines basic settings for the live-media | ||
Line 59: | Line 59: | ||
* pacman-x86_64.conf includes the common pacman.conf for all 64bit Manjaro Editions | * pacman-x86_64.conf includes the common pacman.conf for all 64bit Manjaro Editions | ||
* syslinux includes the bootloader for all Manjaro Editions | * syslinux includes the bootloader for all Manjaro Editions | ||
* efiboot includes the UEFI bootloader for all Manjaro Editions | |||
==Modifying E17 Profile== | ==Modifying E17 Profile== | ||
Following files and folders are important for the E17 Profile | Following files and folders are most important for the E17 Profile | ||
* Packages-E17 | * Packages-E17 | ||
* e17-overlay | * e17-overlay | ||
Current Packages-E17 file looks like this: | Current Packages-E17 file looks like this: | ||
Line 103: | Line 102: | ||
pacman-gui | pacman-gui | ||
You can add any missing package like '''connman''', the E17 network manager, to this file and save it. | You can add any missing package like '''connman''', the E17 network manager, to this file and save it. Please keep in mind that you can only add packages from the manjaro repositories and '''not''' from the AUR. | ||
The '''e17-overlay''' folder looks like this atm: | The '''e17-overlay''' folder looks like this atm: | ||
Line 124: | Line 123: | ||
|-------default | |-------default | ||
It includes configuration files like etc/systemd/system/display-manager.service to define the used bootloader. You can change or add any files to that folder to get included to the installed Manjaro system and also added to the live-session if not overwritten by the same file in overlay-livecd. | It includes configuration files like </code>etc/systemd/system/display-manager.service</code> to define the used bootloader. You can change or add any files to that folder to get included to the installed Manjaro system and also added to the live-session if not overwritten by the same file in overlay-livecd. | ||
The '''overlay-livecd''' folder looks like this atm: | The '''overlay-livecd''' folder looks like this atm: | ||
Line 157: | Line 156: | ||
|-----icons | |-----icons | ||
Any file added to this folder gets only added to the live-session. | Any file added to this folder gets '''only''' added to the '''live-session'''. In some cases, this can be important. | ||
=Building an install-media= | |||
Please change into the profile folder you want to build, if you have not already done this. In our example this is: | |||
cd ~/work/manjaroiso/e17/ | |||
Now, use buildiso to build your install-media: | |||
sudo buildiso | |||
buildiso will create a new folder <code>work-x86_64</code> or <code>work-i686</code> depending on install-media you want to build. buildiso will work in that folder exclusively. When buildiso is finished, the .iso file with your install-media will appear in your profile folder (in our example: ~/work/manjaroiso/e17/ ). | |||
In case anything goes wrong buildiso will display an error. Try to fix this error and restart buildiso. | |||
If there is a severe error in buildiso or if you want to build a completely new install-media, it might be necessary to delete buildiso's work folder. In our example this is: | |||
sudo rm -rfv ~/work/manjaroiso/e17/work-x86_64 | |||
Attention: The <code>work-x86_64</code> folder will '''not''' be completely deleted, because parts of it are mounted. In severe cases, please reboot your system. | |||
== Building 32 bit media on 64 bit systems == | == Building 32 bit media on 64 bit systems == |
Revision as of 13:26, 18 November 2014
What is ManjaroISO?
ManjaroISO is a small set of bash scripts that is capable of building fully functional Manjaro Linux based live medias. It is a very generic tool, so it could potentially be used to generate anything from rescue systems, to install disks, to special interest live CD systems, and who knows what else. Simply put, if it involves Manjaro on a shiny coaster, it can do it.
How to get started?
Create a work directory
The first thing you should probably do is create a directory to work in, and cd to it. This'll help keep things organized.
mkdir -p ~/work/manjaroiso
Update your system
To update your system
sudo pacman -Syu
Install ManjaroISO
Next, install manjaroiso and its profiles. If you do not need the community profiles, do not install their package.
sudo pacman -S manjaroiso manjaroiso-profiles manjaroiso-community-profiles
Copy ManjaroISOs profiles to your work directory:
cp -a /usr/share/manjaroiso/configs ~/work/manjaroiso
Understanding ManjaroISO Profiles
Depending on your ManjaroISO version you find followed directories in ~/work/manjaroiso:
build cinnamon e17 kde lxde mate net openbox shared sysmenu xfce
In this example we work with the e17 folder. This folder is not available anymore and got replaced by the enlightenment folder, but it serves well for demonstration purposes. All profile folders look very similar. Change to it and take a look at the files and folders in it:
Packages isolinux overlay pacman-x86_64.conf Packages-E17 isomounts overlay-livecd syslinux Packages-Xorg mkinitcpio.conf pacman-gfx.conf efiboot e17-overlay options.conf pacman-i686.conf
- Packages includes the common packages of all editions.
- Packages-E17 includes all packages especially for the E17 Edition
- Packages-Xorg includes all common Xorg packages
- e17-overlay includes files and folders modified to get E17 Edition working
- isolinux includes isolinux.cfg file to start syslinux bootloader
- isomounts holds the information of all overlay-images and their bootorder: It tells the kernel in which order (from top to bottom) to load all overlay images
- mkinitcpio.conf holds the information of all needed modules need to be added to the live-media kernel
- options.conf defines basic settings for the live-media
- overlay includes common files and folders modified to get all edition working
- overlay-livecd includes common files and folders modified for all editions getting the live-session working
- pacman-gfx.conf includes the common pacman.conf file for pkgs-image overlay
- pacman-i686.conf includes the common pacman.conf for all 32bit Manjaro Editions
- pacman-x86_64.conf includes the common pacman.conf for all 64bit Manjaro Editions
- syslinux includes the bootloader for all Manjaro Editions
- efiboot includes the UEFI bootloader for all Manjaro Editions
Modifying E17 Profile
Following files and folders are most important for the E17 Profile
- Packages-E17
- e17-overlay
Current Packages-E17 file looks like this:
### Manjaro Packages ## E17 Main Packages enlightenment17 faenza-green-icon-theme gksu libgnomeui lxdm network-manager-applet system-tools xcursor-simpleandsoft xcursor-vanilla-dmz-aa ## Applications blueman epdfview midori mplayer gparted #manjaro-installer sylpheed xchat xnoise ## Packages for Sound and Audio gstreamer0.10-bad-plugins gstreamer0.10-ffmpeg gstreamer0.10-ugly-plugins ## Package management pacman-gui
You can add any missing package like connman, the E17 network manager, to this file and save it. Please keep in mind that you can only add packages from the manjaro repositories and not from the AUR.
The e17-overlay folder looks like this atm:
e17-overlay |-etc |---skel |-----.config |-------epdfview |-------gtk-2.0 |-------midori |-----.local |-------share |---------applications |---systemd |-----system |-usr |---share |-----icons |-------default
It includes configuration files like etc/systemd/system/display-manager.service to define the used bootloader. You can change or add any files to that folder to get included to the installed Manjaro system and also added to the live-session if not overwritten by the same file in overlay-livecd.
The overlay-livecd folder looks like this atm:
overlay-livecd |-etc |---gdm |---lightdm |---manjaro |---pam.d |---samba |---skel |-----.config |-------autostart |-----.kde4 |-------share |---------config |-----Desktop |---sudoers.d |---systemd |-----system |-------multi-user.target.wants |-root |---.config |-usr |---bin |---lib |-----systemd |-------system |---sbin |---share |-----icons
Any file added to this folder gets only added to the live-session. In some cases, this can be important.
Building an install-media
Please change into the profile folder you want to build, if you have not already done this. In our example this is:
cd ~/work/manjaroiso/e17/
Now, use buildiso to build your install-media:
sudo buildiso
buildiso will create a new folder work-x86_64
or work-i686
depending on install-media you want to build. buildiso will work in that folder exclusively. When buildiso is finished, the .iso file with your install-media will appear in your profile folder (in our example: ~/work/manjaroiso/e17/ ).
In case anything goes wrong buildiso will display an error. Try to fix this error and restart buildiso. If there is a severe error in buildiso or if you want to build a completely new install-media, it might be necessary to delete buildiso's work folder. In our example this is:
sudo rm -rfv ~/work/manjaroiso/e17/work-x86_64
Attention: The work-x86_64
folder will not be completely deleted, because parts of it are mounted. In severe cases, please reboot your system.
Building 32 bit media on 64 bit systems
Edit the options.conf file found in the shared subfolder or the subfolder of the desktop environment you are trying to build, and change:
arch=`uname -m` #arch=i686
to
#arch=`uname -m` arch=i686