Nejprve je nutné někde na linuxu rozjet toolchain buď přeložit dle návodu https://doc.turris.cz/doc/cs/howto/turris_os_build
Nebo jej stáhnout již hotový z :
# wget https://repo.turris.cz/omnia/OpenWrt-SDK-mvebu_gcc-4.8-linaro_musl-1.1.15_eabi.Linux-x86_64.tar.bz2
Následně rozbalit
# sudo su
# cd /root
# tar jxf OpenWrt-SDK-mpc85xx-p2020-nand_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64.tar.bz2
A lépe přejmenovat adresář
# mv ./OpenWrt-SDK-mpc85xx-p2020-nand_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64 openwrt
Prepnout se do adresare toolchainu kam jsme jej rozbalili
# cd /root/openwrt/package
Následně stáhneme shellinabox z nového repository :
# git clone https://github.com/openwrt-develop/openwrt-shellinabox.git
Nyni je třeba zkopírovat hlavičkové soubory openssl do správneho adresáře toolchainu, protože jinak jej překladač při kompilaci nenajde
Po kompilaci knihovny openssl jsou headers a libs ulozeny v:
/openwrt/staging_dir/target-powerpc_8540_uClibc-0.9.33.2/usr/include/openssl
tam je ale kompilator nenajde a je potreba je zkopirovat do adresare :
/openwrt/staging_dir/toolchain-powerpc_8540_gcc-4.8-linaro_uClibc-0.9.33.2/include/openssl
(Knihovna openssl je jiz zkompilovana v toolchainu na repo.turris.cz, tedy je lepsi stahnout jiz zkompilovany toolchain jinak je nutne knihovnu openssl prelozit
Aby kompilace proběhla je potřeba provést make menuconfig v openwrt adresáři a povolit shellinabox balíček jako module (M), pokud se make menuconfig a povolení balíčku neprovede tak se kompilace vůbec nespustí !!!
# make menuconfig
Nasledně můžeme vyhledat v které části stromu je balíček shellinabox zařazen abychom jej mohli ve stromu povolit. Stisknutím “/” a následně zadáním shellinabox dojde k vyhledání ve stromu -> zjistíme že jej máme hledat v sekci Network.
Nyní spustíme kompilaci shellianbox (musíme být v adresari openwrt
# make package/shellinabox/compile
nebo
# make package/shellinabox/compile V=s
pro ziskani detailu kde kompilace spadla
Mezisoubory a zdrojove soubory jsou ulozeny a kompilovany v adresari
/openwrt/build_dir/target-powerpc_8540_uClibc-0.9.33.2/shellinabox-2.20#
Vysledny balicek je ulozen
/openwrt/bin/mpc85xx/packages/base/shellinabox_2.20_mpc85xx.ipk
Vlozime do localrepo
# localrepo add /openwrt/bin/mpc85xx/packages/base/shellinabox_2.20_mpc85xx.ipk
Provedeme instalaci
# opkg install /openwrt/bin/mpc85xx/packages/base/shellinabox_2.20_mpc85xx.ipk
Nyni je ještě třeba v luci povolit programech po spusteni nebo z prikazove readky
# /etc/init.d/shellinaboxd enable
# /etc/init.d/shellinaboxd start
Pokud chceme mit dostupně z internetu tak je ještě potřeba povolit port 4200 ve firewallu
Následně již stačí zadat v prohlížeči http://openwrt:4200
Pro původní turris je balíček ke stažení zde https://uloz.to/!RemHK4ZTiQxZ/shellinabox-2-20-mpc85xx-ipk