Sie sind hier : Homepage →  > Linux (12) Technik des NAS-540→  > Einblick in ein NAS-542 OS→  Konfigurationsdatei "profile" in /etc/

Diese Seiten sind unsere internen Protokolle aus dem Labor.

Aufgrund der fortlaufenden Protokollierung der Ergänzungen sowie der Verbesserungen ist die Reihenfolge / Chronologie der Seiten aus dem Ruder gelaufen - leicht durcheinander geraten.

.

Ohne einen Blick in diese Datei "profile" wird es schwierig.

In "profile" werden die später benutzten Variablen erstellt und mit den initialen "Werten" oder Pfaden oder Strings belegt. Darum werden in den Boot-Scripts diese Variablen ganz am Anfang eingelesen. In den beiden nachfolgenden Boot-Scripts sind dann (unter anderem) nur noch diese Variablen zu lesen. Ich habe auf einem zweiten Bildschirm die Datei "proifile" immer nebendran im Editor offen, um zu wissen, was da gerade passiert.
.

Konfigurationsdatei "profile" in /etc/

Auch diese Datei ist ein ausführbares Script für die sogenannte bash shell.
.
#!/bin/sh
.
SETTING_PATH="/etc/settings"
.
if [ -f ${SETTING_PATH}/firmware_info_path ]; then
    BASE_PATH="`cat ${SETTING_PATH}/firmware_info_path`"
else
    BASE_PATH="/firmware"
fi
.
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:${BASE_PATH}/sbin:/usr/local/zy-pkgs/bin:${BASE_PATH}/htp
export PATH
.
LD_LIBRARY_PATH
=/lib:/usr/lib:/usr/lib/private
export LD_LIBRARY_PATH
.

Das Verzeichnis "zy-pkgs" kommt hier erstmalig vor

In dieses Verzeichnis werden später Scripte abgespeichert, die beim Neustart automatisch ausgeführt werden sollen.

.

  • An dieser Stelle sind also die 4 Variablen

.

  1. "SETTING_PATH"
  2. "BASE_PATH"
  3. "LD_LIBRARY_PATH"  und vor allem die wichtige Variable
  4. "PATH" >>> erstellt und gesetzt.

.

weitere Variablen- "settings" :

ECHO = "/bin/echo"
CAT = "/bin/cat"
RM = "/bin/rm"
MOUNT = "/bin/mount"
UMOUNT = "/bin/umount"
IP = "/bin/ip"
IFCONFIG = "/sbin/ifconfig"
SED = "/bin/sed"
MKDIR = "/bin/mkdir"
RMDIR = "/bin/rmdir"
AWK = "/bin/awk"
MD5SUM = "/sbin/md5sum"
REBOOT = "/sbin/reboot"
BUZZERC = "/sbin/buzzerc"
LN = "/bin/ln"
INSMOD = "/sbin/insmod"
RMMOD = "/sbin/rmmod"
LSMOD = "/sbin/lsmod"
DEPMOD = "/sbin/depmod"
Zusammengesetze Pfade :  
NAND_PATH = "${BASE_PATH}/mnt/nand"
DISK_PATH = "${BASE_PATH}/mnt/sysdisk"
INFO_PATH = "${BASE_PATH}/mnt/info"
HTP_PATH = "${BASE_PATH}/htp"
   
IMG_PATH = "/ram_bin"
USB_PATH = "/mnt/partnerkey"

.
if [ -f ${SETTING_PATH}/config_on_nand_path ]; then
    CONF_PATH="`cat ${SETTING_PATH}/config_on_nand_path`"
else
    CONF_PATH="/etc/zyxel"
fi
.

CONFIG_MTD_NUM = "3"
Zusammengesetze Pfade :  
CONFIG_MTD = "/dev/mtd${CONFIG_MTD_NUM}"
CONFIG_MTD_BLOCK = "/dev/mtdblock${CONFIG_MTD_NUM}"
   
GET_MAC_MCU = "/sbin/get_mac_mcu.sh"
WRITE_MAC_MCU = "/sbin/write_mac_mcu.sh"
Zusammengesetze Pfade :  
INFO_PRINTENV = "${BASE_PATH}/sbin/info_printenv"
INFO_SETENV = "${BASE_PATH}/sbin/info_setenv"
MRD_MAC = "${BASE_PATH}/sbin/mrd_mac"
MRD_MODEL = "${BASE_PATH}/sbin/mrd_model"
   
NAND_FS_TYPE = "ubifs" # ubifs/yaffs2

.

Einzelbegriffe wie MTD usw.

wurden bereits - hier - erläutert.
.

.

Startseite -- © 2001/2022 - Copyright by Dipl.-Ing. Gert Redlich / Germany - D-65191 Wiesbaden - Telefon-Nummer - Impressum