This is an Optware fork. It targets to be firmware-independent and currently supports hard-float ARMv7, I686, x86_64, PowerPC 603e and soft-float ARMv5, ARMv7 EABI, MIPSEL and PowerPC e500v2 targets. Feeds building and hosting resources are kindly provided by Nas-Admin.org project.
Now that Optware-ng is official, we're looking for developers and wiki writers. If you're willing to give it a go, please see 'Contributing to project and building from source' and 'Writing Optware-ng end-user instructions' sections below.
If you are having issues with installing packages, similar to #106, you need to upgrade your
ipkg package manager.
Some changes have been recently made to the packaging system:
- sha256 checksum added
- Installed-Size field added to the ipk files and to the index
- opkg is now used as the package manager. To provide backward compatibility, it's patched to use ipkg pathes
To upgrade the packager, simply run the bootstrap script proper for your target (see the 'Getting started' section) -- this will not affect your installed packages. After that, just use
ipkg-static) command as you used it before the upgrade.
Optware-ng feeds have moved to http://ipkg.nslu2-linux.org/optware-ng. Please run this command to update ipkg configuration if you installed Optware-ng prior to this announcement:
sed -i -e 's|optware-ng\.zyxmon\.org/|ipkg.nslu2-linux.org/optware-ng/|' /opt/etc/ipkg.conf ipkg update
ipkg update ipkg -force-reinstall install `ipkg list_installed|cut -d ' ' -f1`
The instructions below only download, unpack and configure the package manager
ipkg. You must previously make sure that
/opt is writable, by preparing USB storage or router's
jffs partition (for routers that support them), or symlink/mount-bind
/opt to a location on your data volume (e.g., for a NAS). If you have MIPSEL/ARM Asus router running Asuswrt-Merlin firmware, check out How To Install New Generation Optware guide by @TeHashX. If you owe a QNAP box, check out Qnap Optware-NG by @satfreak.
To bootstrap the feed, connect over SSH/Telnet and type:
ARMv7 EABI hardfloat: (Use this if you have a modern ARM device with FPU, e.g., a NAS)
wget -O - http://ipkg.nslu2-linux.org/optware-ng/bootstrap/buildroot-armeabihf-bootstrap.sh | sh
ARMv7 EABI softfloat: (Use this for a modern ARM device without FPU, e.g., an ARMv7 router)
wget -O - http://ipkg.nslu2-linux.org/optware-ng/bootstrap/buildroot-armeabi-ng-bootstrap.sh | sh
ARMv5 EABI (use this if running a more recent linux, 18.104.22.168 or newer):
wget -O - http://ipkg.nslu2-linux.org/optware-ng/bootstrap/buildroot-armv5eabi-ng-bootstrap.sh | sh
ARMv5 EABI legacy (built with 2.6.22 kernel headers, use for devices that run old kernels):
wget -O - http://ipkg.nslu2-linux.org/optware-ng/bootstrap/buildroot-armv5eabi-ng-legacy-bootstrap.sh | sh
wget -O - http://ipkg.nslu2-linux.org/optware-ng/bootstrap/buildroot-mipsel-ng-bootstrap.sh | sh
wget -O - http://ipkg.nslu2-linux.org/optware-ng/bootstrap/buildroot-ppc-603e-bootstrap.sh | sh
wget -O - http://ipkg.nslu2-linux.org/optware-ng/bootstrap/ct-ng-ppc-e500v2-bootstrap.sh | sh
wget -O - http://ipkg.nslu2-linux.org/optware-ng/bootstrap/buildroot-i686-bootstrap.sh | sh
wget -O - http://ipkg.nslu2-linux.org/optware-ng/bootstrap/buildroot-x86_64-bootstrap.sh | sh
ipkg package manager will be bootstrapped and configured. See available packages:
export PATH=$PATH:/opt/bin:/opt/sbin /opt/bin/ipkg update /opt/bin/ipkg list
Install desired ones:
/opt/bin/ipkg install nano mc
- ARMv7 EABI hardfloat
- ARMv7 EABI softfloat
- ARMv5 EABI
- ARMv5 EABI legacy
- PowerPC 603e
- PowerPC e500v2
Contributing to project and building from source
Contribution is always welcomed. These wiki pages contain useful info to get you started:
Writing Optware-ng end-user instructions
Currently, the project is missing writers who would contribute by creating how-to's for end-users. We can setup a mediawiki with the help of nas-admin.org guys, but we need people to fill it. In case you are willing to contribute by writing how-to's, please contact me on #optware IRC channel on irc.freenode.net, nickname alllexx. If I'm away, you can PM me, and I'll reach you later.
buildroot-x86_64 feed added
buildroot-ppc-603e feed rebuilt with 2.6.32 kernel headers to support WD My Book Live NASes
ct-ng-ppc-e500v2 feed rebuilt with 2.6.32 kernel headers to support Synology PowerPC e500v2 NASes
New ct-ng-ppc-e500v2 feed is now online. This is a softfloat PowerPC e500v2 gcc-5.3.0, glibc-2.23, linux-3.2.66 feed.
buildroot-armve5eabi-ng-legacy feed is now ARMv5 gcc-5.3.0, uClibc-ng-1.0.13, linux-2.6.22. Proper QNAP TS-109Pro support is not feasible until the custom 2.6.12 kernel source used there are made available.
buildroot-armve5eabi-ng-legacy feed added. This is ARMv5 gcc-5.3.0, uClibc-ng-1.0.12, linux-2.6.12 feed. It targets older ARMv5 devices, like QNAP TS-109Pro.
buildroot-mipsel-ng feed, rebuilt with 22.214.171.124 kernel headers using kernel from the wl500g project, is now online.
New buildroot-ppc-603e is now online. This is a hardfloat PowerPC 603e gcc-5.2.0, glibc-2.21, linux-3.2.66 feed.
New buildroot-armv5eabi-ng feed is now online. This is a softfloat ARMv5 gcc-5.2.0, uClibc-ng-1.0.6, linux-126.96.36.199 feed. It targets ARMv5 devices with EABI interface, like older ARM NASes or android devices.
New buildroot-armeabihf feed is now online. This is a hardfloat ARMv7 gcc-5.2.0, glibc-2.21, linux-3.2.66 feed. It targets ARMv7 devices with FPUs, like most modern android devices or ARM NASes, and gives significant performance boost on such devices compared to softfloat.
New buildroot-armeabi-ng and buildroot-mipsel-ng feeds should now be used for softfloat ARMv7 and MIPSEL devices. These are uClibc-ng-1.0.6 gcc-5.2.0 targets. Look above for instructions on migrating from now deprecated buildroot-armeabi and buildroot-mipsel feeds.
Upgrade buildroot-armeabi, buildroot-i686 and buildroot-mipsel toolchains to gcc-5.2.0 to support all C++14 language features. libc versions and configs and kernel headers versions left the same to not brake compatibility with previously built binaries. Also use "--with-default-libstdcxx-abi=gcc4-compatible" libstdc++ configure switch for the same purpose. Buildroot-2015.08 is now used to build the toolchains.
New buildroot-i686 target added. This is a gcc-4.9.2, glibc-2.20, linux-3.2.66 feed. It mainly targets modern Intel headless devices, such as NASes.
Now buildroot-mipsel target added. It is similar to buildroot-armeabi, but targets mipsel softfloat (mips32r2) devices.