##(see the SpecSpec for an explanation) * '''Launchpad Entry''': UbuntuSpec:server-o-arm-server * '''Created''': Michael Casadevall * '''Contributors''': * '''Packages affected''': ubuntu-cdimage, debian-installer, all server seed packages == Summary == For the 11.10 cycle, Ubuntu will support ARM server images for all available platforms. == Release Note == Ubuntu now supports server images on the ARM architecture == Rationale == With the low power/high performance devices becoming available based around the ARM architecture, making Ubuntu the leading ARM Server Distribution. == User stories == * Alpha want to build a low power/low temperature cluster out of cheaply available ARM boxes * Beta wants to build a home server appliance that is silent, and small * Delta is an ARM server vendor and wishes to ship Ubuntu on their platform == Assumptions == * Serial-by-default is acceptable for these images * hd-install will be implemented for 12.04 cycle * live-helper/livecd-rootfs must be extended to create a pool on the image on image creation for pre-installed images == Design == As ARM has unique image types, and greatly varied hardware, work is required across the board to implement server images, insure proper QA, benchmarking, and confirming that security features for present for i386/amd64 are also present for ARM. == Implementation == For full implementation, this spec depends on several other specs to be fully implemented, a dependency tree of said specs is available on UbuntuSpec:server-o-arm-server === Targets === For the 11.10 cycle, the following sub-architectures will be targeted for server implementation * armel+omap * Image types: netboot, headless, preinstall server. * Product Manager: Michael Casadevall * armel+omap4 * Image types: netboot, headless, preinstall server. * Product Manager: Michael Casadevall * armel+mx5 * Image types: headless * Product Manager: Scott Kitterman === UI Changes === Due to the implementation of the pool-on-disk required for server images, a new installer question is required to ask the user if they wish to delete the pool, and handle the users responses appropriately. This is covered in detail in the UbuntuSpec:other-o-arm-preinstall-pool spec. === Code Changes === live-helper will require extension to implement pool-on-disk support (Covered by UbuntuSpec:other-o-arm-preinstall-pool]), and a new ubuntu-server target. This ubuntu-server target will consist of the current ubuntu-headless image + a pool-on-disk of the ubuntu-server ship-seed, with oem-config guiding the user through initial setup and installation steps. For netboot style-images, required by most deployment tools, debian-installer will have to be extended to create SD-writable images. === Migration === No migration, new development. == Test/Demo Plan == Specific testing and QA of server images is covered in the UbuntuSpec:server-o-arm-image-qa and UbuntuSpec: server-o-arm-image-validation blueprints. == BoF agenda and discussion == Use this section to take notes during the BoF; if you keep it in the approved spec, use it for summarising what was discussed and note any options that were rejected. {{{ We have two images we regularly build: OMAP3 OMAP4 We currently have two images per architecture: Headless Netbook Live Image Alternate Image for ARM (had Dove, and i.MX51) Headless is everything you would have in a server image, minus tasksel items for server. We don't have a ship seed. If the server is not on a network, won't install because there is no shipping seed Could add shipping seed to the headless image Look at plug devices? make a router-server combination make memcached freedom-box Use OpenStack for ARM + LXC Action Item: Don't want to run a server off an SD card OEM-config runs on the serial console, needs a switch to appear on serial AND/OR console Select platform for ARM server release OMAP3 beagleboard XM OMAP4 pandaboard Look at ARM Versatile Express Preseed, vs unpack and boot (which format) Have a proper debian installer Need to have both netboot + preinstall (headless) + bootfloppy 'bootfloppy' has different definition based on platform JAVA - dependencies on openJDK, getting java working better on ARM ARM java VM's are optimized for client, need to be optimised for enterprise/server IST project has ARM support Landscape has issues on ARM, Smart has issues - NCommander to handle Network filesystems for diskless boot must be tested and supported - NFS (with and without RAMdisK), iSCSI, NDB, AFS(?), CEPH, GFS2, PVFS, RAID, LVM Deployment tools that need to be tested Deployment Tools Preseeds Bonding and bridging networking (TUN/TAP/802.1q/VLAN/VPN/IPv6/IPsec) Interpreted languages, compiled languages that have Server dependencies: Erlang python Ruby (Rails?) Automated testing on ARM platforms needs to be done. Server team test cases need to be looked at. LAMP stack testing libtbb2 Crypto acceleration in kernel * urandom, random, random number * entropy keys 32 vs 64 bit gnuTLS, SSL, etc need to be validated AppArmor on ARM, it's not validated yet on ARM toolchain, check that hardening is being called (Case) memory randomization selinux (test once) PAX is don't care toolchain, 64 bit atomics are missing in GCC 4.5 Check exploits are fixed on ARM! When there is a stack exploit, CV's, make sure the patch works on ARM. System Management Tools!! --------------------------------------------- Sysstat, IPMI, WOL, watchdog, tripit, rkhunter, tiger, monit, denyhosts apport will be important for servicing freedombox on ARM ----------------------- Net install works on OMAP3, OMAP4 needs work Calxeda will provide a PXE boot patch for u-boot LXC containers on ARM? Servers and Cloud }}} ---- CategorySpec