3

I have an embedded system running linux. I need to install some software, in particular uucp package containing cu command. This is really all i need.

At the moment all I have is a root access to the system through COM port. So command line only. The system has access to Internet.

The problem is that I am not a very experienced linux user and I have faced following difficulties:

  • I cannot find any package manager that I would know (no apt-get, no yum, no rpm)
  • dpkg command does not work (EDIT 2: dpkg is not installed)
  • I have tried downloading *.tar.gz package using wget, I have unpacked it and executed ./configure, but when I run make, I get bash: make: command not found. So I assume binutils or something else important is missing and I will not be able to install it from source.

Can anyone suggest a workaround? Did I miss something?

EDIT 1: ouput of compgen -c (as requested by Matthew Williams)

 if
 then
 else
 elif
 fi
 case
 esac
 for
 select
 while
 until
 do
 done
 in
 function
 time
 {
 }
 !
 [[
 ]]
 .
 :
 [
 alias
 bind
 break
 builtin
 caller
 cd
 command
 compgen
 complete
 continue
 declare
 dirs
 echo
 enable
 eval
 exec
 exit
 export
 false
 fc
 getopts
 hash
 help
 history
 kill
 let
 local
 logout
 popd
 printf
 pushd
 pwd
 read
 readonly
 return
 set
 shift
 shopt
 source
 test
 times
 trap
 true
 type
 typeset
 ulimit
 umask
 unalias
 unset
 wait
 pure-ftpwho
 pure-uploadscript
 pure-mrtginfo
 pure-authd
 pure-ftpd
 pure-quotacheck
 swapon
 depmod
 ebtables-save
 halt
 agetty
 bootlogd
 udevsettle
 pcmcia-check-broken-cis
 rtmon
 telinit
 reboot
 ss
 nameif
 fsck
 ifstat
 mkfs.bfs
 routel
 ctstat
 rtacct
 ifrename
 e2label
 dhclient-script
 tune2fs
 cfdisk
 lnstat
 resize2fs
 rtstat
 ifdown
 pivot_root
 slattach
 ip
 losetup
 fsck.minix
 modprobe
 ctrlaltdel
 mkfs.nilfs2
 mkswap
 mkfs
 fdisk
 iwgetid
 udevtrigger
 e2image
 tc
 route
 nstat
 blockdev
 fsck.ext3
 getpcaps
 pcmcia-socket-startup
 ifcfg
 mount.nilfs2
 athdebug
 dumpe2fs
 ebtables
 udevd
 insmod
 findfs
 udevcontrol
 capsh
 shutdown
 iwevent
 fsck.cramfs
 mkfs.ext2
 80211stats
 ebtables-restore
 mii-tool
 rmmod
 plipconfig
 athchans
 80211debug
 mke2fs
 rtpr
 pccardctl
 debugfs
 wlanconfig
 blkid
 scsi_id
 sysctl
 genl
 hwclock
 iwpriv
 rarp
 routef
 fsck.ext2
 madwifi-unload
 swapoff
 mkfs.ext3
 e2fsck
 lspcmcia
 iwconfig
 modinfo
 mkfs.cramfs
 generate-modprobe.conf
 ifup
 athctrl
 mkfs.minix
 logsave
 athkey
 athstats
 nilfs_cleanerd
 ldconfig
 init
 elvtune
 killall5
 insmod.static
 ifconfig
 umount.nilfs2
 poweroff
 iwlist
 runlevel
 arp
 sfdisk
 iwspy
 sulogin
 badblocks
 nologin
 pure-statsdecode
 pure-pw
 pure-pwconvert
 chmod
 gzexe
 passwd
 qemu
 sync
 rdisc
 setfont
 mountpoint
 tar
 date
 test
 netstat
 install
 false
 egrep
 less
 lessecho
 cli
 mkdir
 qemu-img
 sed
 df
 dnsdomainname
 ps
 bzip2
 head
 basename
 grep
 cp
 find
 bzcat
 ls
 readlink
 tftpd
 [
 openvt
 bunzip2
 sleep
 mknod
 xmlwf
 ypdomainname
 su
 qemu-io
 login
 lsmod
 clockdiff
 rmdir
 logger
 gzip
 fuser
 chown
 killall
 uname
 rm
 mv
 fgrep
 pidof
 rarpd
 true
 gunzip
 stty
 lesskey
 zcat
 qemu-nbd
 oldfuser
 nisdomainname
 touch
 kbd_mode
 nice
 dmesg
 mount
 umount
 tracepath
 bashbug
 arch
 uncompress
 domainname
 kill
 dd
 groups
 hostname
 sh
 arping
 echo
 ipcalc
 chgrp
 loadkeys
 cat
 pwd
 ln
 more
 bash
 ping
 wpa_supplicant
 wpa_passphrase
 wpa_cli
 atftpd
 in.tftpd
 fcrontab
 pppstats
 lighttpd
 i2cdetect
 dnssec-signzone
 dhclient
 zic
 ip6tables-multi
 nsupdate
 sensors-detect
 cpufreqd
 syslogd
 hostapd_cli
 ns-update
 lighttpd-angel
 grpck
 useradd
 chpasswd
 nscd
 groupdel
 alsaconf
 ipset
 logoutd
 chroot
 iptables-restore
 rndc-confgen
 dhclient-script
 pppd
 snmpd
 vigr
 dnssec-keygen
 i2cset
 ntpdc
 i2cdump
 pwmconfig
 rpcinfo
 squid
 vipw
 groupmems
 iptables-save
 pwunconv
 logrotate
 pppoe-discovery
 udevmonitor
 i2cget
 tcpdump
 iptables-multi
 chgpasswd
 pwconv
 alsactl
 rndc
 dhcrelay
 iconvconfig
 dig
 isadump
 groupmod
 named
 sntp
 iptables
 readprofile
 partprobe
 ntpdate
 rmt
 fancontrol
 grpconv
 fcron
 conntrack
 dhcpd
 newusers
 ip6tables-save
 tunelp
 chat
 vconfig
 sshd
 ip6tables-restore
 mklost+found
 grpunconv
 usermod
 pppdump
 ip6tables
 hostapd
 snmptrapd
 userdel
 isaset
 conntrackd
 zdump
 brctl
 ntpd
 klogd
 filefrag
 groupadd
 ethtool
 pwck
 parted
 lserupdate
 ssdfix
 ssdcompress
 ssdcopy
 usbip
 usbipd
 bind_driver
 python
 idle
 python2.4
 smtpd.py
 pydoc
 php-config
 phpize
 php-cgi
 php
 glib-genmarshal
 glib-gettextize
 gobject-query
 glib-mkenums
 gdbtui
 gdbserver
 gdb
 wimaxd
 wimaxc
 atftp
 dircolors
 expr
 deallocvt
 top
 who
 comm
 locate
 xxd
 get_device
 rpcgen
 ranlib
 utmpdump
 gencat
 mib2c
 snmpset
 sensors
 mk_cmds
 ldappasswd
 runscript
 tail
 aconnect
 rview
 tsort
 setmetamode
 tee
 iptables-xml
 sha1sum
 mbchk
 pcregrep
 link
 install
 mkcp
 isosize
 ssh-keygen
 snmpdelta
 curl
 rename
 less
 xargs
 rev
 write
 talk
 wall
 ssh-agent
 zfgrep
 mapscrn
 expiry
 gettext.sh
 bzip2recover
 psfxtable
 mib2c-update
 nohup
 amixer
 cpufreq-aperf
 pkill
 envsubst
 pcretest
 mcookie
 bzmore
 snmpnetstat
 compile_et
 snmpvacm
 setleds
 dumpseg
 udevinfo
 install-info
 iecset
 psfaddtable
 toe
 file
 setsid
 lastlog
 arecord
 aplay
 fmt
 updatedb
 uniq
 ul
 RunCache
 w
 lssu
 du
 gpasswd
 vmstat
 snmptranslate
 catchsegv
 skill
 colcrt
 base64
 ssh-add
 ldapcompare
 cpufreqd-set
 fixproc
 factor
 slogin
 sg
 aseqdump
 unlink
 mktemp
 xtrace
 dirname
 fgconsole
 cpufreq-info
 ntp-keygen
 snmpbulkget
 xminicom
 libusb-config
 uptime
 clear
 paste
 lex
 setkeycodes
 pcprofiledump
 vimdiff
 getkeycodes
 view
 fcronsighup
 id
 wc
 pr
 ipcs
 dir
 get_driver
 snmpbulkwalk
 md5sum
 run-parts
 snmpinform
 strace
 ncurses5-config
 namei
 tickadj
 cmp
 pgawk
 fold
 igawk
 chcp
 cksum
 cut
 spawn-fcgi
 ntpq
 tempfile
 chvt
 snmpconf
 snddevices
 tailf
 strings
 raw
 diff
 getent
 xmlwf
 aplaymidi
 rsh
 gawk
 stat
 awk
 tftp
 colrm
 flock
 sprof
 col
 cgi-fcgi
 getopt
 snmpdf
 ptx
 yacc
 newgrp
 whereis
 gettext
 psfstriptable
 cpufreqd-get
 autopoint
 systool
 strace-graph
 scp
 vim
 ldapmodify
 ddate
 dlist_test
 zless
 pwdx
 printf
 minicom
 tput
 lastb
 znew
 unexpand
 pcre-config
 chsh
 split
 pstree
 zegrep
 sort
 vi
 unicode_stop
 pathchk
 rvim
 snmpget
 logname
 nm
 tr
 ldapadd
 ntptime
 cpufreq-set
 lddlibc4
 zgrep
 gcov
 column
 snmptable
 rmcp
 ldapdelete
 squidclient
 setfdprm
 ldapmodrdn
 lsattr
 script
 dig
 iperf
 chkdupexe
 loadunimap
 soapcpp2
 snmpusm
 snmpwalk
 isc-config.sh
 pmap
 tty
 slabtop
 mtrace
 users
 tzselect
 seq
 pg
 ldapwhoami
 get_module
 hexdump
 alsamixer
 unicode_start
 yes
 line
 ipcrm
 snmptest
 telnet
 zcmp
 getconf
 encode_keychange
 faillog
 renice
 wget
 ldapexop
 look
 speaker-test
 pinky
 addr2line
 openssl
 shuf
 nmap
 last
 lscp
 size
 zmore
 ftp
 ngettext
 ldapurl
 od
 ex
 bzdiff
 gettextize
 ntp-wait
 net-snmp-config
 snmpstatus
 snice
 free
 c++
 recode-sr-latin
 kbdrate
 setterm
 mkfifo
 fdformat
 snmptrap
 ntptrace
 amidi
 snmpcheck
 printenv
 arecordmidi
 chattr
 sdiff
 mesg
 groups
 ldd
 cytune
 env
 zforce
 join
 rlogin
 expand
 hostid
 psfgettable
 ssh-keyscan
 tset
 vimtutor
 rcp
 traptoemail
 ascii-xfr
 tkmib
 tload
 ssh
 udevtest
 sum
 watch
 aseqnet
 wsdl2h
 pgrep
 rsync
 ddcmon
 aserver
 resizecons
 snmpgetnext
 ldapsearch
 whoami
 reset
 zdiff
 pstree.x11
 uuidgen
 diff3
 sftp
 curl-config
 bzgrep
 [01;31m[root@ccu uucp-1.06.1]#[00m compgen -c
 if
 then
 else
 elif
 fi
 case
 esac
 for
 select
 while
 until
 do
 done
 in
 function
 time
 {
 }
 !
 [[
 ]]
 .
 :
 [
 alias
 bind
 break
 builtin
 caller
 cd
 command
 compgen
 complete
 continue
 declare
 dirs
 echo
 enable
 eval
 exec
 exit
 export
 false
 fc
 getopts
 hash
 help
 history
 kill
 let
 local
 logout
 popd
 printf
 pushd
 pwd
 read
 readonly
 return
 set
 shift
 shopt
 source
 test
 times
 trap
 true
 type
 typeset
 ulimit
 umask
 unalias
 unset
 wait
 pure-ftpwho
 pure-uploadscript
 pure-mrtginfo
 pure-authd
 pure-ftpd
 pure-quotacheck
 swapon
 depmod
 ebtables-save
 halt
 agetty
 bootlogd
 udevsettle
 pcmcia-check-broken-cis
 rtmon
 telinit
 reboot
 ss
 nameif
 fsck
 ifstat
 mkfs.bfs
 routel
 ctstat
 rtacct
 ifrename
 e2label
 dhclient-script
 tune2fs
 cfdisk
 lnstat
 resize2fs
 rtstat
 ifdown
 pivot_root
 slattach
 ip
 losetup
 fsck.minix
 modprobe
 ctrlaltdel
 mkfs.nilfs2
 mkswap
 mkfs
 fdisk
 iwgetid
 udevtrigger
 e2image
 tc
 route
 nstat
 blockdev
 fsck.ext3
 getpcaps
 pcmcia-socket-startup
 ifcfg
 mount.nilfs2
 athdebug
 dumpe2fs
 ebtables
 udevd
 insmod
 findfs
 udevcontrol
 capsh
 shutdown
 iwevent
 fsck.cramfs
 mkfs.ext2
 80211stats
 ebtables-restore
 mii-tool
 rmmod
 plipconfig
 athchans
 80211debug
 mke2fs
 rtpr
 pccardctl
 debugfs
 wlanconfig
 blkid
 scsi_id
 sysctl
 genl
 hwclock
 iwpriv
 rarp
 routef
 fsck.ext2
 madwifi-unload
 swapoff
 mkfs.ext3
 e2fsck
 lspcmcia
 iwconfig
 modinfo
 mkfs.cramfs
 generate-modprobe.conf
 ifup
 athctrl
 mkfs.minix
 logsave
 athkey
 athstats
 nilfs_cleanerd
 ldconfig
 init
 elvtune
 killall5
 insmod.static
 ifconfig
 umount.nilfs2
 poweroff
 iwlist
 runlevel
 arp
 sfdisk
 iwspy
 sulogin
 badblocks
 nologin
 pure-statsdecode
 pure-pw
 pure-pwconvert
 chmod
 gzexe
 passwd
 qemu
 sync
 rdisc
 setfont
 mountpoint
 tar
 date
 test
 netstat
 install
 false
 egrep
 less
 lessecho
 cli
 mkdir
 qemu-img
 sed
 df
 dnsdomainname
 ps
 bzip2
 head
 basename
 grep
 cp
 find
 bzcat
 ls
 readlink
 tftpd
 [
 openvt
 bunzip2
 sleep
 mknod
 xmlwf
 ypdomainname
 su
 qemu-io
 login
 lsmod
 clockdiff
 rmdir
 logger
 gzip
 fuser
 chown
 killall
 uname
 rm
 mv
 fgrep
 pidof
 rarpd
 true
 gunzip
 stty
 lesskey
 zcat
 qemu-nbd
 oldfuser
 nisdomainname
 touch
 kbd_mode
 nice
 dmesg
 mount
 umount
 tracepath
 bashbug
 arch
 uncompress
 domainname
 kill
 dd
 groups
 hostname
 sh
 arping
 echo
 ipcalc
 chgrp
 loadkeys
 cat
 pwd
 ln
 more
 bash
 ping
 wpa_supplicant
 wpa_passphrase
 wpa_cli
 atftpd
 in.tftpd
 fcrontab
 pppstats
 lighttpd
 i2cdetect
 dnssec-signzone
 dhclient
 zic
 ip6tables-multi
 nsupdate
 sensors-detect
 cpufreqd
 syslogd
 hostapd_cli
 ns-update
 lighttpd-angel
 grpck
 useradd
 chpasswd
 nscd
 groupdel
 alsaconf
 ipset
 logoutd
 chroot
 iptables-restore
 rndc-confgen
 dhclient-script
 pppd
 snmpd
 vigr
 dnssec-keygen
 i2cset
 ntpdc
 i2cdump
 pwmconfig
 rpcinfo
 squid
 vipw
 groupmems
 iptables-save
 pwunconv
 logrotate
 pppoe-discovery
 udevmonitor
 i2cget
 tcpdump
 iptables-multi
 chgpasswd
 pwconv
 alsactl
 rndc
 dhcrelay
 iconvconfig
 dig
 isadump
 groupmod
 named
 sntp
 iptables
 readprofile
 partprobe
 ntpdate
 rmt
 fancontrol
 grpconv
 fcron
 conntrack
 dhcpd
 newusers
 ip6tables-save
 tunelp
 chat
 vconfig
 sshd
 ip6tables-restore
 mklost+found
 grpunconv
 usermod
 pppdump
 ip6tables
 hostapd
 snmptrapd
 userdel
 isaset
 conntrackd
 zdump
 brctl
 ntpd
 klogd
 filefrag
 groupadd
 ethtool
 pwck
 parted
 lserupdate
 ssdfix
 ssdcompress
 ssdcopy
 usbip
 usbipd
 bind_driver
 python
 idle
 python2.4
 smtpd.py
 pydoc
 php-config
 phpize
 php-cgi
 php
 glib-genmarshal
 glib-gettextize
 gobject-query
 glib-mkenums
 gdbtui
 gdbserver
 gdb
 wimaxd
 wimaxc
 atftp
 dircolors
 expr
 deallocvt
 top
 who
 comm
 locate
 xxd
 get_device
 rpcgen
 ranlib
 utmpdump
 gencat
 mib2c
 snmpset
 sensors
 mk_cmds
 ldappasswd
 runscript
 tail
 aconnect
 rview
 tsort
 setmetamode
 tee
 iptables-xml
 sha1sum
 mbchk
 pcregrep
 link
 install
 mkcp
 isosize
 ssh-keygen
 snmpdelta
 curl
 rename
 less
 xargs
 rev
 write
 talk
 wall
 ssh-agent
 zfgrep
 mapscrn
 expiry
 gettext.sh
 bzip2recover
 psfxtable
 mib2c-update
 nohup
 amixer
 cpufreq-aperf
 pkill
 envsubst
 pcretest
 mcookie
 bzmore
 snmpnetstat
 compile_et
 snmpvacm
 setleds
 dumpseg
 udevinfo
 install-info
 iecset
 psfaddtable
 toe
 file
 setsid
 lastlog
 arecord
 aplay
 fmt
 updatedb
 uniq
 ul
 RunCache
 w
 lssu
 du
 gpasswd
 vmstat
 snmptranslate
 catchsegv
 skill
 colcrt
 base64
 ssh-add
 ldapcompare
 cpufreqd-set
 fixproc
 factor
 slogin
 sg
 aseqdump
 unlink
 mktemp
 xtrace
 dirname
 fgconsole
 cpufreq-info
 ntp-keygen
 snmpbulkget
 xminicom
 libusb-config
 uptime
 clear
 paste
 lex
 setkeycodes
 pcprofiledump
 vimdiff
 getkeycodes
 view
 fcronsighup
 id
 wc
 pr
 ipcs
 dir
 get_driver
 snmpbulkwalk
 md5sum
 run-parts
 snmpinform
 strace
 ncurses5-config
 namei
 tickadj
 cmp
 pgawk
 fold
 igawk
 chcp
 cksum
 cut
 spawn-fcgi
 ntpq
 tempfile
 chvt
 snmpconf
 snddevices
 tailf
 strings
 raw
 diff
 getent
 xmlwf
 aplaymidi
 rsh
 gawk
 stat
 awk
 tftp
 colrm
 flock
 sprof
 col
 cgi-fcgi
 getopt
 snmpdf
 ptx
 yacc
 newgrp
 whereis
 gettext
 psfstriptable
 cpufreqd-get
 autopoint
 systool
 strace-graph
 scp
 vim
 ldapmodify
 ddate
 dlist_test
 zless
 pwdx
 printf
 minicom
 tput
 lastb
 znew
 unexpand
 pcre-config
 chsh
 split
 pstree
 zegrep
 sort
 vi
 unicode_stop
 pathchk
 rvim
 snmpget
 logname
 nm
 tr
 ldapadd
 ntptime
 cpufreq-set
 lddlibc4
 zgrep
 gcov
 column
 snmptable
 rmcp
 ldapdelete
 squidclient
 setfdprm
 ldapmodrdn
 lsattr
 script
 dig
 iperf
 chkdupexe
 loadunimap
 soapcpp2
 snmpusm
 snmpwalk
 isc-config.sh
 pmap
 tty
 slabtop
 mtrace
 users
 tzselect
 seq
 pg
 ldapwhoami
 get_module
 hexdump
 alsamixer
 unicode_start
 yes
 line
 ipcrm
 snmptest
 telnet
 zcmp
 getconf
 encode_keychange
 faillog
 renice
 wget
 ldapexop
 look
 speaker-test
 pinky
 addr2line
 openssl
 shuf
 nmap
 last
 lscp
 size
 zmore
 ftp
 ngettext
 ldapurl
 od
 ex
 bzdiff
 gettextize
 ntp-wait
 net-snmp-config
 snmpstatus
 snice
 free
 c++
 recode-sr-latin
 kbdrate
 setterm
 mkfifo
 fdformat
 snmptrap
 ntptrace
 amidi
 snmpcheck
 printenv
 arecordmidi
 chattr
 sdiff
 mesg
 groups
 ldd
 cytune
 env
 zforce
 join
 rlogin
 expand
 hostid
 psfgettable
 ssh-keyscan
 tset
 vimtutor
 rcp
 traptoemail
 ascii-xfr
 tkmib
 tload
 ssh
 udevtest
 sum
 watch
 aseqnet
 wsdl2h
 pgrep
 rsync
 ddcmon
 aserver
 resizecons
 snmpgetnext
 ldapsearch
 whoami
 reset
 zdiff
 pstree.x11
 uuidgen
 diff3
 sftp
 curl-config
 bzgrep
7
  • A good start will be to run compgen -c to find out what commands you can actually run. Mar 10, 2014 at 9:42
  • Should I post the entire output of command here? that's gonna be a lot I believe Mar 10, 2014 at 9:46
  • You can use this list to get an idea of what workarounds you might be able to do. You may or may not require help doing this. Looking at dpkg you can go have a look in /usr/bin/dpkg and see if it exists. Mar 10, 2014 at 9:53
  • No, dpkg does not exists. Pretty sure about it. Just checked now Mar 10, 2014 at 9:58
  • Also I want to note that the whole case is rather interesting. "How do you install something on linux when there is no tool to install it". However my task is just to get cu command working. So if there is some quick workaround to do that, I would be more than happy to skip the rest. In windows I would just copy executables from any other machine to system32 folder. Is there a way to transfer existing executables in linux? Mar 10, 2014 at 10:04

1 Answer 1

5

You can't build on the machine itself. That means you need to copy binaries from elsewhere. And these binaries have to be appropriate for your embedded device - an ARM device won't run x86 or MIPS binaries.

So, the first question is what device you have. uname -a should help. If you can find binaries for that architecture, good. Copy them over, run ldd to figure out what libraries it needs, install those too and you're good.

If you can't find binaries, you will need to build them, but on another machine. This is called cross-compiling. You can do that on a regular PC, preferably one running Linux. But you need to set up a cross-compiler toolchain. There's quite a bit of documentation on that, but detailed questions you should ask on StackOverflow.

2
  • That's an answer and a half! I am going to give it a try, I have reasons to believe that it is x86 architecture, but I will double check it. I will be back with results when I achieve anything. Also, could you please answer following question: if I build binaries from source on the machine with the same architecture would that work OK? Mar 10, 2014 at 12:05
  • @smc: Quite likely, but you might have issues if the libc versions differ too much. Again, ldd should help in figuring that out.
    – MSalters
    Mar 12, 2014 at 8:17

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .