Difference between revisions of "Build Manjaro ISOs with buildiso"

no edit summary
imported>Excalibur1234
(wikified from this thread: https://forum.manjaro.org/index.php?topic=20451.0)
 
imported>Excalibur1234
Line 18: Line 18:
==Install manjaro-tools==
==Install manjaro-tools==


''buildiso'' has often bugs introduced my new upstream package changes, therefore it is recommended to install the absolute latest version with the most recent bug fixes. A relatively easy way is to install ''manjaro-tools'' from the unstable repositories of Manjaro.
Alternatively, you can download and build ''manjaro-tools'' from [https://github.com/manjaro/manjaro-tools GitHub] directly.


use the following command, if you are using the [url=https://wiki.manjaro.org/index.php?title=Access_the_Unstable_Repositories]unstable repositories[/url]:
[code]
sudo pacman -S manjaro-tools
[/code]


if you do [b]not[/b] use the unstable repositories, you need to install manjaro-tools from the unstable repositories manually. please keep in mind that you need to update this package manually, too:
If you are using the [https://wiki.manjaro.org/index.php?title=Access_the_Unstable_Repositories unstable repositories] already:
go here: http://mirror.netzspielplatz.de/manjaro/packages/unstable/community/ , choose your architecture and search for the "manjaro-tools" package and remember its complete name. then, use your architecture and the name to install manjaro-tools directly, e.g. with this command:
[code]
sudo pacman -U http://mirror.netzspielplatz.de/manjaro/packages/unstable/community/x86_64/manjaro-tools-0.9.6.2-1-any.pkg.tar.xz
[/code]


sudo pacman -S manjaro-tools


[b]2. [/b]next, clone manjaro-tools profiles from github (this requires git: sudo pacman -S git):
[code]
git clone https://github.com/manjaro/manjaro-tools-iso-profiles.git
[/code]


whenever you want to update the profile directory with the latest files, execute these commands:
[code]
cd manjaro-tools-iso-profiles
[/code]
[code]
git pull origin master
[/code]


If you do '''not''' use the unstable repositories, you need to install ''manjaro-tools'' from the unstable repositories manually:


[b]3. [/b]edit the config file directly (as root):
Please keep in mind that you need to update/re-install this package every time a new version gets released.
[code]/etc/manjaro-tools/manjaro-tools.conf[/code]
or copy it here (and edit as normal user):
[code]~/.config/manjaro-tools.conf[/code]
(only edit the general part and the "buildiso" part. if you are not sure what/how to edit, do NOT edit anything)


alternatively, there is a light version of this config file in your profile folder called
Go to this Manjaro mirror in your web browser:
[code]profile.conf[/code]
http://mirror.netzspielplatz.de/manjaro/packages/unstable/community/
e.g.: ~/manjaro-tools-iso-profiles/openbox/profile.conf
Choose your architecture and search for the ''manjaro-tools'' package and remember its complete name.  


Then, use your architecture and the name to install ''manjaro-tools'' directly, e.g. with this command:


[b]4.[/b] if you want to know how the folder structure in manjaro-tools-iso-profiles/openbox works, read here:
sudo pacman -U http://mirror.netzspielplatz.de/manjaro/packages/unstable/community/x86_64/manjaro-tools-0.9.6.2-1-any.pkg.tar.xz
- the readme.md file here (only read section 1 and 3): https://github.com/manjaro/manjaro-tools
- read this wiki (not the part about installing manjaroiso): https://wiki.manjaro.org/index.php?title=Manjaroiso#Understanding_ManjaroISO_Profiles


when reading about manjaroiso (either in the link given above or in other places), please note the differences between the old manjaroiso and the new manjaro-tools. the most obvious are:
- these files are not present anymore in manjaro-tools: isolinux, isomounts, syslinux
- the "options.conf" file has completely changed and its new equivalent is called "profile.conf"
- the "pacman-i686.conf" and "pacman-x86_64.conf" files have been renamed to "pacman-default.conf" and "pacman-multilib.conf"


if you want to add AUR packages to your iso, you need to create a local repository and add it to corresponding pacman.conf file. read here how to do it for manjaroiso (keep the changes between manjaroiso and manajro-tools in mind):
==Install manjaro-tools-iso-profiles==
https://wiki.manjaro.org/index.php?title=How_to_install_AUR_packages_in_ManjaroISO
 
Clone ''manjaro-tools-iso-profiles'' profiles from GitHub (this requires the ''git'' package to be installed on your system). Open your terminal in your home directory (or any other directory you want) and type:
 
git clone https://github.com/manjaro/manjaro-tools-iso-profiles.git
 
 
Whenever you want to update the ''manjaro-tools-iso-profiles'' directory with the latest files, execute these commands:
 
cd manjaro-tools-iso-profiles
 
git pull origin master
 
 
=manjaro-tools.conf=
 
<code>manjaro-tools.conf</code> is the central configuration file for ''manjaro-tools''/''buildiso''. Only edit the general and the "buildiso" part to not exceed the scope of this tutorial. If you are not sure what and how to edit it, do '''not''' edit it. You can always use arguments with the <code>buildiso</code> command later.
 
By default, the systemwide config file is installed in
 
/etc/manjaro-tools/manjaro-tools.conf
 
Additionally, a userconfig <code>manjaro-tools.conf</code> file can be placed in your home directory here:
 
~/.config/manjaro-tools.conf
 
If the userconfig is present, ''manjaro-tools''/''buildiso'' will load the userconfig values, however, if variables have been set in the systemwide config file, these values take precedence over the userconfig. Best practice is to leave the systemwide file untouched. By default it is commented and shows just initialization values done in code.
 
 
Alternatively, there is a light/short version of this config file in your profile folder called <code>profile.conf</code>, e.g.:
~/manjaro-tools-iso-profiles/openbox/profile.conf
 
 
=ISO profile=
 
If you want to know how the folder structure in <code>manjaro-tools-iso-profiles/openbox</code> works, read:
* (only section 1 and 3) of the <code>README.md</code> file [https://github.com/manjaro/manjaro-tools here]
* [https://wiki.manjaro.org/index.php?title=Manjaroiso#Understanding_ManjaroISO_Profiles this Wiki] (not the part about installing ''manjaroiso'')
* [https://wiki.manjaro.org/index.php?title=Manjaro-tools#Overview this Wiki section]
 
When reading about ''manjaroiso'' (either in the link given above or in other places), please note the differences between the old ''manjaroiso'' and the new ''manjaro-tools''. The most obvious are in your profile directory <code>manjaro-tools-iso-profiles/openbox</code>:
* these files are not present anymore: <code>isolinux</code>, <code>isomounts</code>, <code>syslinux</code>
* the <code>options.conf</code> file has completely changed and its new equivalent is called <code>profile.conf</code>
* the <code>pacman-i686.conf</code> and <code>pacman-x86_64.conf</code> files have been renamed to <code>pacman-default.conf</code> and <code>pacman-multilib.conf</code>
 
 
If you want to add AUR packages to your ISO, you need to create a local repository and add it to the corresponding <code>pacman.conf</code> file. Read here how to do it for ''manjaroiso'' (keep the changes between ''manjaroiso'' and ''manajro-tools'' in mind): [[How to install AUR packages in ManjaroISO]]