unos-repository

APK repository for unos
git clone git://git.finwo.net/misc/unos-repository
Log | Files | Refs | README

rcS (1980B)


      1 #!/bin/sh
      2 exec >/dev/console 2>&1
      3 echo "rcS: mounting pseudo-filesystems"
      4 mount -t proc proc /proc 2>/dev/null || true
      5 mount -t sysfs sys /sys 2>/dev/null || true
      6 mount -t devtmpfs devtmpfs /dev 2>/dev/null || true
      7 mkdir -p /dev/pts 2>/dev/null || true
      8 mount -t devpts devpts /dev/pts -o gid=5,mode=620 2>/dev/null || mount -t devpts devpts /dev/pts 2>/dev/null || true
      9 [ -c /dev/ptmx ] || mknod /dev/ptmx c 5 2 2>/dev/null || true
     10 chmod 666 /dev/ptmx 2>/dev/null || true
     11 mkdir -p /run 2>/dev/null || true
     12 if [ -f /etc/hostname ]; then
     13   hostname -F /etc/hostname 2>/dev/null || hostname unos 2>/dev/null || true
     14   echo "rcS: hostname $(hostname 2>/dev/null || cat /etc/hostname)"
     15 fi
     16 echo "rcS: bringing up loopback"
     17 ip link set lo up 2>/dev/null || ifconfig lo up 2>/dev/null || true
     18 echo "rcS: bringing up eth0"
     19 ip link set eth0 up 2>&1 | head -1
     20 sleep 1
     21 # qemu user-mode net: dhcp via udhcpc if available, else static fallback
     22 if command -v udhcpc >/dev/null 2>&1; then
     23   udhcpc -i eth0 -q 2>&1 || true
     24   # fallback if dhcp left no address
     25   ip addr show eth0 2>/dev/null | grep -q "inet " || {
     26     echo "rcS: dhcp failed, using static 10.0.2.15/24"
     27     ip addr add 10.0.2.15/24 dev eth0 2>/dev/null || ifconfig eth0 10.0.2.15 netmask 255.255.255.0 2>/dev/null || true
     28     ip route add default via 10.0.2.2 2>/dev/null || route add default gw 10.0.2.2 2>/dev/null || true
     29     echo "nameserver 10.0.2.3" > /etc/resolv.conf 2>/dev/null || true
     30   }
     31 else
     32   ip addr add 10.0.2.15/24 dev eth0 2>/dev/null || ifconfig eth0 10.0.2.15 netmask 255.255.255.0 2>/dev/null || true
     33   ip link set eth0 up 2>/dev/null || true
     34   ip route add default via 10.0.2.2 2>/dev/null || true
     35 fi
     36 echo "rcS: network ready"
     37 ip addr show 2>&1 | head -20
     38 # start supervision (runsvdir manages /etc/sv/*)
     39 if [ -d /etc/sv ]; then
     40   echo "rcS: starting runsvdir"
     41   runsvdir /etc/sv &
     42 fi
     43 if [ -x /etc/sv/tinyssh/run ]; then
     44   echo "rcS: tinyssh will be supervised"
     45 else
     46   echo "rcS: no tinyssh service found"
     47 fi