Difference between revisions of "Build Manjaro ISOs with buildiso"
Views
Actions
Namespaces
Variants
Tools
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. | |||
If you are using the [https://wiki.manjaro.org/index.php?title=Access_the_Unstable_Repositories unstable repositories] already: | |||
sudo pacman -S manjaro-tools | |||
If you do '''not''' use the unstable repositories, you need to install ''manjaro-tools'' from the unstable repositories manually: | |||
Please keep in mind that you need to update/re-install this package every time a new version gets released. | |||
Go to this Manjaro mirror in your web browser: | |||
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: | |||
sudo pacman -U http://mirror.netzspielplatz.de/manjaro/packages/unstable/community/x86_64/manjaro-tools-0.9.6.2-1-any.pkg.tar.xz | |||
- | |||
if you want to add AUR packages to your | ==Install manjaro-tools-iso-profiles== | ||
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]] | |||
Revision as of 15:33, 2 May 2015
This is a detailed tutorial aimed at beginners how to build Manjaro ISOs.
Manjaro Openbox edition is used as example throughout this tutorial, but there are many more pre-made Manjaro ISO profiles available: cinnamon, enlightenment, gnome, kde, kde5, lxde, lxqt, lxqt-openrc, mate, net, netbook, net-openrc, openbox, openbox-legacy, pekwm-openrc, xfce, xfce-minimal, and xfce-openbox-openrc.
Prerequisites
manjaro-tools-iso-profiles is needed for pre-built Manjaro ISO profiles.
buildiso is needed to build an image/ISO from these profiles. Before March 2015, it used to be part of the manjaroiso package, but now it is integrated into manjaro-tools.
Please make sure you always use the absolute latest manjaro-tools and manjaro-tools-iso-profiles packages available in order to minimize the chance of random or unexplained bugs.
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 GitHub directly.
If you are using the unstable repositories already:
sudo pacman -S manjaro-tools
If you do not use the unstable repositories, you need to install manjaro-tools from the unstable repositories manually:
Please keep in mind that you need to update/re-install this package every time a new version gets released.
Go to this Manjaro mirror in your web browser:
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:
sudo pacman -U http://mirror.netzspielplatz.de/manjaro/packages/unstable/community/x86_64/manjaro-tools-0.9.6.2-1-any.pkg.tar.xz
Install manjaro-tools-iso-profiles
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
manjaro-tools.conf
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 buildiso
command later.
By default, the systemwide config file is installed in
/etc/manjaro-tools/manjaro-tools.conf
Additionally, a userconfig manjaro-tools.conf
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 profile.conf
, e.g.:
~/manjaro-tools-iso-profiles/openbox/profile.conf
ISO profile
If you want to know how the folder structure in manjaro-tools-iso-profiles/openbox
works, read:
- (only section 1 and 3) of the
README.md
file here - this Wiki (not the part about installing manjaroiso)
- 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 manjaro-tools-iso-profiles/openbox
:
- these files are not present anymore:
isolinux
,isomounts
,syslinux
- the
options.conf
file has completely changed and its new equivalent is calledprofile.conf
- the
pacman-i686.conf
andpacman-x86_64.conf
files have been renamed topacman-default.conf
andpacman-multilib.conf
If you want to add AUR packages to your ISO, you need to create a local repository and add it to the corresponding pacman.conf
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
[b]5. [/b]navigate to the manjaro-tools-iso-profiles folder:
[code]
cd manjaro-tools-iso-profiles
[/code]
and query build your iso. this gives you a nice overview of what is going to happen: [code] sudo buildiso -p openbox -q [/code]
then, start to build the iso for real: [code] sudo buildiso -p openbox [/code] if the build process fails with an error, start it again. attention: the build process needs at least 10min to complete or much longer when you are using HDDs, slow CPUs, and large ISOs. you can find examples of builds here: https://wiki.manjaro.org/index.php?title=Manjaro-tools#buildiso
[b]6. [/b]when the build process finishes successfully, the ISO file(s) will appear here:
[code]
/var/cache/manjaro-tools/iso/
[/code]
[b]7.[/b] when you have questions about buildiso, please search for answers in these forum subsections:
https://forum.manjaro.org/index.php?board=52.0
https://forum.manjaro.org/index.php?board=27.0
here are some more tutorials of manjaro-tools:
https://forum.manjaro.org/index.php?topic=20167.0
https://forum.manjaro.org/index.php?topic=21976.0
or ask on IRC:
server: irc.freenode.net
channel: #manjaro
[b]8. [/b]cleaning your hard drive:
after a successful or failed build, you can get rid of most data (the "raw" ISO with all downloaded packages) by deleting this folder:
[code]
sudo rm -r /opt/buildiso/openbox/
[/code]
to clean your system of packages not installed on your system, do: [code] paccache -ruk0 [/code]
you can also manually look into [code] /var/cache/manjaro-tools/ [/code] and delete folders or files.
please remember that all these packages and files are saved for your convenience. if you clean your system like suggested above, you have to download ALL packages and build ALL images again the next time you want to build your own manjaro ISO.
[b]9. [/b]when you changed a lot or something important in your manjaro openbox edition, please contact the team. either they give you write access in the manjaro-tools-iso-profiles github or you can fork the manjaro-tools-iso-profiles project and do a pull request. then, your changes will be available for everybody.