ManjaroISOManjaroISO Nedir?ManjaroISO, Manjaro temelli kurulum ortamı, canlı ortam oluşturabileceğiniz basit bir uygulamadır. Sistem kurtarma, işletim sisteminizi yükleme, kendi istek ve ihtiyaçlarınız doğrultusunda kişiselleştirebileceğiniz Kurulum / Kurtarma / Canlı kalıp oluşturmanıza imkan verir.
Nasıl Başlatılır?Çalışma dizini oluşturun:İlk yapılacak işlem, çalışmalarınızı kaydedeceğiniz 'work' dizinini oluşturmaktır:
mkdir -p ~/work/manjaroiso
ManajaroISO YüklenmesiSırada, manjaroiso ve profillerini yüklemektir:
sudo pacman -S manjaroiso manjaroiso-profiles manjaroiso-community-profiles
Sonra ManjaroISO profillerini çalışma dizininiz altına kopyalayın:
cp -a /usr/share/manjaroiso/configs ~/work/manjaroiso
ManjaroISO Profillerini AnlamakManjaroISO sürümüne bağlı olarak şu dizinleri elde edersiniz:
build cinnamon e17 kde lxde mate net openbox shared sysmenu xfce
Bu örnekte e17 dizininde çalışmayı inceleyeceğiz. E17 dizinine girdiğimizde aşağıdaki dosyaları görürüz:
Packages isolinux overlay pacman-x86_64.conf
Packages-E17 isomounts overlay-livecd syslinux
Packages-Xorg mkinitcpio.conf pacman-gfx.conf
e17-overlay options.conf pacman-i686.conf
Packages bütün sürümler için ortak paketleri içerir.
Packages-E17 ,sadece E17 sürümü için gerekli paketleri içerir
Packages-Xorg bütün ortak Xorg paketlerini içerir
e17-overlay ,E17 için düzenlenebilir dizin ve dosyaları içerir.
Isolinux, isolinux.cfg dosyası ve syslinux bootloader yapılandırmalarını içerir
isomounts ,oluşturulacak imaj bilgileri ve başlama sıralarını içerir.
mkinitcpio.conf , gerekli modül bilgilerini içerir.
options.conf live-media için temel ayarları içerir
# Master config file
name=manjaro
plymouth_theme=manjaro-logo
iso_label="MJRO_085"
version=0.8.5.2
#version=0.8-r13-$(date +%m%d)
manjaro_kernel="linux38"
manjaro_kernel_ver="38"
manjaro_version="2013.05"
code_name="Manjaro"
hostname="manjaro"
install_dir=manjaro
arch=`uname -m`
#arch=i686
work_dir=work-${arch}
compression=xz
high_compression="y"
verbose="y"
overwrite="y"
# Create overlay images
xorg_overlays="no"
# Add kde-translation packages
kde_lng_packages="yes"
Örnek: Ana sürüm değil, ara sürüm kalıbı oluşturuluyorsa:
version=0.8.5.2
#version=0.8-r13-$(date +%m%d)
Burada şu değişkiliği yapmakta yarar var:
#version=0.8.5.2
version=0.8-r13-$(date +%m%d)
Ve yine hangi çekirdeğin yüklenmesini istiyorsak seçimimizi burada yapıyoruz:
manjaro_kernel="linux38"
manjaro_kernel_ver="38"
overlay ,bütün sürümlerin çalışabilmesi için gerekli ortak dizin ve dosyaları içerir.
Overlay-livecd , tüm sürümlerin live-session (canlı oturum) için gerekli dosya, klasör ve ayarlamaları içerir,
pacman-gfx.conf , pkgs-image yüklenmesi için ortak pacman.conf dosyasını içerir
pacman-i686.conf ,32 Bit Manjaro sürümleri için ortak pacman.conf içeriğidir.
pacman-x86_64.conf , 64 Bit Manjaro sürümleri için ortak pacman.conf içeriğidir.
Syslinux , bütün Manjaro sürümleri için önyükleyici( bootloader ) içerir
E17 Profilini DüzenlemeAşağıdaki dosya ve dizinler
E17 profili için önemlidir:
Packages-E17
e17-overlay
overlay-livecd
isomounts
Packages-E17 dosya içeriği şu şekildedir:### 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
Bu dosyada istediğini paketleri ekleyerek/ çıkararak düzenleme yapabilir ve kaydedebilirsiniz.
e17-overlay dizini şu şekildedir:
e17-overlay
|-etc
|---skel
|-----.config
|-------epdfview
|-------gtk-2.0
|-------midori
|-----.local
|-------share
|---------applications
|---systemd
|-----system
|-usr
|---share
|-----icons
|-------default
Burada /etc/systemd/system/display-manager.service gibi ön yükleme esnasında kullanılan servisleri görebilirsiniz. Yine ekleme/çıkarma yaparak dilediğiniz özelliklere sahip Manjaro sistemini elde edebilirsiniz.(overlay-livecd de aynı dosyaların mükerrer yazılmadığına dikkat edin)
overlay-livecd dizini şu şekildedir: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
Buraya ekleyeceğiniz herhangi bir düzenleme ,sadece live-session (canlı ortam) da görünür.
E17 için isomounts : # manjaroiso isomounts file
# img - location of image/directory to mount relative to addons directory
# arch - architecture of this image
# mount point - absolute location on the post-initrd root
# type - either 'bind' or 'squashfs' for now
# kernel argument (optional) - if the kernel argument is set the overlay will be loaded. Leave empty to ignore.
# Sample kernel argument in syslinux: overlay=extra,extra2
# syntax:
# ORDER MATTERS! Files take top-down precedence. Be careful
#@[email protected]/pkgs-free-overlay.sqfs @[email protected] / squashfs free
#@[email protected]/pkgs-nonfree-overlay.sqfs @[email protected] / squashfs nonfree
@[email protected]/overlay.sqfs @[email protected] / squashfs
#@[email protected]/lng-image.sqfs @[email protected] / squashfs
@[email protected]/pkgs-image.sqfs @[email protected] / squashfs
@[email protected]/e17-image.sqfs @[email protected] / squashfs
@[email protected]/root-image.sqfs @[email protected] / squashfs
Linux Çekirdeğine, overlay imajını hangi sıralama ile yükleyeceğini belirtir
Kurulum Ortamını İnşa Etmek:Profilinizi düzenledikten sonra kurulum kalıbınızı oluşturabilirsiniz:
sudo buildiso
GIT DEPOSUNDAN SON SÜRÜM MANJAROISO İÇİN:
PKGBUILD dosyasını GIT depolarından takip etmek için :
https://git.manjaro.org/packages-sources/extra/trees/master/manjaroisohttp://forum.manjaro.org/index.php?topic=2709.msg22027#msg22027
1- Ev dizininizde '
manjaroiso-git' adı ile dizin oluşturun.
2- Oluşturduğunuz dizin içerisinde '
PKGBUILD' dosyasını oluşturun.
3-
PKGBUILD dosyasına şu metni kopyalayarak kaydedin:
#
# maintainer: Philip Müller
pkgbase=manjaroiso
pkgname=('manjaroiso-git' 'manjaroiso-git-profiles')
pkgver="0.8.r13.$(date +%m%d)"
pkgrel=1
arch=('any')
url="https://gitorious.org/chakra/manjaroiso"
license=('GPL')
makedepends=('git')
_git=yes
getsource() {
cd "$srcdir"
msg "Connecting to GIT server...."
if [ -d $1 ] ; then
if [ "$_git" == "yes" ] ; then
cd $1 && git pull origin master
else
cd $1 && git pull origin master && git checkout -b $pkgver $pkgver
fi
msg "The local files are updated."
else
git clone $2 $1
if [ "$_git" != "yes" ] ; then
cd $1 && git checkout -b $pkgver $pkgver
fi
fi
msg "GIT checkout done or server timeout"
}
build() {
cd "$srcdir"
getsource "manjaroiso" "git://git.manjaro.org/core/manjaroiso.git"
}
package_manjaroiso-git() {
pkgdesc="Manjaro Linux livecd/liveusb generation scripts"
depends=('mkinitcpio' 'mkinitcpio-nfs-utils' 'nbd' 'libisoburn' 'squashfs-tools' 'syslinux' 'haveged')
optdepends=('qemu: quickly test isos' 'manjaroiso-profiles: Manjaro Linux ISO-Image profiles')
conflicts=('manjaroiso')
provides=('manjaroiso')
cd ${srcdir}/${pkgbase}/src
make DESTDIR="$pkgdir" install
}
package_manjaroiso-git-profiles() {
pkgdesc="Manjaroiso Profiles"
depends=('manjaroiso-git')
conflicts=('manjaroiso-profiles' 'manjaroiso-community-profiles')
provides=('manjaroiso-profiles' 'manjaroiso-community-profiles')
cd ${srcdir}/${pkgbase}/
mkdir -p $pkgdir/usr/share/manjaroiso/
cp -r configs $pkgdir/usr/share/manjaroiso/configs
}
4-
PKGBUILD soyasının olduğu konumda uçbirim açın ve
makepkg -i
komutunu çalıştırın.
Bu komut ile manjaroiso ve profilleri yüklenecektir.
5- Örnek Kullanıcı 'yfdogan' için :
cd /home/yfdogan/manjaroiso-git/src/manjaroiso/configs/kde/
âââ Packages -> ../shared/Packages
âââ Packages-Kde
âââ Packages-Lng -> ../shared/Packages-Lng
âââ Packages-Xorg -> ../shared/Packages-Xorg
âââ isomounts
âââ isolinux -> ../shared/isolinux
âââ kde-overlay
â âââ etc
â â âââ skel
â â âââ systemd
â â âââ system
â â âââ display-manager.service -> usr/lib/systemd/system/kdm.service
â â âââ graphical.target.wants
â â âââ kdm.service -> usr/lib/systemd/system/kdm.service
â âââ usr
â âââ share
â âââ config
â â âââ kdm
â â âââ kdmrc
â âââ icons
â âââ oxygen
â âââ 48x48
â âââ apps
â âââ system-software-install.png -> /usr/share/pamac/icons/48x48/status/package-download.png
âââ mkinitcpio.conf -> ../shared/mkinitcpio.conf
âââ options.conf
âââ overlay -> ../shared/overlay
âââ overlay-livecd -> ../shared/overlay-livecd
âââ pacman-gfx.conf -> ../shared/pacman-gfx.conf
âââ pacman-i686.conf -> ../shared/pacman-i686.conf
âââ pacman-lng.conf -> ../shared/pacman-lng.conf
âââ pacman-x86_64.conf -> ../shared/pacman-x86_64.conf
17 directories, 15 files
In the kde-overlay folder all customized files get added especially for that edition. Those can be configuration files for example for kickoff.
Packages-KDE will define which packages get additional installed for that edition
Packages-Lng include extra translation packages for libreoffice, firefox, thunderbird and kde itself. It can be removed but isomounts file needs to be adjusted not to load the lng-image.sqfs file which won't exists if Packages-Lng file got removed from that directory.
And in pacman-$arch.conf files you can define which Manjaro-Repository-Branch should be used.
If you change it to Manjaro-Testing you need to edit work*/root-image/etc/pacman.conf during creation of kde-image.sqfs with for example kate to match pacman-$arch.conf.
sudo kate work*/root-image/etc/pacman.conf
All in all pretty simple as already explained in our wiki.
NOT:Örnek 64 Bit KDE kalıbı oluşturacaksanız, /home/yfdogan/manjaroiso-git/src/manjaroiso/configs/kde/ konumundaki
pacman-x86_64.conf dosyasındaki depoları '
unstable' hale getirin.
Örnek:
#
# /etc/pacman.conf
#
# See the pacman.conf(5) manpage for option and repository directives
#
# GENERAL OPTIONS
#
[options]
# The following paths are commented out with their default values listed.
# If you wish to use different paths, uncomment and update the paths.
#RootDir = /
#DBPath = /var/lib/pacman/
#CacheDir = /var/cache/pacman/pkg/
#LogFile = /var/log/pacman.log
#GPGDir = /etc/pacman.d/gnupg/
HoldPkg = pacman glibc manjaro-system
# If upgrades are available for these packages they will be asked for first
SyncFirst = manjaro-system pacman
#XferCommand = /usr/bin/curl -C - -f %u > %o
#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
#CleanMethod = KeepInstalled
Architecture = auto
# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
#IgnorePkg =
#IgnoreGroup =
#NoUpgrade =
#NoExtract =
# Misc options
#UseSyslog
#UseDelta
#TotalDownload
CheckSpace
#VerbosePkgLists
# By default, pacman accepts packages signed by keys that its local keyring
# trusts (see pacman-key and its man page), as well as unsigned packages.
#SigLevel = Optional TrustedOnly
# NOTE: You must run `pacman-key --init` before first using pacman; the local
# keyring can then be populated with the keys of all official packages
# Manjaro Linux supports with `pacman-key --populate archlinux manjaro`.
#
# REPOSITORIES
# - can be defined here or included from another file
# - pacman will search repositories in the order defined here
# - local/custom mirrors can be added here or in separate files
# - repositories listed first will take precedence when packages
# have identical names, regardless of version number
# - URLs will have $repo replaced by the name of the current repo
# - URLs will have $arch replaced by the name of the architecture
#
# Repository entries are of the format:
# [repo-name]
# Server = ServerName
# Include = IncludePath
#
# The header [repo-name] is crucial - it must be present and
# uncommented to enable the repo.
#
[basis-unstable]
SigLevel = PackageRequired
Include = /etc/pacman.d/mirrorlist
[platform-unstable]
SigLevel = PackageRequired
Include = /etc/pacman.d/mirrorlist
[addon-unstable]
SigLevel = PackageRequired
Include = /etc/pacman.d/mirrorlist
[extra-unstable]
SigLevel = PackageRequired
Include = /etc/pacman.d/mirrorlist
[community-unstable]
SigLevel = PackageRequired
Include = /etc/pacman.d/mirrorlist
# If you want to run 32 bit applications on your x86_64 system,
# enable the multilib repositories as required here.
[basis-multilib-unstable]
SigLevel = PackageRequired
Include = /etc/pacman.d/mirrorlist
[multilib-unstable]
SigLevel = PackageRequired
Include = /etc/pacman.d/mirrorlist
# An example of a custom package repository. See the pacman manpage for
# tips on creating your own repositories.
#[custom]
#SigLevel = Optional TrustAll
#Server = file:///home/custompkgs
6- Kalıp oluşturma komutunu girin:
sudo buildiso
DEV DİZİNİ İLEsudo pacman -U http://ftp.nluug.nl/os/Linux/distr/manjaro/addon/x86_64/manjaroiso-0.8.xxx-any.pkg.tar.xz
sudo pacman -S git base-devel
mkdir -p ~/dev && cd ~/dev
git clone git://git.manjaro.org/core/manjaroiso.git
cd ~/dev/manjaroiso/configs/kde
sudo buildiso
GIT DEPOLARI İLEgit clone git://git.manjaro.org/core/manjaroiso.git
http://vimeo.com/63063954Kaynak:
http://wiki.manjaro.org/index.php/ManjaroISOBefore you start any build check manjaroiso todo: http://git.manjaro.org/core/manjaroiso/blobs/master/TODO
And the git-log: http://git.manjaro.org/core/manjaroiso/commits/master
It is always better to build after a "stable" release got out. If you do some custom builds you can do that any time.
Always tell the user that your install medias are testbuilds and not final yet ...