ManjaroISO
ManjaroISO 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üklenmesi
Sı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 Anlamak
ManjaroISO 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üzenleme
Aş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 #@ARCH@/pkgs-free-overlay.sqfs @ARCH@ / squashfs free #@ARCH@/pkgs-nonfree-overlay.sqfs @ARCH@ / squashfs nonfree @ARCH@/overlay.sqfs @ARCH@ / squashfs #@ARCH@/lng-image.sqfs @ARCH@ / squashfs @ARCH@/pkgs-image.sqfs @ARCH@ / squashfs @ARCH@/e17-image.sqfs @ARCH@ / squashfs @ARCH@/root-image.sqfs @ARCH@ / 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/manjaroiso
http://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İ İLE
sudo 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 İLE
git clone git://git.manjaro.org/core/manjaroiso.git
Kaynak: http://wiki.manjaro.org/index.php/ManjaroISO
Before 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 ...