ABOUT ===== Script(s)/configs to generate a SD Card Image containing a custom OS which would run a Cubietruck :). Check out "support status" section for what's working and what isn'nt. MOTIVATION: =========== I am building a NAS using ARM based board (Cubietruck/Cubieboard3). Therefore I needed a custom kernel and custom rootfs packaged into a custom SD Card image. These usually requires a lot of commands to type in and is time consuming. I wanted to reduce this as much and focus on tweaking/building an images to suit the objectives of my projects. This project aims to reduce repetitions to the bare minimun and get a predictable build in the process :) SUPPORT STATUS ===================== Description |SD Card Image |Details :--------------------------------|:---------------|:-------------- NAND support | NA | SD card support | Working | RootFS | - | Ubuntu Core 12.04 LTS | Not working | Linaro Nano | Working | Debian Wheezy | Not working | 2B RAM support | Working | Default User | - | -> administrator | Working | Password: "admin" -> linaro | Working | Password: "linaro" . For Linaro based RootFS SSH server | - | ->OpenSSH server | Working | Custom packages support | Working | NTP | - | ->ntpd | Working | Ethernet support | - | ->DHCP IP | Working | custom/rootfs/etc/network/interfaces ->Sunxi-GMAC driver support | Working | -->Driver loaded at startup | Working | custom/rootfs/etc/modules -->Static MAC address on boot | Working | custom/rootfs/etc/network/interfaces ->Sunxi-EMAC driver support | NA | -->Driver loaded at startup | Not loaded | Sunxi-GMAC replaces Sunxi-EMAC driver -->Static MAC address on boot | NA | Wifi support | - | ->AP6210 driver support | Working | -->Driver loaded at startup | Working | -->Static MAC address on boot | Working | ->DHCP IP | Not working | NIC Bonding | Not working | custom/rootfs/etc/network/interfaces - Kernel configs: CONFIG_BONDING HDD support | - | ->SATA support | Working | ->RAID support | Not working | ->Disk spindown support | Not working | ->Disk turnoff support | Not working | ZFS support | Not Planned | ZFS is very unstable on 32bit hardware. | | Rationale: http://www.cubieforums.com/index.php/topic,1258.msg7779/topicseen.html#msg77793D MALI support CedarX acclerated video | Not Planned | Bluetooth support | Not Planned | MALI support | Not working | LEDS support | - | ->LEDS driver support | Working | Kernel config: CONFIG_LEDS_SUNXI=y ->Default setup via FEX file | Working | output/*.fex -->Enabled triggers | Working | Kernel confgs: CONFIG_LEDS_TRIGGERS=y, CONFIG_LEDS_TRIGGER_*=y ->Control via /sys/class/leds/* | Working | ->Disabled LEDS on boot | Not Working | Hardware sensor support | - | ->CPUFreq | Working | -->Default governor at startup | interactive | custom/rootfs/etc/default/cpufrequtils - See http://www.cubieforums.com/index.php/topic,1413.msg8743.html#msg8743 ->HDDtemp | Working | Boot | - | ->Resize rootfs partition | Not working | custom/rootfs/etc/init.d/cubian-* - Courtesy: http://www.igorpecovnik.com/2013/12/24/cubietruck-debian-wheezy-sd-card-image ->Reconfigure OpenSSH | Not working | custom/rootfs/etc/init.d/cubian-* - Courtesy: http://www.igorpecovnik.com/2013/12/24/cubietruck-debian-wheezy-sd-card-image This project is NOT maintained anymore. Please use the following alternative: - [igorpecovnik/Cubietruck-Debian](https://github.com/igorpecovnik/Cubietruck-Debian) Caption ------- NA = Not Applicable Working = It has been tested and it does work Not Working = It has not been tested OR it has been tested and it does not work Not Planned = Not plan to be supported INSTALLATION: ============= TLDR: bash build-sdcardimage.sh For the other ones: Setup pre-requisites: bash prerequisites.sh Build image(s): SD Image: bash build-kernel-bootloader.sh DOCUMENTATION ============= Files are documented. SOURCE ====== Main source repository: https://github.com/davidandreoletti/cubietruck REQUIREMENTS ============ Succesfully tested on Ubuntu 12.04 LTS with Bash 4.2.25 CONTRIBUTORS: ============= If you would like to contribute, feel free to do so. This is a Pull request friendly project. AUTHOR ====== David Andreoletti <http://davidandreoletti.com> - Original author THANKS ====== REFERENCES ========== Those are references I used to get to some of the objectives http://cubieboard.org - Initial documentation for building a custom kernel/SD image/NAND image - Cubieboard makers :) http://dl.cubieboard.org/public/users/soloforce/Construct_Your_Own_Debian_Linux_for_CubieBoard_zh-new.pdf - https://github.com/equinoxorg/eko_client/wiki/Creating-a-Redeployable-SD-Card-Image - How to partition a block device https://github.com/codeshredder/cubieboard2 - Miccelleanous documentation about Cubieboard. https://github.com/shmily/Cubieboard - Cubieboard Image build http://eewiki.net/display/linuxonarm/BeagleBoard - Mics Kernel/SD Image creation http://www.denx.de/wiki/view/DULG/UBootVersions - u-boot official documentation http://wiki.osdev.org/Loopback_Device#Hard_Disk_Images - Loop back devices in a nutshell http://tinyapps.org/docs/mount_partitions_from_disk_images.html - Mount partitions from disk images http://bill.station51.net/index.php?post/2010/01/30/HOWTO:-Booting-from-SD-card-using-U-Boot - Booting from SD Card with U-Boot http://wiki.openmoko.org/wiki/U-Boot_commands - U-Boot command from the Openmoko project http://www.cubieforums.com/index.php?topic=229.0 - Supported partition, partition size and offset http://unix.stackexchange.com/questions/25258/ttyusb0-permission-changes-after-restart - Set permanent write permission on ttyUSB https://github.com/mpepping/osx-pl2303 - Open Source OSX driver for Prolific PL2303 serial to USB adapters http://www.prolific.com.tw - Proprietary driver for Prolific PL2303 serial to USB adapters - I used this one on OSX MAC address ----------- http://www.denx.de/wiki/view/DULG/WhereCanIGetAValidMACAddress - Get Locally Administrated MAC address Wifi ---- http://bernaerts.dyndns.org/linux/74-ubuntu/230-ubuntu-setup-wifi-commandline http://www.cubieboard.cmabreu.com.br/ http://linux-sunxi.org/A20-Cubietruck http://packages.ubuntu.com/lucid/ubuntu-minimal http://www.solid-run.com/mw/index.php/Ubuntu_Core http://wiki.dave.eu/index.php/Running_Ubuntu_Core https://github.com/DavidBercovitz/ubuntu-core/blob/master/ubuntuCoreSetup.sh https://help.ubuntu.com/community/Repositories/Ubuntu http://www.omappedia.com/wiki/OMAP_Ubuntu_Core https://launchpad.net/ubuntu/precise/armhf http://forum.doozan.com/read.php?6,8491 http://old-releases.ubuntu.com/releases/ubuntu-core/releases/12.04.0/release/ http://snapshots.linaro.org/ubuntu/images/server/553 https://github.com/cubiebook/cubiebook http://sigpipe.me/?p=10 - Cedar X http://www.memetic.org/raspbian-benchmarking-armel-vs-armhf/ http://hands.com/~lkcl/allwinner_linux_proposal.txt https://github.com/hramrach/linux-sunxi http://elinux.org/images/a/ad/Arm-soc-checklist.pdf http://www.cnx-software.com/development-kits/linux-development-boards/ http://forum.doozan.com/read.php?6,10087 Rootfs customization -------------------- http://omappedia.org/wiki/OMAP_Ubuntu_Core AllWinner's linux kernel and current attempts to get their changes in mainline kernel -------------------------------------------------------------------------------------- http://linux-sunxi.org/Mainline_Kernel_Howto - AllWinner Community trying to get linux-sunxi work into the mainline kernel http://lwn.net/Articles/554822/ - Merging Allwinner support http://lists.debian.org/debian-arm/2013/06/msg00009.html - Thread about how to convince (among others topic related to Allwinner) Allwinner to merge their kernel work in mainline kernel NTP --- http://derekmolloy.ie/automatically-setting-the-beaglebone-black-time-using-ntp/ - Set NTP https://wiki.gentoo.org/wiki/Localization/HOWTO http://ubuntuforums.org/showthread.php?t=862620 - test ntp GPIO ---- https://groups.google.com/forum/#!topic/cubieboard/Oot7xZSKLpI - Fex config APT --- http://raphaelhertzog.com/2010/09/21/debian-conffile-configuration-file-managed-by-dpkg/ ALTERNATIVES ============ https://github.com/EddyBeaupre/armStrap - Well polished scripts yet not customizable enough for my needs (custom kernel repo to compile from for instance)