wiki:Build-2.3.6.1

Building 2.3.6.1

This page documents the process of how the official 2.3.6.1 images have been built.

The package has been built using the standard instructions and default config, except for the following:

CONFIG_PACKAGE_transmission-daemon=m
CONFIG_PACKAGE_transmission-cli=m
CONFIG_PACKAGE_transmission-web=m
CONFIG_PACKAGE_libcurl=m
CONFIG_PACKAGE_libid3tag=m
CONFIG_PACKAGE_libmad=m
CONFIG_PACKAGE_libopenssl=y
CONFIG_PACKAGE_zlib=y
CONFIG_PACKAGE_kmod-sound-core=m
CONFIG_PACKAGE_kmod-usb-audio=m
CONFIG_PACKAGE_luci-app-fonprinter=m
CONFIG_PACKAGE_luci-app-fonwebcam=m
CONFIG_PACKAGE_luci-app-music=m
CONFIG_PACKAGE_luci-uvc=m
CONFIG_PACKAGE_p910nd=m
CONFIG_PACKAGE_audiod=m
# CONFIG_PACKAGE_luci-nixio_cyassl is not set
CONFIG_PACKAGE_luci-nixio_openssl=y
# CONFIG_PACKAGE_libcyassl-luci is not set
CONFIG_PACKAGE_liblzo=y
CONFIG_PACKAGE_openvpn=y
CONFIG_PACKAGE_zip=y
CONFIG_PACKAGE_openssl-util=y
CONFIG_PACKAGE_luci-app-openvpn=y
CONFIG_PACKAGE_ip=y
CONFIG_PACKAGE_usb-modeswitch=y
CONFIG_BUSYBOX_CONFIG_STTY=y

This configuration enables some packages for building plugins, and switches from cyassl to openssl (since OpenVPN needs openssl anyway, and nixo won't build against cyassl when openssl has also been built and enables OpenVPN, iproute2 (ip), stty and usb_modeswitch (which are not in the default config). If you only want to build a custom firmware, without including the plugins, you can just remove the =m entries from the above list. You'll have to use menuconfig to set the above options, since just adding the above to .config and calling make defconfig won't work for the openssl switch (for all =m entries, it should work.

Plugins can be built by running the mk_fon_img.sh and mk_fon_pkg.sh scripts.

The upgrade script used in the tarball is the following (of course with dev=0 for the normal version):

#!/bin/ash

VERSION=$(cat /etc/fon_version)
FAILSAFE=$(cat /etc/failsafe)
DEVICE=$(cat /etc/fon_device)

if [ "$DEVICE" = "fonera20n" ]
then
# Set the firmware to dev mode. This /etc/config/registered file will be
# preserved below.
uci set registered.fonreg.dev=1
uci commit

# If the pass_good value is set, make sure it is set again on the next
# boot after the upgrade (we can't save all of /etc/config/system, since
# it contains a lot of version-specific values).
if [ "`uci -q get system.fon.pass_good`" = "1" ]; then
    echo "uci set system.fon.pass_good=1" > /etc/uci-defaults/pass-good
    echo "uci commit" >> /etc/uci-defaults/pass-good
fi

# Backup most settings and reboot
tar cvzf /tmp/sysupgrade.tgz /etc/uci-defaults /etc/passwd /etc/group /etc/dropbear /etc/samba/smbpasswd /etc/samba/secrets.tdb /etc/config/firewall /etc/config/upnpd /etc/config/umtsd /etc/config/registered /etc/config/gdata /etc/config/facebook /etc/config/flickr /etc/config/mountd /etc/config/fon /etc/config/ddns /etc/config/wizard /etc/pureftpd.passwd /etc/pureftpd.pdb /etc/config/pureftpd /etc/config/samba /etc/config/twitter
mtd -j /tmp/sysupgrade.tgz -r write fonera20n.img image > /dev/null 2>&1 
return 0
else
return 1
fi

The sysupgrade.tgz commandline is taken from this version of fon_admin.lua, but with /etc/config/luci_dlmanager removed (since the 2.3.6.1 release needs to change that file) and /etc/uci-defaults added (to make the part of the script work that preserves pass_good).

Last modified 7 years ago Last modified on Aug 25, 2010, 10:37:56 AM

Attachments (1)

Download all attachments as: .zip