Türkiye
Az konuş, çok çalış..

Forum

Bildirimler
Tümünü temizle

ManjaroISO Yöntemleri

YFDogan [Kalbimizdesin]
(@yfdogan)
Devamlı Kullanıcı

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

http://vimeo.com/63063954

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 ...
Alıntı
Topic starter Gönderildi : 04/05/2013 6:32 pm
Paylaş:
Translate »