Re: UBNT Nanostation 2 - vypnutí konsole na ttyS0

Jindrich Fucik fulda na seznam.cz
Pondělí Duben 1 20:42:57 CEST 2019


Na linuxu to bývá /etc/default/console-setup
Pak taky na linuxu bejvá /etc/init/*tty* nebo *tty*.conf a pak taky 
/etc/event.d/*tty*




Dne 1.4.2019 v 20:08 Petr Zapadlo napsal(a):
> Zdravím,
> 
> bohužel, /etc/ttys není.
> 
> V adresáři /tmp jsou soubory:
> 
> boot.log     running.cfg  system.cfg
> Ze souboru system.cfg se generuje pomocí linuxrc výsledná konfigurace.
> 
> Níže uvádím obsahy zajímavých souborů, kdyby někdo náhodou věděl jak se 
> getty zbavit.
> 
> Díky
> 
> Petr
> 
> Mount:
> 
> /dev/mtdblock2 on / type squashfs (ro)
> none on /proc type proc (rw)
> tmpfs on /dev type tmpfs (rw)
> pts on /dev/pts type devpts (rw)
> tmpfs on /var type tmpfs (rw)
> 
> /etc/inittab:
> 
> # Executed on startup
> ::sysinit:/etc/rc.d/rc.sysinit
> # Start an "askfirst" shell on the console (whatever that may be)
> ttyS0::askfirst:/sbin/getty -L ttyS0 9600 vt100
> # Stuff to do when restarting the init process
> ::restart:/sbin/init
> # Run daemons
> ::wait:/usr/etc/rc.d/rc start
> # Stuff to do before rebooting
> ::ctrlaltdel:/sbin/reboot
> ::shutdown:/etc/rc.d/rc stop
> ::shutdown:/etc/rc.d/rc.stop
> ::shutdown:/bin/umount -a -r
> null::respawn:/bin/infctld -m -c
> null::respawn:/bin/syslogd -n
> null::respawn:/bin/pwdog -d 300 -p 300 -c 3 -m 300 172.28.116.1
> null::respawn:/bin/lighttpd -D -f /etc/lighttpd.conf
> null::respawn:/bin/telnetd -F -p 23
> null::respawn:/bin/dropbear -F -p 22
> null::respawn:/bin/wpa_supplicant -D wext -i ath0 -c 
> /etc/wpasupplicant_WPA-PSK.conf
> null::respawn:/sbin/ntpclient -s -c 0 -l -h 0.ubnt.pool.ntp.org
> null::respawn:/bin/mcad
> 
> 
> Soubor /linuxrc ze kterého se generuje konfigurace:
> 
> #!/bin/sh
> #
> 
> #
> # Global environment
> #
> 
> CONSOLE=/dev/ttyS0
> export CONSOLE
> 
> TERM=linux
> export TERM
> 
> PATH=/bin:/sbin:/usr/bin:/usr/sbin
> export PATH
> 
> # prepare filesystems
> /bin/mount -n none /proc -t proc
> echo 1 > /proc/sys/kernel/printk
> echo 3 > /proc/sys/kernel/panic
> /bin/mount -t tmpfs tmpfs /dev -o size=102400
> /bin/mkdir /dev/pts
> /bin/mknod /dev/console c 5 1
> /bin/mknod /dev/full c 1 7
> /bin/mknod /dev/kmem c 1 2
> /bin/mknod /dev/loop0 b 7 0
> /bin/mknod /dev/mem c 1 1
> /bin/mknod -m 664 /dev/mtd0 c 90 0
> /bin/mknod -m 664 /dev/mtd1 c 90 2
> /bin/mknod -m 664 /dev/mtd2 c 90 4
> /bin/mknod -m 664 /dev/mtd3 c 90 6
> /bin/mknod -m 664 /dev/mtd4 c 90 8
> /bin/mknod -m 664 /dev/mtd5 c 90 10
> /bin/mknod -m 664 /dev/mtd6 c 90 12
> /bin/mknod -m 664 /dev/mtd7 c 90 14
> /bin/mknod -m 664 /dev/mtd8 c 90 16
> /bin/mknod -m 664 /dev/mtd9 c 90 18
> /bin/mknod -m 664 /dev/mtdblock0 b 31 0
> /bin/mknod -m 664 /dev/mtdblock1 b 31 1
> /bin/mknod -m 664 /dev/mtdblock2 b 31 2
> /bin/mknod -m 664 /dev/mtdblock3 b 31 3
> /bin/mknod -m 664 /dev/mtdblock4 b 31 4
> /bin/mknod -m 664 /dev/mtdblock5 b 31 5
> /bin/mknod -m 664 /dev/mtdblock6 b 31 6
> /bin/mknod -m 664 /dev/mtdblock7 b 31 7
> /bin/mknod -m 664 /dev/mtdblock8 b 31 8
> /bin/mknod -m 664 /dev/mtdblock9 b 31 9
> /bin/mknod -m 666 /dev/null c 1 3
> /bin/mknod /dev/port c 1 4
> /bin/mknod /dev/random c 1 8
> /bin/mknod /dev/rtc c 10 135
> /bin/mknod /dev/tty c 5 0
> /bin/mknod /dev/tty0 c 4 0
> /bin/mknod /dev/tty1 c 4 1
> /bin/mknod /dev/tty2 c 4 2
> /bin/mknod /dev/tty3 c 4 3
> /bin/mknod /dev/ttyS0 c 4 64
> /bin/mknod /dev/urandom c 1 9
> /bin/mknod /dev/zero c 1 5
> /bin/mknod /dev/ptmx c 5 2
> /bin/mknod /dev/watchdog c 10 130
> /bin/mknod /dev/gpio c 127 0
> /bin/mknod /dev/ppp c 108 0
> /bin/mknod /dev/int c 69 0
> /bin/mount -n pts /dev/pts -t devpts
> /bin/mount -n tmpfs /var -t tmpfs -o size=5242880
> /bin/mkdir -p /var/run /var/tmp /var/log /var/etc /var/etc/persistent
> /bin/chmod 775 /var/run /var/tmp /var/log /var/etc /var/etc/persistent
> 
> echo -n "Checking /etc..."
> # making sure that critical files are in place
> mkdir -p /etc/rc.d /etc/init.d
> # forced update
> for f in inittab rc.d/rc.sysinit rc.d/rc rc.d/rc.stop ppp; do
>          cp -f -r /usr/etc/$f /etc/$f
> done
> 
> mkdir -p /etc/udhcpc
> # do not update if exist
> for f in passwd group login.defs profile hosts host.conf \
> fstab udhcpc/udhcpc startup.list udhcpc_services; do
>      if ! [ -e /etc/$f ]; then
>          cp -f /usr/etc/$f /etc/$f
>      fi
> done
> 
> mkdir -p /etc/sysinit
> # make symlinks if do not exist
> for f in services protocols shells mime.types ethertypes; do
>      if ! [ -e /etc/$f ]; then
>          ln -s /usr/etc/$f /etc/$f
>      fi
> done
> 
> mkdir -p /etc/boa
> # check if we have uploaded certificates
> for f in server.crt server.key; do
>      if [ -e /etc/persistent/https/$f ]; then
>          ln -s /etc/persistent/https/$f /etc/boa/$f
>      else
>          ln -s /usr/etc/$f /etc/boa/$f
>      fi
> done
> 
> echo "."
> 
> # required for 2.5 kernel, but won't hurt for 2.2
> if [ -e /proc/sys/kernel/real-root-dev ]; then
>      echo 256 > /proc/sys/kernel/real-root-dev
> fi
> 
> # System configuration
> mkdir -p /etc/sysinit/
> /sbin/cfgmtd -r -p /etc/ -f /tmp/system.bak
> if [ $? -ne 0 ]; then
> /sbin/cfgmtd -r -p /etc/ -t 2 -f /tmp/system.bak
> if [ $? -ne 0 ]; then
> cp /usr/etc/system.cfg /tmp/system.bak
> fi
> fi
> sort /tmp/system.bak > /tmp/system.cfg
> rm /tmp/system.bak
> cp /tmp/system.cfg /tmp/running.cfg
> 
> # Set timezone
> TIMEZONE=`grep system\.timezone= /tmp/system.cfg | cut -f2 -d'='`
> [ ! -z $TIMEZONE ] && echo $TIMEZONE > /etc/TZ
> 
> # Set device date to firmware build date or date from config (if set)
> BDATE=072413422015
> CFG_DATE_STATUS=`grep system\.date\.status= /tmp/system.cfg | cut -f2 
> -d'='`
> CFG_DATE=`grep system\.date\.timestamp= /tmp/system.cfg | cut -f2 -d'='`
> if [ ".$CFG_DATE_STATUS" = ".enabled" ] && [ ! -z $CFG_DATE ]; then
>          date -s $CFG_DATE >/dev/null 2>&1
> elif [ ! -z $BDATE ]; then
>          date -s $BDATE >/dev/null 2>&1
> fi
> 
> # Run configuration parser
> [ -e /sbin/ubntconf ] && /sbin/ubntconf
> 
> echo "Executing init..."
> exec /sbin/init -f
> 
> echo "INTERNAL ERROR!!! Cannot run /sbin/init."
> 
> 
> 
> Dne 30.3.2019 v 21:21 Jindrich Fucik napsal(a):
>> soubor /etc/ttys na tvém operačním systému existuje?
>>
>>
>> Dne 30.3.2019 v 18:51 Petr Zapadlo napsal(a):
>>> Zdravím,
>>>
>>> potřeboval bych k Nanostation 2 připojit přes seriový port zařízení a 
>>> mít možnost na nanostation sledovat telemetrii z toho zařízení která 
>>> přichází po seriovém portu.
>>>
>>> Mám to rozložené na stole, Nanostation má seriový port i dokonce 
>>> zapájený hřebínek.  takže propojení je dílem okamžiku.  Problém je 
>>> však v tom, že na seriovém portu sedí konsole (getty) a nedaří se mi 
>>> ho zbavit.  Nepotřebuji to zkonfigurovat natrvalo, stačí mi, když se 
>>> přihlásím, "zabiju getty" a  navážu komunikaci se zařízením sedícím 
>>> na seriovém portu.
>>>
>>> Zkoušel jsem:
>>>
>>> - jen tak zabít getty, hned se restartne znovu (pochopitelně)
>>>
>>> - otevřít /etc/inittab a zakomentovat řádek: 
>>> "ttyS0::askfirst:/sbin/getty -L ttyS0 9600 vt100", následně init q a 
>>> kill getty. Opět se potvora zase spustí.
>>>
>>> - změnit řádek  a getty poslat na jiný port - nijak se to neprojeví.
>>>
>>> Zřejmě je to ještě nějak jinak. Jestli jsem to správně pochopil, tak 
>>> se konfigurační soubory generují za letu pomocí skriptu linuxrc. Ten 
>>> je však pouze ro  a nemůžu zakomentovat ten řádek co pak spadne do 
>>> inittabu.
>>>
>>> Nemám velkou zkušenost s embedded  linuxem, takže nevím jak na to.
>>>
>>> Ví někdo jak na to?
>>>
>>> Díky /dev/mtdblock2 on / type squashfs (ro)
>>> none on /proc type proc (rw)
>>> tmpfs on /dev type tmpfs (rw)
>>> pts on /dev/pts type devpts (rw)
>>> tmpfs on /var type tmpfs (rw)
>>>
>>>
>>> Petr
>>>
>>>
>>>
>>> _______________________________________________
>>> HW-list mailing list  -  sponsored by www.HW.cz
>>> Hw-list na list.hw.cz
>>> http://list.hw.cz/mailman/listinfo/hw-list
>> _______________________________________________
>> HW-list mailing list  -  sponsored by www.HW.cz
>> Hw-list na list.hw.cz
>> http://list.hw.cz/mailman/listinfo/hw-list
> 
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list


Další informace o konferenci Hw-list