Author Topic: [manjaro-tools] buildiso tutorial  (Read 4248 times)

0 Members and 1 Guest are viewing this topic.

Offline PingoDindo

  • Sr. Mitglied
  • ****
  • Posts: 405
  • Branch: Arch-Stable
  • Desktop: XFCE
  • GPU Card: nVidia GT218 (340xx)
  • GPU driver: Non-free
  • Kernel: 3.19x (Arch-x86_64)
  • Skill: Intermediate
[manjaro-tools] buildiso tutorial
« on: 12. April 2015, 21:04:18 »
Using BuildISO - a visual tutorial

Preliminary:

1. This is basic visual tutorial on BuildISO (manjaro-tools) using default profiles without customization (see footnote # 1).

2. Commands are originally documented in Manjaro forum here and in Wiki here. I only added progressing screen shots to make text only tutorials less intimidating.

3. This tutorial has been tested on Manjaro LXQT setup in virtualbox.

4. Feel free to improve this tutorial by posting below or by asking me to edit this post. For problems and help, prefer creating separate thread.


Let's get to work:

1. Install manjaro-tools:

Code: [Select]
sudo pacman -S manjaro-tools



Note: Package comes with 3 tools, we only need buildiso for purpose of this tutorial.

2. Customize manjaro-tools.conf (optional)

Follow this only if you want to customize manjaro-tools.conf. If you wish to skip then move on to # 3 but note output of build query (see step # 4.2) to know working directories, ISO output path, etc.

2.1 Customizing manjaro-tools.conf:

Open /etc/manjaro-tools/manjaro-tools.conf using text editor of your choice and change defaults to your need. I made following changes to be sure about what I need, these may not be necessary:

Uncommented following:

arch=$(uname -m)
cache_dir=/var/cache/manjaro-tools

Quote
Edit: Steps removed after this comment.

Changed following from defaults to:

Code: [Select]
repo_tree=('core' 'extra' 'community' 'multilib')               # copied, uncommented and removed 'openrc'
dist_name="Manjaro-xfce-light"                                  # originally dist_name="Manjaro"

Save and close text editor.

3. Fetch profiles using Git:

Git clone command to fetch profiles from server path mentioned in wiki:

Code: [Select]
git clone https://github.com/manjaro/manjaro-tools-iso-profiles



Profiles will be downloaded to your present working directory (use 'ls' command or file manager to browse through it).

4. Building ISO

Keeping experiments with packages, installation, etc to sometime later, let's use defaults to proceed to build ISO.

4.1 'cd' to 'manjaro-tools-iso-profiles'

4.2 use 'buildiso' to query desired build profile and then build ISO as demonstrated:

Code: [Select]
buildiso -p xfce-minimal/ -b stable -q

You can use 'buildiso -h' to understand syntax but in short it means:

-p = profile,
-b = branch,
-q = query (i.e. do not build) where
xfce-minimal = name of profile you choose to build,



Review parameters and once you are satisfied, run same command without '-q' switch/argument to start building.

4.3 Let's build

Code: [Select]
buildiso -p xfce-minimal/ -b stable



After this command, enter your sudo password. Tools will sync repos, download couple of files mentioned in 'Packages', 'Packages-xorg' etc.











5. Once ISO is build, it's time to test it.

VM suits best for this purpose, screens running built ISO are:











You can distribute this ISO as your own customized Manjaro profile.

Good luck testing!



**********************
Footnote:

1. My attempt to customize ISO by cutting down on hooks, getting rid of plymouth, reducing default number of packages, services etc to aim fresh install boot within 14 seconds (per my AMD 4800+ 2007 era PC standards) but ISO developed some problems to fail to mount root during boot. I decided to use configs 'as-is' and experiment later.
« Last Edit: 24. April 2015, 15:36:13 by PingoDindo »
Do mark thread solved if done by editing your original post and prepending [Solved] in subject.

My Arch XFCE desktop:
http://pastebin.com/Zbn2xRZj

Offline aosuke

  • Neuling
  • *
  • Posts: 1
  • Desktop: XFCE
  • Skill: Intermediate
Re: [manjaro-tools] buildiso tutorial
« Reply #1 on: 24. April 2015, 05:38:54 »
Thanks, buuuuuddy. This is the first guide I could find, and I was sure confuzzled before.

Offline Holmes

  • Mirror Support Team
  • ***
  • Posts: 2039
  • Brazilian and Hispanic Support Team
    • Manjaro Brasil
  • Branch: Stable
  • Desktop: Manjaro XFCE
  • GPU Card: Mobile Intel (R) 945
  • GPU driver: Non-free
  • Kernel: kernellinux
  • Skill: Novice
Re: [manjaro-tools] buildiso tutorial
« Reply #2 on: 24. April 2015, 06:27:02 »
very good! great content about Manjaro-tools...

vlw fwi, Holmes :)


==> Manjaro Brasil I Manjaro Hispano
==> IRC Manjaro Brasil: #manjaro-br I IRC Manjaro Hispano: #manjaro-es

Offline fassil

  • Support Team
  • ****
  • Posts: 709
  • Branch: stable/unstable
  • Desktop: E19/E20
  • GPU driver: free
  • Kernel: Linux314 & 318
  • Skill: Intermediate
Re: [manjaro-tools] buildiso tutorial
« Reply #3 on: 24. April 2015, 09:13:24 »
'LLo,

Well done  ;)
For your failed attemps, imho, it's a permission problem into your custom-profile.
"Are you enlightened ?"

Offline artoo

  • OpenRC Team
  • ****
  • Posts: 2373
  • Branch: Unstable
  • Desktop: LXQT/Plasma5, openrc & eudev
  • Kernel: x86_64
  • Skill: Advanced
Re: [manjaro-tools] buildiso tutorial
« Reply #4 on: 24. April 2015, 11:58:59 »

Uncommented following:

Code: [Select]
arch=$(uname -m)
cache_dir=/var/cache/manjaro-tools


These steps are not required. ;)
The code initializes these variables with exactly the values given in the conf file.
So commented vars have the same init value as if you uncomment them but don't change them.

Especially the $arch variable is only useful to set, if you only build one arch all time.
For everything else, you can use the -a switch to specify arch just like branch with -b.

For example, my conf has branch=unstable set, but $arch is commented.

Offline barchi

  • Neuling
  • *
  • Posts: 8
  • Branch: stable
  • Desktop: LXDE
  • GPU Card: Intel(R) Pentium(R) CPU J2900 @ 2.41GHz
  • GPU driver: Intel i915
  • Kernel: 4.1.6-1-MANJARO x86_64
  • Skill: Intermediate
Re: [manjaro-tools] buildiso tutorial
« Reply #5 on: 09. September 2015, 09:30:17 »
hi there,

i have followed this tutorial and it leads to this errormessage:
Code: [Select]
[htpc@j2900 iso-profiles]$ buildiso -p lxqt-minimal -b stable
==> Start building [lxqt-minimal]
 --> Profile: [lxqt-minimal]
==> Cleaning up ...
  -> Deleting chroot 'root-image'...
 --> Loading Packages: [Packages] ...
==> Prepare [Base installation] (root-image)
 --> mirror: http://mirror.netzspielplatz.de/manjaro/packages/stable/$repo/$arch
==> Creating install root at /var/lib/manjaro-tools/buildiso/lxqt-minimal/x86_64/root-image
  -> Installing packages to /var/lib/manjaro-tools/buildiso/lxqt-minimal/x86_64/root-image
:: Synchronizing package databases...
 core                                                                                     132.4 KiB   926K/s 00:00 [####################################################################] 100%
 extra                                                                                   1917.1 KiB  3.39M/s 00:01 [####################################################################] 100%
 community                                                                                  3.0 MiB  4.65M/s 00:01 [####################################################################] 100%
 multilib                                                                                 167.1 KiB  5.44M/s 00:00 [####################################################################] 100%
error: target not found: gummiboot
==> ERROR: Failed to install packages to new root
==> ERROR: Failed to install all packages
==> ERROR: Exit make_image_root
Does anybody know how to solve this?
Gummiboot is already installed.


btw: the code under 4.2 and 4.3
Code: [Select]
buildiso -p xfce-minimal/ -b stable -q
leads to the errormessage:
Code: [Select]
[htpc@j2900 iso-profiles]$ buildiso -p xfce-minimal/ -b stable -q
find: warning: Unix filenames usually don't contain slashes (though pathnames do).  That means that '-name `xfce-minimal/'' will probably evaluate to false all the time on this system.  You might find the '-wholename' test more useful, or perhaps '-samefile'.  Alternatively, if you are using GNU grep, you could use 'find ... -print0 | grep -FzZ `xfce-minimal/''.
==> ERROR: xfce-minimal/ is not a valid profile directory!

--> "xfce-minimal/" should be "xfce-minimal".

Offline excalibur1234

  • Global Moderator
  • *****
  • Posts: 2508
  • Branch: unstable
  • Desktop: net-minimal + LXQt
  • GPU driver: video-nouveau
  • Kernel: 4.6
  • Skill: Intermediate
Re: [manjaro-tools] buildiso tutorial
« Reply #6 on: 09. September 2015, 13:36:03 »
this issue is being discussed and partially solved in another thread, too:
https://forum.manjaro.org/index.php?topic=25905.0
Need more information? Search here:   Manjaro Forum   |   Manjaro Wiki   |   Arch Wiki

Offline Apie

  • Neuling
  • *
  • Posts: 11
  • Skill: Novice
Re: [manjaro-tools] buildiso tutorial
« Reply #7 on: 11. September 2015, 12:24:17 »
Thanks for creating this guide!
P.S. Shouldn't this be a STICKY!?
« Last Edit: 15. September 2015, 13:34:08 by Apie »

Offline excalibur1234

  • Global Moderator
  • *****
  • Posts: 2508
  • Branch: unstable
  • Desktop: net-minimal + LXQt
  • GPU driver: video-nouveau
  • Kernel: 4.6
  • Skill: Intermediate
Re: [manjaro-tools] buildiso tutorial
« Reply #8 on: 11. September 2015, 14:53:00 »
P.S. Shouldn't this be a STICKY!?
there is an entire forum subsection dedicated to manjaro-tools called "support for manjaro-tools": https://forum.manjaro.org/index.php?board=52.0

i have created a link list to all manjaro-tools tutorials. it is a sticky thread at the top. please take a look at it, if you need more/different tutorials about manjaro-tools.
Need more information? Search here:   Manjaro Forum   |   Manjaro Wiki   |   Arch Wiki

Offline Departure

  • Jr. Mitglied
  • **
  • Posts: 71
  • Branch: Stable
  • Desktop: Cinnamon
  • GPU Card: GeForce GTX 980 (Strix)
  • GPU driver: Non-Free
  • Kernel: Linux41-x64
  • Skill: Novice
Re: [manjaro-tools] buildiso tutorial
« Reply #9 on: 14. December 2015, 10:19:36 »
is this tutorial still relevant for current 2015.12 versions of manjaro? I only ask because in the wiki it mentions "If you do not use the unstable repositories, you need to install manjaro-tools-base and manjaro-tools-iso from the unstable repositories manually" and this tutorials does not mention this step, Before I go and create custom cinnamon iso I want to make sure I am doing it correctly, main reason for a custom iso for me is the installation of extra packages from the manjaro repo to have a perfect iso out of the box without any additional downloading, also custom configs for vlc player ect..

Offline excalibur1234

  • Global Moderator
  • *****
  • Posts: 2508
  • Branch: unstable
  • Desktop: net-minimal + LXQt
  • GPU driver: video-nouveau
  • Kernel: 4.6
  • Skill: Intermediate
Re: [manjaro-tools] buildiso tutorial
« Reply #10 on: 14. December 2015, 19:20:06 »
i recommend to download the latest version of manjaro-tools from the unstable repositories.
sometimes, older versions (even a couple of days old version) of manjaro-tools do not work anymore. in rare cases even the manjaro-tools version from the unstable repositories does not work and you have to wait or compile manjaro-tools directly from github.

all i want to say is: if manjaro-tools from the stable repositories works for you, then use it. if it does not work, wait a bit or use a more current version.

p.s.: this weekend was a huge change in your manjaro-tools-iso-profiles. definitely use a version of manjaro-tools from yesterday or today. older versions will probably NOT work!
Need more information? Search here:   Manjaro Forum   |   Manjaro Wiki   |   Arch Wiki