====== Bootstrap ====== ====DS114, DS214 and DS214+==== These NAS have either a ''Marvell Armada 370'' or a ''Marvell Armada XP'' who both are ''armv7l''. The bootstrap tutorial can be found [[https://github.com/trepmag/ds213j-optware-bootstrap|here]] and is repeated on this wiki. ===Tutorial for armv7l=== * Create optware root directory mkdir /volume1/@optware mkdir /opt mount -o bind /volume1/@optware /opt * Setup ipkg feed=http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable ipk_name=`wget -qO- $feed/Packages | awk '/^Filename: ipkg-opt/ {print $2}'` wget $feed/$ipk_name tar -xOvzf $ipk_name ./data.tar.gz | tar -C / -xzvf - mkdir -p /opt/etc/ipkg echo "src cross $feed" > /opt/etc/ipkg/feeds.conf * Set PATH Add the following line to ''/etc/profile'' PATH=/opt/bin:/opt/sbin:$PATH * Create init scripts The following steps will allow to automatically bind the ''/volume1/@optware'' directory to ''/opt'' and trigger the ''/opt/etc/init.d/*'' scripts. Create the ''/etc/rc.local'' file (''chmod 755'') and insert: #!/bin/sh # Optware setup [ -x /etc/rc.optware ] && /etc/rc.optware start Create the ''/etc/rc.optware'' file (''chmod 755'') and insert: #! /bin/sh if test -z "${REAL_OPT_DIR}"; then # next line to be replaced according to OPTWARE_TARGET REAL_OPT_DIR=/volume1/@optware fi case "$1" in start) echo "Starting Optware." if test -n "${REAL_OPT_DIR}"; then if ! grep ' /opt ' /proc/mounts >/dev/null 2>&1 ; then mkdir -p /opt mount -o bind ${REAL_OPT_DIR} /opt fi fi [ -x /opt/etc/rc.optware ] && /opt/etc/rc.optware ;; reconfig) true ;; stop) echo "Shutting down Optware." true ;; *) echo "Usage: $0 {start|stop|reconfig}" exit 1 esac exit 0 ==== DS214Play==== This device has an ''Intel Atom CE5335 i686'' CPU. ===Tutorial for Intel Atom=== We are using the bootstrap as explained [[http://forum.synology.com/wiki/index.php/Overview_on_modifying_the_Synology_Server,_bootstrap,_ipkg_etc#Bootstrap|here]] for Intel Atop CPU's : - Reboot your NAS. - Enable and then Login to the Command Line Interface as user "root", password is the same as for admin. - Change to a directory such as "/volume1/@tmp", i.e. enter the command "cd /volume1/@tmp" - Get the NAS to download the bootstrap : enter the command wget http://ipkg.nslu2-linux.org/feeds/optware/syno-i686/cross/unstable/syno-i686-bootstrap_1.2-7_i686.xsh, alternatively download the bootstrap to your PC and then copy it to a shared folder on the NAS - Set the .xsh script to be executable chmod +x **syno-i686-bootstrap_1.2-7_i686.xsh** - Now run the .xsh script : enter the command **sh syno-i686-bootstrap_1.2-7_i686.xsh** - After the script has finished you can delete the script file : **rm syno-i686-bootstrap_1.2-7_i686.xsh** - **NEW:** If you have DSM 4.0 there is an additional step. In the file ''/root/.profile'' you need to comment out (put a # before) the lines ''PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/syno/sbin:/usr/syno/bin:/usr/local/sbin:/usr/local/bin'' and ''export PATH''. To do this enter the command ''vi /root/.profile'' to open the file in vi. Now change vi to edit mode by pressing the "i" key on your keyboard. Use the down cursor key to move the cursor to the start of the line "PATH=/sbin..." and put a "#" infront of this line so it is now "#PATH=/sbin...". Do the same for the line below so it is now "#export PATH". Now press the escape key (to exit edit mode) and type "ZZ" (note they are capitals) to tell vi to save the file and exit. For background info on why this is neccessary for DSM 4 refer to http://forum.synology.com/enu/viewtopic.php?p=185512#p185512 (Alternatively, you can modify the PATH statement by prepending the existing $PATH. You can do this in vi by typing the following while in command mode: ":%s/PATH=/PATH=$PATH:/" and then "ZZ" to save and exit (or ESC and then":q!" to quit without saving if you made a mistake.)) - Note 1: If you have the following error: "Cannot satisfy the following dependencies for wget-ssl: libidn", you need to manually download libidn and install with ipkg: Eg. for Synology DS108j: "wget **http://ipkg.nslu2-linux.org/feeds/optware/ds101g/cross/unstable/libidn_1.21-1_powerpc.ipk**" (wget should be already present on the system) and enter the command "ipkg install **libidn_1.21-1_powerpc.ipk**". Run the ipkg bootstrap process again (press yes when it asks to overwrite config file). For a procedure to install ipk packages without ipkg, see http://buffalo.nas-central.org/wiki/Install_an_.ipk_package_without_having_the_ipkg_package_management_system_(for_end-users) - Note 2: When you have an error that /opt cannot be mount, unmount the previous mount ("umount -f /opt" check with command "mount") and delete both old /opt and /volume1/opt folders. - Reboot the NAS and login again to the Command Line Interface as user "root" - Update the ipkg list of available packages using the command "ipkg update" - Note 1: When "ipkg update" fails, it can be that the older existing wget is used. Ensure that the right paths are selected in classpath with "$PATH", if not: "export PATH=$PATH:/opt/bin:/opt/sbin". Install wget manually: for Synology DS108j: "wget **http://ipkg.nslu2-linux.org/feeds/optware/ds101g/cross/unstable/wget_1.12-2_powerpc.ipk**" and "ipkg install **wget_1.12-2_powerpc.ipk**". Check version with "/opt/bin/wget -V". Check location with "which wget". - Upgrade any ipkg installed packages to the latest versions using the command "ipkg upgrade" - Finished, you can now install ipkg packages using the command "ipkg install xxxx" where xxxx is the name of the package. You can list all the available packages using the command "ipkg list". As this is a long list you can filter it using the command "ipkg list | grep xxxx" where xxxx is the text you want to search for. Alternatively, you view one page at a time using the "more" pipe, e.g. "ipkg list | more"