Gönderen Konu: ManjaroISO Yöntemleri  (Okunma sayısı 1895 defa)

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı YFDogan [Kalbimizdesin]

  • Gelişmiş Üye
  • *****
  • İleti: 623
  • Teşekkür: +5/-0
  • Dağıtım / Distribution: Manjaro Linux
  • Sürüm / Release: KF-5
  • Ekran Kartı - Graphic Card: NVIDIA
  • Ekr. Kartı Sür. Graph.Dri: Özgür Yazılım
ManjaroISO Yöntemleri
« : 04 Mayıs 2013, 22:32:04 »
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:
Kod: [Seç]
mkdir -p ~/work/manjaroiso
ManajaroISO Yüklenmesi

Sırada, manjaroiso ve profillerini yüklemektir:
Kod: [Seç]
sudo pacman -S manjaroiso manjaroiso-profiles manjaroiso-community-profiles
Sonra  ManjaroISO profillerini çalışma dizininiz altına kopyalayın:
Kod: [Seç]
cp -a /usr/share/manjaroiso/configs ~/work/manjaroiso
ManjaroISO Profillerini Anlamak

ManjaroISO sürümüne bağlı olarak şu dizinleri elde edersiniz:
Kod: [Seç]
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:

Kod: [Seç]
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

Kod: [Seç]
# 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:
Kod: [Seç]
version=0.8.5.2
#version=0.8-r13-$(date +%m%d)

Burada şu değişkiliği yapmakta yarar var:
Kod: [Seç]
#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:
Kod: [Seç]
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:
Kod: [Seç]
Packages-E17
e17-overlay
overlay-livecd
isomounts

Packages-E17 dosya içeriği şu şekildedir:

Kod: [Seç]
### 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:
Kod: [Seç]

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:

Kod: [Seç]
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 :

Kod: [Seç]
# 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:
Kod: [Seç]
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:

Kod: [Seç]
#
# 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

Kod: [Seç]
makepkg -i
komutunu çalıştırın.

Bu komut ile manjaroiso ve profilleri yüklenecektir.

5- Örnek Kullanıcı 'yfdogan' için :
 
Kod: [Seç]
cd /home/yfdogan/manjaroiso-git/src/manjaroiso/configs/kde/
Kod: [Seç]
├── 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


Kod: [Seç]
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:
Kod: [Seç]
#
# /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:
Kod: [Seç]
sudo buildiso

DEV DİZİNİ İLE

Kod: [Seç]
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

Kod: [Seç]
git clone git://git.manjaro.org/core/manjaroiso.git
http://vimeo.com/63063954

Kaynak: http://wiki.manjaro.org/index.php/ManjaroISO

Kod: [Seç]
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 ...