User Tools

Site Tools


mld:tutorials:mld_und_noobs

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

mld:tutorials:mld_und_noobs [2018/03/16 20:57]
helo
mld:tutorials:mld_und_noobs [2018/03/16 21:27] (current)
Line 13: Line 13:
  
 Das kann dann auch so aussehen: Das kann dann auch so aussehen:
 +
 +{{:​mld:​tutorials:​noobs-menu1.png?​400|}}
  
 Was wir brauchen: Was wir brauchen:
Line 34: Line 36:
   $ xz -9 -e boot.tar   $ xz -9 -e boot.tar
  
-  * "​Leere"​ TAR-Archive (root.tar.xz und data.tar.xz) erstellen, die als Platzhalter für die System- und Daten-Partition ​fungieren:+  * "​Leere"​ TAR-Archive (root.tar.xz und data.tar.xz) erstellen, die als Platzhalter für die System- und Daten-Partition ​dienen:
  
   $ mkdir dummy   $ mkdir dummy
Line 57: Line 59:
   * MLD.png ist ein Bildchen für das Boot-Menu (muss wie der Ordner heißen, Großbuchstaben beachten!)   * MLD.png ist ein Bildchen für das Boot-Menu (muss wie der Ordner heißen, Großbuchstaben beachten!)
  
 +{{:​mld:​tutorials:​mld.png?​50|}}
 +
 +  * os.json gibt Infos zur Distribution (Name und Description tauchen dann im Installationsmenü auf):
 +
 +<file plain os.json>
 +{
 +  "​name":​ "​MLD",​
 +  "​version":​ "​5.4",​
 +  "​release_date":​ "​2018-02-01",​
 +  "​kernel":​ "​4.14.18",​
 +  "​description":​ "VDR based on MLD.",
 +  "​username":​ "​root",​
 +  "​password":​ "​mld500",​
 +  "​supported_models":​ ["Pi 2","​Pi 3"]
 +}
 +</​file>​
 +
 +  * partitions.json legt die Größe der 3 Partitionen (partition_size_nominal),​ die wir für MLD benötigen, fest. Hier beispielhaft 0,3GB für die Boot-Partition,​ 4,9GB für System- und 9,5GB für Daten. Diese können natürlich angepasst werden. Die Boot-Partition sollte groß genug sein, da sie initial die MLD-Installationsdateien aufnehmen muss.
 +
 +<file xml partitions.json>​
 +{
 +  "​partitions":​ [
 +    {
 +      "​label":​ "​boot",​
 +      "​filesystem_type":​ "​FAT",​
 +      "​partition_size_nominal":​ 384,
 +      "​want_maximised":​ false,
 +      "​uncompressed_tarball_size":​ 256
 +    },
 +    {
 +      "​label":​ "​root",​
 +      "​filesystem_type":​ "​ext4",​
 +      "​partition_size_nominal":​ 4904,
 +      "​want_maximised":​ false,
 +      "​mkfs_options":​ "",​
 +      "​uncompressed_tarball_size":​ 10
 +    },
 +    {
 +      "​label":​ "​data",​
 +      "​filesystem_type":​ "​ext4",​
 +      "​partition_size_nominal":​ 9808,
 +      "​want_maximised":​ false,
 +      "​mkfs_options":​ "",​
 +      "​uncompressed_tarball_size":​ 10
 +    }
 +  ]
 +}
 +</​file>​
 +
 +  * partition_setup.sh macht es möglich, nach Anlegen der Partitionen und Auspacken der TAR-Files noch Anpassungen vorzunehmen. Bei der Version 5.4 wird die boot-Partition in der Datei cmdline korrigiert, damit das  initscript aus dem initramfs-Paket die boot-partition beim ersten Starten von MLD nach /mnt/bootfs mounten kann:
 +
 +<file xml partition_setup.sh>​
 +#!/bin/sh
 +
 +set -ex
 +
 +if [ -z "​$part1"​ ] || [ -z "​$part2"​ ] || [ -z "​$part3"​ ]; then
 +  printf "​Error:​ missing environment variable part1, part2 or part3\n"​ 1>&2
 +  exit 1
 +fi
 +
 +mkdir -p /tmp/1 /tmp/2 /tmp/3
 +   
 +mount "​$part1"​ /tmp/1
 +mount "​$part2"​ /tmp/2
 +mount "​$part3"​ /tmp/3
 +
 +bootuuid=$(blkid $part1 -o value -s UUID)
 +sed /​tmp/​1/​cmdline -i -e "​s|root=[^ ]*|root=UUID=${bootuuid}|"​
 +  ​
 +#sed /​tmp/​1/​cmdline -i -e "​s|root=[^ ]*|root=${part2}|"​
 +#sed /​tmp/​2/​etc/​fstab -i -e "s|^.* / |${part2} ​ / |"
 +#sed /​tmp/​2/​etc/​fstab -i -e "s|^.* /boot |${part1} ​ /boot |"
 +
 +umount /tmp/1
 +umount /tmp/2
 +umount /tmp/3
 +</​file>​
 +\\ 
 +===== Noobs mit MLD installieren ====
 + 
 +  * Den Noobs-Ordner auf die SD-Karte kopieren. Hier kann die SD-Karte (neuformatiert) aus dem ersten Schritt verwendet werden.
 +  * RPi mit SD-Karte starten und die entsprechenden Distris auswählen (MLD und ggf. andere). Installation starten
 +  * Nach Abschluss MLD auswählen und MLD starten lassen
 +  * Im OSD unter Systeminformationen die IP-Adresse auslesen
 +  * Über das WebIF auf MLD zugreifen und individuelle Installation auswählen. Bei der Boot-, System- und Daten-Partition die richtigen Einträge wählen (hier sich am besten nach der Größe orientieren),​ alle Löschen und Kopieren-Optionen anklicken und installieren
 +  * Reboot
 +  ​
 +Menu bei einer Noobs-Installation mit je einmal LibreElec und MLD:
 +
 +{{:​mld:​tutorials:​noobs-menu2.png?​400|}}
 +
 +Die Partition-Table unter MLD zeigt dann folgendes:
 +
 +<​code>​
 +MLD> fdisk -l
 +
 +Disk /​dev/​mmcblk0:​ 31.1 GB, 31104958464 bytes
 +4 heads, 16 sectors/​track,​ 949248 cylinders
 +Units = cylinders of 64 * 512 = 32768 bytes
 +
 +        Device Boot      Start         ​End ​     Blocks ​ Id System
 +/​dev/​mmcblk0p1 ​            ​129 ​      ​53620 ​    ​1711724+ ​ e Win95 FAT16 (LBA)      <--- Noobs Installations-Partition
 +/​dev/​mmcblk0p2 ​          ​53620 ​     949120 ​   28656019+ ​ 5 Extended
 +/​dev/​mmcblk0p5 ​          ​53633 ​      ​54656 ​      ​32767 ​ 83 Linux                  <--- NOOBS Settingspartition.
 +/​dev/​mmcblk0p6 ​          ​54657 ​      ​71040 ​     524287 ​  c Win95 FAT32 (LBA)      <--- Libreelec (SYSTEM)
 +/​dev/​mmcblk0p7 ​          ​71041 ​     466048 ​   12640255 ​ 83 Linux                  <--- Libreelec (STORAGE)
 +/​dev/​mmcblk0p8 ​  ​* ​     466049 ​     478336 ​     393215 ​  b Win95 FAT32            <--- MLD Boot
 +/​dev/​mmcblk0p9 ​         478337 ​     635264 ​    ​5021695 ​ 83 Linux                  <--- MLD System/Root
 +/​dev/​mmcblk0p10 ​        ​635265 ​     949120 ​   10043392 ​ 83 Linux                  <--- MLD Data
 +</​code>​
 +
 +\\ 
 +===== Tipps =====
 +
 +  * Remote Anpassungen der Noobs-Installationsdateien:​
 +
 +Wenn man schon installiert hat, aber nochmals Änderungen vornehmen möchte (z.B. neue boot.tar.gz,​ andere Partitionsgrößen,​ ...), kann man dies auch remote machen. Hierzu geht man über ssh auf das laufende MLD bzw. die gerade laufende Distri und mountet die Noobs-Installations-Partition. Über WinSCP o.ä. kann man dann die Dateien unter /​mnt/​mmcblk0p1/​os/​MLD anpassen oder neu hochladen
 +
 +<​code>​
 +MLD> mkdir -p /​mnt/​mmcblk0p1
 +MLD> mount /​dev/​mmcblk0p1 /​mnt/​mmcblk0p1
 +MLD> ls -l /​mnt/​mmcblk0p1/​os/​MLD
 +-rwxrwxr-x ​   1 root     ​root ​    ​185664252 Mar 14 00:13 boot.tar.xz
 +-rwxrwxr-x ​   1 root     ​root ​          332 Mar 14 10:15 data.tar.xz
 +-rwxrwxr-x ​   1 root     ​root ​          830 Jan  4  2017 MLD.png
 +-rwxrwxr-x ​   1 root     ​root ​          217 Mar 14 10:17 os.json
 +-rwxrwxr-x ​   1 root     ​root ​          642 Mar 14 12:46 partition_setup.sh
 +-rwxrwxr-x ​   1 root     ​root ​          604 Mar 14 12:48 partitions.json
 +-rwxrwxr-x ​   1 root     ​root ​          256 Mar 14 00:24 root.tar.xz
 +</​code>​
 +Dann RPI neu starten und <​Shift>​ drücken, damit komplett ​ N E U  aus /​dev/​mmcblk0p1 installiert wird. Damit spart man sich das Abstöpseln der SD-Card.
 +
 +  * Nachträgliche Anpassungen für die bestehenden Partitionen:​
 +
 +Man kann Namen und Beschreibung der Distributionen nach Installation im Noobs-Menü nachträglich abändern. Am Beispiel:
 +
 +<​code>​
 +MLD> mkdir /​mnt/​mmcblk0p5
 +MLD> mount /​dev/​mmcblk0p5 /​mnt/​mmcblk0p5
 +MLD> cat /​mnt/​mmcblk0p5/​installed_os.json
 +[
 + {
 +  "​bootable"​ : true,
 +  "​description"​ : "​LibreELEC is a fast and user-friendly Kodi Entertainment Center distribution.",​
 +  "​folder"​ : "/​mnt/​os/​LibreELEC_RPi2",​
 +  "​icon"​ : "/​mnt/​os/​LibreELEC_RPi2/​LibreELEC_RPi2.png",​
 +  "​name"​ : "​LibreELEC_RPi2",​
 +  "​partitions"​ : [
 +"/​dev/​mmcblk0p6",​
 +"/​dev/​mmcblk0p7"​
 +  ],
 +  "​release_date"​ : "​2018-01-21",​
 +  "​supported_models"​ : [
 +"Pi 2",
 +"Pi 3"
 +  ]
 + },
 + {
 +  "​bootable"​ : true,
 +  "​description"​ : "VDR based on MLD.",
 +  "​folder"​ : "/​mnt/​os/​MLD",​
 +  "​icon"​ : "/​mnt/​os/​MLD/​MLD.png",​
 +  "​name"​ : "​MLD",​
 +  "​partitions"​ : [
 +"/​dev/​mmcblk0p8",​
 +"/​dev/​mmcblk0p9",​
 +"/​dev/​mmcblk0p10"​
 +  ],
 +  "​release_date"​ : "​2018-02-01",​
 +  "​supported_models"​ : [
 +"Pi 2",
 +"Pi 3"
 +  ]
 + }
 +]
 +</​code>​
 +
 +Die Partition /​dev/​mmcblk0p5 ist quasi so eine Art Partition-Table für die installierten Distributionen. An dieser Stelle könnte man auch durch Ändern der Partitions-Angaben die Root-Partitionen auf einen USB-Stick auslagern.
 +
 +  * Re-Install von MLD
 +
 +Wenn eine neue Version von MLD installiert werden soll, aber die anderen bestehenden Distributionen wie bsp. LibreElec unverändert lassen willst, dann reicht es, die Installationsdateien des neuen MLD-Images in die Boot-Partition zu kopieren. Die Boot-Partition vorher leer machen, damit die neuen Dateien reinpassen, ggf. noch cmdline und config.txt wegsichern und dann neu booten. Im Noobs-Menu MLD auswählen und das Spiel mit "​Unpacking"​ beginnt von vorne...
 +
 +
 +  * "​Händische"​ Anpassung bei der Installation unter 5.3:
 +
 +Beim Schritt "​Individuelle Installation"​ im WebIF die beigefügte Datei in das Verzeichnis /etc/setup ins Noobs-MLD hochladen, um alle Partitionen sichtbar zu machen.
 +
 +{{:​mld:​tutorials:​install.sh.tar|}}
 +
 +Über ssh dann
 +
 +<​code>​
 +mv /​etc/​setup/​install.sh.tar /​etc/​setup/​install.sh
 +chmod 755 /​etc/​setup/​install.sh
 +</​code>​
 +
 +Im WebIF die Seite neu laden und dann müssten alle Partitionen sichtbar sein, Partitions auswählen (hier p8, p9, p10), alles anklicken und installieren.
  
mld/tutorials/mld_und_noobs.1521230247.txt.gz · Last modified: 2018/03/16 20:57 (external edit)