This is an old revision of the document!
Piratebox on the Zsun
Like many of us have read the article on slashdot about the Openwrt capabilities of the Zsun Wifi card Reader. The idea of having PirateBox running on the smallest device yet made me order one from China. After many hours of installing, troubleshooting, resetting e.d. I now have a complete working Piratebox installation. I would like to share my installation scripts in order to let you install your own.
OpenWrt (15.05 “Chaos Calmer”) and PirateBox (1.0.7) were used in the making of this tutorial.
DISCLAIMER: NOBODY will take responsibility or be liable for anything you do to your zsun. If you brick it trying these procedures, YOU are solely responsible for your actions. YOU HAVE BEEN WARNED.
0. Prerequisite (manual)
- Having a Zsun running OpenWrt. I've used the hackerspace.pl method.
- 1 SD card with 2 primary partitions. For the first partition I've used vfat (size:remaining), the second is ext4 (size:1GiB) Setup based on link. This can be done on any linux machine with Gparted.
- Download and extract meduza's custom zsun install package with modified ext config to the vfat partition of the SDcard (will become sda1).
- Root password set.
- Changed the default uhhtpd (LuCI) ports to 9080 and 9443.
vi /etc/config/uhttpd /etc/init.d/uhttpd reload
- Get internet working on the zsun.
Adjust the wan config zone in /etc/config/firewall like so:
config zone option name wan option network 'wan wan6 wwan' option input REJECT option output ACCEPT option forward REJECT option masq 1 option mtu_fix 1
/etc/config/wireless should look like so (adjust essids and encryption as you need it):
config wifi-device 'radio0' option type 'mac80211' option hwmode '11g' option path 'platform/ar933x_wmac' option htmode 'HT20' option disabled '0' option channel 'auto' option txpower '18' option country '00' config wifi-iface option ssid 'OpenWrt' option device 'radio0' option mode 'ap' option network 'lan' option encryption 'none' config wifi-iface option ssid 'yourWifiName' option device 'radio0' option mode 'sta' option network 'wwan' #option encryption 'none' option encryption 'psk2' option key 'yourSuperSecurePass'
Allow the wwan to get it's IP via DHCP by adding the following to /etc/config/network:
config interface 'wwan' option proto 'dhcp'
reboot
- Reconnect to OpenWRT
An additional wireless connection with your own WiFi is made in 'sta' mode. Because OpenWrt (and PirateBox) are using the IP 192.168.1.1 (sub-netmask /24) the network (WiFi) you are connecting to can't use the same sub-net mask.
- Verify your internet connection using
ping google.com opkg update
- Mount the first partition of the SD card to gain access to the scripts.
mkdir /mnt/sda1 mount /dev/sda1 /mnt/sda1
1. PreSetup (script)
- There is a small script with the following lines
- cd /mnt/sda1/zsun
- Make it executable and run script ./1.preSetup.sh
mkdir /mnt/ext mkdir /mnt/usb mkdir /mnt/sda2 mount /dev/sda2 /mnt/sda2 tar -C /overlay -cvf - . | tar -C /mnt/sda2 -xf - uci add fstab mount uci set fstab.@mount[-1].target=/overlay uci set fstab.@mount[-1].device=/dev/sda2 uci set fstab.@mount[-1].fstype=ext4 uci set fstab.@mount[-1].options=rw,sync uci set fstab.@mount[-1].enabled=1 uci set fstab.@mount[-1].enabled_fsck=0 uci commit
- Reboot
2. ApplySetup (script)
- remount the vfat partition
mount /dev/sda1 /mnt/sda1 cd /mnt/sda1/zsun
- Make it executable and run script ./2.applySetup.sh
- This script includes the following lines:
cp -r ./extendRoot/etc/* /etc/ chmod o+w /etc/init.d/ext cp -r ./extendRoot/usr/* /usr/ mount /dev/sda2 /mnt/usb cp -r ./piratebox.zip/install /mnt/usb/ gzip -dc /mnt/usb/install/OpenWRT_ext4_50MB.img.gz > /mnt/usb/OpenWRT.img /etc/init.d/ext init
- Manually type this, but im not sure if it is necessary:
source /etc/profile
3. PirateboxInstall (script)
- Make it executable and run script ./3.installPiratebox.sh
- This script includes the following lines:
echo "src/gz piratebox http://stable.openwrt.piratebox.de/all/packages" >> /etc/opkg.conf sed 's|option check_signature 1||g' -i /etc/opkg.conf rmdir /mnt/ext/usr ln -s /etc /mnt/ext/ ln -s /lib /mnt/ext/ ln -s /tmp /mnt/ext/ ln -s /usr /mnt/ext/ opkg update opkg -d ext install piratebox
4.PirateboxInstall (manual)
- After firewall configuration network has been disconnected.
- Set fixed ip on client pc and finish install
- IP: 192.168.1.2
- SN: 255.255.255.0
- GW: 192.168.1.1
- Log back into the zsun
/etc/init.d/piratebox init
- If you get a losetup error, run it again.
- Next run:
/etc/init.d/piratebox start
Post piratebox install config
date
- Adjust if needed.
date YYYYMMDDHHMM
Install timesave
/opt/piratebox/bin/timesave.sh /opt/piratebox/conf/piratebox.conf install /etc/init.d/piratebox timesave
Get shoutbox working
chmod a+w /opt/piratebox/share/tmp
/etc/init.d/piratebox enable
Install Minidlna
opkg update opkg -d ext install minidlna cp /opt/piratebox/src/openwrt.example.minidlna /mnt/ext/etc/config/minidlna /etc/init.d/minidlna start /etc/init.d/minidlna enable
Install Imageboard
opkg -d ext install piratebox-mod-imageboard
- if you get and error about failing to get dependencies * libc * libc *, try this:
cd /tmp wget http://downloads.openwrt.org/chaos_calmer/15.05/ar71xx/generic/packages/base/libc_0.9.33.2-1_ar71xx.ipk opkg -d ext install libc_0.9.33.2-1_ar71xx.ipk
- Then try installing the imageboard again.
post install config imageboard
- This is a password YOU set for the imageboard.
/opt/piratebox/bin/board-autoconf.sh
- Verify the password set correctly
vi /opt/piratebox/www/board/config.pl
(CTRL+Z) to exit vi
Turn off Internet connection
vi /etc/config/wireless
config wifi-iface option network 'wwan' .... option disabled '1'
All done!
reboot
- Return your Client PC back to its original IP settings.
Credits
- Matthias - for the Piratebox Project.
- meduza - for the majority of the scripting for the Zsun.
- stylesuxx - for the wifi configuration and troubleshooting.
- TheExpertNoob - for troubleshooting and this wiki guide.
If I forgot anyone else, PM me.