Adicione o vi no Busybox que é reduzido

2

Eu tenho um plugue de energia inteligente que está rodando o Busybox e funciona via Wi-Fi para minha LAN local. Eu posso fazer isso, mas falta binários cruciais como o vi. Gostaria de adicionar alguns scripts ao dispositivo, mas não é possível neste momento. Há, no entanto, um servidor rodando nele que serve páginas ASP para configuração. Poderia algo ser feito com isso? Abaixo, mais algumas informações sobre o que está disponível. Idealmente, eu gostaria de estender Busybox com os binários que eu preciso.

# uname -a
Linux (none) 2.6.21 #324 Mon Aug 25 16:53:40 CST 2014 mips unknown

# /bin/busybox
BusyBox v1.12.1 (2014-07-31 06:32:52 CEST) multi-call binary
Copyright (C) 1998-2008 Erik Andersen, Rob Landley, Denys Vlasenko
and others. Licensed under GPLv2.
See source distribution for full notice.

Currently defined functions:
        [, [[, ash, brctl, cat, chmod, chpasswd, cp, crond, date, dd, df,
        du, echo, expr, free, grep, halt, ifconfig, init, init, insmod, kill,
        killall, login, ls, lsmod, mkdir, mknod, mount, ping, poweroff, printf,
        ps, pwd, reboot, rm, rmmod, route, sed, sh, sleep, syslogd, telnetd,
        test, tftp, top, touch, tr, udhcpc, udhcpd, umount, uname, uptime,
        vconfig, wc

# cat /proc/filesystems
nodev   rootfs
nodev   bdev
nodev   proc
nodev   sockfs
nodev   pipefs
nodev   futexfs
nodev   tmpfs
nodev   devpts
nodev   ramfs
nodev   jffs2

# mount
rootfs on / type rootfs (rw)
proc on /proc type proc (rw)
none on /var type ramfs (rw)
none on /etc type ramfs (rw)
none on /tmp type ramfs (rw)
none on /media type ramfs (rw)
none on /dev/pts type devpts (rw)

# df
Filesystem           1k-blocks      Used Available Use% Mounted on
    
por depallet 06.07.2016 / 11:51

1 resposta

2

Você pode transferir arquivos usando tftp . Com ele você pode transferir várias ferramentas em seu dispositivo, incluindo outro busybox que tem vi e outros utilitários que você precisa (confira /proc/cpuinfo para a arquitetura).

Se não houver trabalho busybox com vi para sua arquitetura, você pode tentar compilá-lo você mesmo (preferencialmente vinculado estaticamente a uClibc ) usando o Buildroot ( link ) ou Crosstools-NG ( link ) como um toolchain ou como + Gilles apontou, dê uma olhada em: link (descompacte-o usando ar vx ).

    
por 06.07.2016 / 12:11