Posso instalar alguma coisa neste sistema limitado?

Posso instalar alguma coisa neste sistema limitado?

Meu modem tem uma porta telnet e quando faço login nessa porta recebo um shell root no dispositivo. Os comandos são muito limitados, mas há espaço vazio no dispositivo. Posso instalar algo como nmap neste dispositivo? Não há gerenciador de pacotes e acho que este sistema está rodando no init 1.

# cat /proc/partitions 
major minor  #blocks  name

  31        0        128 mtdblock0
  31        1         64 mtdblock1
  31        2         64 mtdblock2
  31        3       1152 mtdblock3
  31        4       6784 mtdblock4
  31        5       8192 mtdblock5
# uname -a
Linux Air5453 2.6.30 #1 Wed Dec 3 18:43:00 EET 2014 mips GNU/Linux
# free
              total         used         free       shared      buffers
  Mem:        59456        35008        24448            0         4048
 Swap:            0            0            0
Total:        59456        35008        24448
# busybox 
BusyBox v1.14.1 (2014-12-03 18:47:37 EET) multi-call binary
Copyright (C) 1998-2008 Erik Andersen, Rob Landley, Denys Vlasenko
and others. Licensed under GPLv2.
See source distribution for full notice.

Usage: busybox [function] [arguments]...
   or: function [arguments]...

        BusyBox is a multi-call binary that combines many common Unix
        utilities into a single executable.  Most people will create a
        link to busybox for each function they wish to use and BusyBox
        will act like whatever it was invoked as!

Currently defined functions:
        [, [[, arp, ash, basename, blkid, cat, chmod, cp, cut, date, depmod,
        dhcprelay, dmesg, dumpleases, echo, egrep, eject, false, fgrep,
        findfs, free, ftpd, fuser, getty, grep, halt, hostname, httpd,
        ifconfig, init, inotifyd, insmod, kill, killall, klogd, ln, login,
        ls, lsmod, lzmacat, makedevs, mdev, mkdir, mkdosfs, mkfs.vfat,
        modprobe, mount, mv, pidof, ping, poweroff, ps, pwd, reboot, rm,
        rmmod, route, sh, sleep, tar, telnetd, test, tftp, top, touch,
        traceroute, true, udhcpc, udhcpd, umount, uname, unlzma, uptime,
        vconfig, wget, which

Também posso instalar o dropbear neste dispositivo?

# clear
-sh: clear: not found
# mount
rootfs on / type rootfs (rw)
/dev/root on / type squashfs (ro,relatime)
proc on /proc type proc (rw,relatime)
sysfs on /sys type sysfs (rw,relatime)
ramfs on /var type ramfs (rw,relatime)
ramfs on /dev type ramfs (rw,relatime)
devpts on /dev/pts type devpts (rw,relatime,mode=600)
none on /proc/bus/usb type usbfs (rw,relatime)
# cat /proc/mounts 
rootfs / rootfs rw 0 0
/dev/root / squashfs ro,relatime 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,relatime 0 0
ramfs /var ramfs rw,relatime 0 0
ramfs /dev ramfs rw,relatime 0 0
devpts /dev/pts devpts rw,relatime,mode=600 0 0
none /proc/bus/usb usbfs rw,relatime 0 0

Responder1

A partir da saída dos comandos, parece que todos os sistemas de arquivos montados em leitura e gravação são temporários, não suportados por memória não volátil. /dev/rooté provavelmente um link simbólico para um dos mtdblockXdispositivos, as outras partições provavelmente serão para o bootloader e configuração. Embora possa haver algum espaço livre se você remontá-lo para leitura e gravação, nmapévários megabytes de tamanhojá, sem falar nas dependências, e é improvável que caiba no seu dispositivo, mesmo que haja espaço livre.

Parece que seu dispositivo tem suporte para USB. Dependendo da sua definição de "instalar", uma solução seria montar uma unidade flash USB pré-preenchida com os binários que deseja executar ou até mesmo usar os disponíveis ftpdpara modificar seu conteúdo remotamente.

O difícil é adquirir o software que rodará no seu aparelho. Você precisa de uma compilação compilada para o processador MIPS no seu dispositivo, portanto, isso pode exigir compilação cruzada ou encontrar um binário já compilado para o seu dispositivo (ou um dispositivo com processador, kernel, libc e outros compatíveis).

informação relacionada