Instructions to rebuild the open source components for the Rollei 7S This document describes how to rebuild the open source components in the firmware for the Rollei 7S from the source code. You will find that a few components are already prebuilt for your convenience, including the toolchain and several other utilities. These can all be rebuilt. Source code for the proprietary Rollei applications is not supplied and these components cannot be rebuilt. After rebuilding the source code you will get: * Linux kernel image * UBI/UBIFS images containing the root file system of the device * gzip compressed tar archive with the root file system of the device These can then be combined with a bootloader to create a flashable firmware. Please assure that you obtain the necessary rights to do so. Please note that flashing firmwares others than the ones provided by Rollei will void your warranty for any defects resulting from such flashing. Rollei will also not provide any support on the source code. Prerequisites We have tested this build on Ubuntu 12.04.5 LTS on x86_64 and all instructions in this document are for this system. If you want to build on another system than what we have used you are on your own. The following packages need to be installed: nfs-common flex gawk manpages-dev pkg-config manpages-posix-dev autoconf automake bison libtool subversion lvm2 uboot-mkimage python-dev tftp wine git-core curl python fakeroot realpath ncurses-bin libncurses5 libncurses5-dev mtd-utils genext2fs cramfsprogs gnupg gperf zlib1g-dev gcc-multilib g++-multilib x11proto-core-dev libx11-dev liblzo2-2 exuberant-ctags python-software-properties zip texinfo wireless-tools lib32ncurses5-dev lib32ncurses5 lib32ncursesw5 lib32ncursesw5-dev unzip libXxf86vm-dev xfsprogs tree bluez bluez-hcidump libbluetooth-dev libglib2.0-dev tftpd-hpa nfs-kernel-server g++ libncursesw5-dev gettext rpcbind dos2unix libc6-dev-i386 tofrodos libxml2-dev ia32-libs libjpeg62 After unpacking the source code there will be a directory called "boss_sdk". Change to this directory: $ cd boss_sdk Then go into the directory "ambarella": $ cd ambarella and issue the following commands: $ make clean $ make prepare_oem $ make ambarella_a7_defconfig $ make This will rebuild the kernel and the file system. After building is complete change back to the directory "boss_sdk": $ cd .. The files that are built can be found in the directory "output.oem/images Rebuilding object files and support tools from source If you prefer to rebuild the support tools and the object files (as far as provided) from sources, issue the following commands from the "boss_sdk" directory: $ rm -rf host $ rm -rf output/build/host-ipcgen-2.11.90/ $ for i in `ls output/build/`; do touch output/build/$i/.stamp_target_installed; done Rebuilding the toolchain The toolchain is the standard toolchain as used in buildroot and is supplied in binary form as well as in source code form. To rebuild the toolchain from source code please follow the instructions in the toolchain source code archive.