+ +
+

Sıfırdan Milis Linux Yapımı

+
+
+
+

Uyarı

+

Test aşamasındadır. Lütfen kullanmayınız!

+
+
    +
  1. Önsistemi oluşturmak için gerekli paketler kurulur:

  2. +
+
# Milis
+mps kur lua (luafileystem kaynak kodundan derlenecek.)
+# ------------------------
+# Arch
+pacman -S base-devel
+pacman -S bison
+pacman -S libarchive
+pacman -S lua
+pacman -S lzip
+pacman -S squashfs-tools
+pacman -S xorriso
+# ------------------------
+#  Ubuntu ve türevleri için
+apt install build-essential
+apt install bison
+apt install bsdtar
+apt install lua5.3
+apt install liblua5.3
+apt install lzip
+apt install squashfs-tools
+apt install xorriso
+
+
+
    +
  1. Yetkili komut satırına geçerek Milis LFS kullanıcı dizinlerini ayarlanır:

  2. +
+
sudo su
+
+groupadd mlfs
+useradd -s /bin/bash -g mlfs -m -k /dev/null mlfs
+passwd mlfs
+
+
+
    +
  1. Milis 2.0 deposu klonlanıp önsistem için gerekli dizinler oluşturulur:

  2. +
+
git clone https://notabug.org/milislinux/milis19 /home/mlfs/milis
+git clone https://notabug.org/milislinux/mps /home/mlfs/mps
+
+cp /home/mlfs/milis/bashrc-onsistem.temp /home/mlfs/.bashrc
+cp /home/mlfs/milis/bash_profile.temp /home/mlfs/.bash_profile
+
+mkdir -p /home/mlfs/{onsistem,sources}
+mkdir -p /home/mlfs/onsistem/tools
+ln -sv /home/mlfs/onsistem/tools /
+ln -sv /home/mlfs/sources /
+
+chown -R mlfs:mlfs /home/mlfs
+
+
+
    +
  1. Önsistemi oluşturmayı başlatmak için mlfs kullanıcısıyla giriş yapılır:

  2. +
+
su - mlfs
+
+source ~/.bash_profile
+
+
+
    +
  1. İzin ve ortam değişkenleri kontrol edilir:

  2. +
+
mlfs@makine1:~$ ls -al
+
+drwxr-xr-x 7 mlfs mlfs 4096 May  5 15:09 .
+drwxr-xr-x 4 root root 4096 May  5 14:32 ..
+-rw------- 1 mlfs mlfs  166 May  5 15:17 .bash_history
+-rw-r--r-- 1 mlfs mlfs   59 May  5 14:55 .bash_profile
+-rwxr-xr-x 1 mlfs mlfs  327 May  5 15:17 .bashrc
+drwxr-xr-x 4 mlfs mlfs 4096 May  5 15:15 milis
+drwxr-xr-x 2 mlfs mlfs 4096 May  5 15:06 mps
+drwxr-xr-x 3 mlfs mlfs 4096 May  5 15:06 onsistem
+drwxr-xr-x 2 mlfs mlfs 4096 May  5 15:09 sources
+
+mlfs@makine1:~$ export
+declare -x HOME="/home/mlfs"
+declare -x LC_ALL="POSIX"
+declare -x MILIS_HOME="/home/mlfs"
+declare -x MILIS_REPO="/home/mlfs/milis"
+declare -x MPS_NOROOT="yes"
+declare -x MPS_PATH="/home/mlfs/mps"
+declare -x OLDPWD
+declare -x ONSISTEM_CHROOT="/home/mlfs/onsistem"
+declare -x ONSISTEM_TARGET="x86_64-milis-linux-gnu"
+declare -x PATH="/home/mlfs/mps/bin:/tools/bin:/usr/local/bin:/bin:/sbin:/usr/sbin:/usr/bin:/root/bin"
+declare -x PS1="\${debian_chroot:+(\$debian_chroot)}\\u@\\h:\\w\\\$ "
+declare -x PWD="/home/mlfs"
+declare -x SHLVL="1"
+declare -x TALIMATNAME="/home/mlfs/milis/talimatname"
+declare -x TERM="screen"
+
+
+
    +
  1. MPS önsistem için hazırlanıp, kontrol edilir:

  2. +
+
cd ~/mps
+bash derle.sh
+
+mlfs@makine1:~/mps$ mps.lua -v
+MPS 2.0.0 - Milis Paket Sistemi milisarge@gmail.com
+
+
+
    +
  1. Önsistem derlenmeye başlanır:

  2. +
+
cd ~/milis
+./01-onsistem.sh
+
+
+
+

Not

+

Sertifika ilgili bir hata oluşursa,

+
export WGET_GENEL_PARAM="--no-check-certificate"
+
+
+

komutu derlemeden önce verilerek sertifika denetimi kapatılabilir.

+
+

7. Önsistem derlemesi Lua ile bittiğinde ve ‘talimatname/0/order’ dosyası içindeki paketlerin kurulduğundan +emin olunduktan sonra önsistem sıkıştırılarak yedeklenir:

+
./onsistem_sfs.sh
+
+
+
    +
  1. Temel sistem paketlerinin hazırlanması için yeni derleme ortamına girilir:

  2. +
+
+

Not

+

Temel sistem üretimi ertlenmek veya sfs kullanarak yapılmak istenirse:

+
unsquashfs onsistem-tarih-saat-degeri.sfs
+mv squashfs-root ${ONSISTEM_CHROOT}
+
+
+
+

Buradan sonraki işlemler sudo yetkileri ile yapılmalıdır:

+
exit
+cd /home/mlfs/milis
+sudo su
+bash --rcfile ../.bashrc
+
+./02-enter-chroot-tools
+
+# aşağıdaki çıktıyı görmeniz gerekir.
+Chroot ortamı bağlanıyor...
+mount: /dev bound on /home/mlfs/onsistem/dev.
+mount: devpts mounted on /home/mlfs/onsistem/dev/pts.
+mount: proc mounted on /home/mlfs/onsistem/proc.
+mount: sysfs mounted on /home/mlfs/onsistem/sys.
+mount: tmpfs mounted on /home/mlfs/onsistem/run.
+temel sistem talimatları kopyalandı.
+'/etc/ssl/certs/ca-certificates.crt' -> '/home/mlfs/onsistem/tools/etc/ssl/certs/ca-certificates.crt'
+'/etc/resolv.conf' -> '/home/mlfs/onsistem/tools/etc/resolv.conf'
+
+
+
    +
  1. Temel sistem içine girildikten sonra ulaşılması gereken komut satırı:

  2. +
+
(temel) I have no name!:/#
+
+
+
    +
  1. Gerekli betikler çağrılarak sistem hazırlanmaya başlanır:

  2. +
+
(temel) I have no name!:/# 03-temel-dosya-sistemi-hazirla
+
+
+
+

Not

+

Bu aşamada ulaşılması gerek komut satırı bu şekildedir:

+
bash-5.0#
+
+
+
+
bash-5.0# 04-mps-hazirla
+
+
+

Bu aşamada mps’in doğru sürümünün kurulu olduğunu test etmek için:

+
bash-5.0# mps.lua -v
+MPS 2.0.0 - Milis Paket Sistemi milisarge@gmail.com
+
+
+
bash-5.0# 05-temel-sistemi-derle.sh
+
+
+

Bash derlenip kurulduktan sonra aşağıdaki çıktı ile derleme duracaktır:

+
# bash_refresh  komutu verip tekrar devam edin!
+
+
+

Aşağıdaki komut verilerek, derleme yeni bash ile kaldığı yerden devam edecektir:

+
bash-5.0# bash_refresh
+bash-5.0# 05-temel-sistemi-derle.sh
+
+
+
+

Not

+

Yeni bash ten sonra ortamdan çıkma durumu olursa yeniden ortam girmek için:

+
./02.1-enter-chroot
+bash-5.0# 05-temel-sistemi-derle.sh
+
+
+
+
    +
  1. Canlı(Live) imajda kullanmak üzere initramfs üretilir:

  2. +
+
dracut -N --force --xz --add 'dmsquash-live pollcdrom' --omit systemd /boot/initramfs_live `ls /usr/lib/modules`
+
+
+
    +
  1. Temel sistem derlemesi bittikten sonra derleme logları ve temel sistem incelenir:

  2. +
+

Aşağıdaki komutların çıktıları olmamalı:

+
bash-5.0# grep -l 'compilation terminated' /tmp/*.log
+bash-5.0# grep -l '.h: No such file or directory' /tmp/*.log
+
+find /var/lib/mps -name kurulan -size 0
+
+# kırık linklerin kontrolü
+rm -rf /tools
+find /usr -xtype l
+
+
+

Aşağıdaki komutun çıktısı ise ‘TM’ olmalı:

+
[ `ls /var/lib/mps/db | wc -l` -eq `cat /usr/milis/talimatname/1/order | wc -l` ] && echo "TM"
+
+
+
    +
  1. Canlı imajda kullanmak üzere root şifresi oluşturulur: (Öntanımlı toor)

  2. +
+
passwd
+
+
+
    +
  1. Temel sistem gereksiz dosyalardan arındırılır ve sfs yedeklenir:

  2. +
+
exit
+
+cd /home/mlfs/milis
+./temel_sfs.sh
+
+
+
    +
  1. Güncel MPS yüklenir ve gerekli ayarlamalar yapılır:

  2. +
+
cp onsistem/etc/bash.bashrc onsistem/root/.bashrc
+
+cd /home/mlfs/mps
+git pull
+
+cd /home/mlfs
+rm -rf onsistem/usr/milis/mps
+cp -rf mps onsistem/usr/milis/
+
+# **temel sistemin içine tekrar gireriz**
+./02.1-enter-chroot
+(temel) root:/# cd /usr/milis/mps
+(temel) root:/# echo "export MPS_PATH=/usr/milis/mps" >> /root/.bashrc
+(temel) root:/# echo "export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:\$MPS_PATH/bin" >> /root/.bashrc
+(temel) root:/# source /root/.bashrc
+(temel) root:/# sh derle.sh
+
+# sürüm numarası alınarak MPS kurulum doğrulanır.
+# mps -v
+2.0.0
+
+# bashrc profile kopyalanarak chroot ortamdan çıkış yapılır.
+cp /root/.bashrc /etc/profile
+exit
+
+
+
    +
  1. İmaj üreticinin kullanılarak temel canlı imajın üretilmesi:

  2. +
+
cd /home/mlfs
+git clone https://notabug.org/milislinux/imaj-uretici-2
+
+cd imaj-uretici-2
+./iso_olustur.sh
+
+
+
+ + +