Ein Manjaro ISO erstellen

From Manjaro Linux
Jump to: navigation, search


Was ist ein 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.

Wie beginnt man?

Ein Arbeitsverzeichniss erstellen

Als erstes muss ein Arbeitsverzeichnis eingerichtet werden, das hilft verschiedenes zu organisieren.

 mkdir -p ~/work/manjaroiso

Das Sytem aktualisieren

Um das System zu aktualisieren.

 sudo pacman -Syu

ManjaroISO Installieren

Als nächstes müssen manjaroiso und profiles installiert werden. Falls die community profile nicht benötigt werden, kann man diese auslassen.

 sudo pacman -S manjaroiso manjaroiso-profiles manjaroiso-community-profiles

Kopiere ManjaroISOs in dein Arbeitsverzeichnis:

 cp -a /usr/share/manjaroiso/configs/ ~/work/manjaroiso/configs/

Es gibt einen alternativen Weg um ManjaroIso zu installieren. Dazu benötig man git clone um die aktuellen ManjaroISO packages von Github zu erhalten.

Die ManjaroISO Profile verstehen

Abhängig von der verwedeten ManjaroISO Version findet man folgende Ordner in ~/work/manjaroiso:

 build  cinnamon  e17  kde  lxde  mate  net  openbox  shared  sysmenu  xfce

In diesem Beispiel arbeiten wir mit dem e17 Ordner. Dieser ist nicht mehr verfügbar und wurde durch enlightenment ersetzt, was für ein Beispiel aber ausreichend ist. Alle Profil-Ordner sehen sehr ähnlich aus. Öffne sie und schau dir die Ordnerinhalte einmal an.

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 enthält common packages für alle Editionen.
  • Packages-E17 enthält alle Pakete speziell für die E17 Edition
  • Packages-Xorg enthält alle benötigten Xorg Pakete
  • 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 UEFI bootloader stuff for all Manjaro Editions

Ein ManjaroISO Profil modifizieren

Als Beispiel arbeiten wir mit dem e17 Ordner. Die folgenden Dateien und Ordner sind die wichtigsten für das E17 Profil:

  • Packages-E17
  • e17-overlay

Die aktuellen Packages-E17 Dateien sehen wie folgt aus:

### 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

Man kann auch verschiedene fehlende Pakete, wie beispielswiese connman, den E17 Netzwerkmanager, zu dieser Datei hinzufügen. Dabei braucht man sich keine Gedanken über eventuelle Abhängigkeiten machen.

Man muss jedoch daran denken, dass man nur Pakete aus den Manjaro Repositories hinzufügen kann und keine aus dem AUR. Lies folgende Wiki-Seite, wenn du Pakete aus dem AUR hinzufügen willst: How to install AUR packages in ManjaroISO

Der e17-overlay Ordner sieht zu diesem Zeitpunkt aus wie folgt:

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.

Der e17-livecd Ordner sieht zu diesem Zeitpunkt aus wie folgt:

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.

Erstellen eines 32 bit und 64 bit Installations-Mediums

The options.conf file found in the shared subfolder (in our example: ~/work/manjaroiso/configs/shared/ ) or the subfolder of the desktop environment you are trying to build (in our example: ~/work/manjaroiso/configs/e17/ ) contains the following code:

arch=`uname -m`
#arch=i686

This will build a 32bit install-media, if you are on a 32bit Manjaro system and a 64bit install-media, if you are on a 64bit Manjaro system.

If you are on a 64bit Manjaro system and want to build a 32bit install-media, please change the code to this:

#arch=`uname -m`
arch=i686

Ein Istallationsmedium erstellen

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/configs/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 the architecture of the 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/configs/e17/ ).

Fehlerbehebung

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 (for a 64bit architecture installation-media):

sudo rm -rfv ~/work/manjaroiso/configs/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 before and after you try to remove the work-x86_64 folder.

Links


Weiterführende Literatur