Ubuntu Core on Bubblegum-96

2020-02-27 248浏览

  • 1.Ubuntu Core on Bubblegum-96 董波 bdong@ucrobotics.com 无锡控博科技有限公司 无锡控博科技2017
  • 2.Ubuntu Core on Bubblegum-96 ● ● ● ● About uCRobotics What is Bubblegum-96 Porting Ubuntu Core to Bubblegum-96 Demo We Have Done 无锡控博科技2017
  • 3.About uCRobotics uCRobotics is a Hi-tech company which is the focus of Intelligent Platform, System Integration, and the development of Embedded System, etc. In the meanwhile, uCRobotics is the Hardware Manufacturing and Software Development Partner of 96Boards under the International Standard of Linaro. Bubblegum-96 (uCRobotics) is the 4th intelligence development platform based on the Linaro Standard, which can provide the embedded solutionincluding:3D Cloud Printing , UAV Data Processing, Intelligent Robot, Wearable Devices, Mobile Desktop, OpenStack/Docker, AR/VR, etc. uCRobotics advocate the spirit of open source, focusing on the embedded GNU/Linux, automation technology, 3D Cloud Printing Control, and Image recognition process etc. The core members of the team are Senior Engineers and Business Supervisors which can provide effective protection on technical support and market development.
  • 4.Linaro and 96boards 96Boards is a range of hardware specifications created by Linaro to make the latest ARM-based processors available to developers at a reasonable cost. The specifications are open and define a standard board layout for SoC-agnostic (processor independent) development platforms that can be used by software application, hardware device, kernel and other system software developers. Boards produced to the 96Boards specifications are suitable for rapid prototyping, hobbyist projects or incorporation into new systems for a wide range of applications including desktop and laptop computing, the digital home, digital signage, point of sale (POS), high-end audio, robotics and drones, artificial intelligence, virtual reality, IoT and industrial control. Standardized expansion buses for peripheral I/O have led to a wide range of compatible add-on mezzanine boards that will work across a variety of 96Boards products. Users have access to a wide range of boards with different features at various price points. In addition, some SoC vendors have announced long term availability of the SoC to encourage their use in products with long life cycles. 无锡控博科技2017
  • 5.Bluesky ● ● ● ● ● ● ● ● 无锡控博科技2017 IE 96boardsMCU:RDA5981 Embedded WIFI chip ARM Cortex-M4 Embedded memory and flash Support IEEE 802.11b/g/n, 2.4GHz HT20/40 Support WEP, WPA/WPA2, TKIP,CCMPOS:Zypher, mbed, RT-Thread
  • 6.O2 board ● ● ● ● ● 无锡控博科技2017 IE 96board ATS3503 Daul mode (BT Audio + BLE) Support for VUI ( Voice User-Interface)OS:Zypher
  • 7.96boards CE (Consumer Edition) Spec 无锡控博科技2017
  • 8.Bubblegum-96 ● ● ● ● ● ● ● ● ● Optimized Actions S900 quad-core ARM Cortex-A53 64-bit SoC up to 1.8GHz Embedded Imagination PowerVR™ G6230 GPU support OpenGL ES 3.1, OpenGL 3.2, OpenCL 1.2 EP Integrated HDMI with Ultra 4K output 802.11b/g/n WiFi, Bluetooth 4.0 USB 3.0 (Type A) x1 & USB 2.0 (Type A) x1& Micro USB 2.0 x 1 Extend Header(x40 pin) +1.8V, +5V, SYS_DCIN, GND, UART, I2C, SPI, PCM, GPIO x12 Extend Header(x60 pin) SDIO, MIPI_DSI, MIPI_CSI, I2C , USB2.0 Support Ubuntu Core & Android 5.1 Lollipop & Debian & Gentoo & OpenSUSE & Remix OS High performance, low latency and low cost
  • 9.Mezzanine Products Low Speed GPIO Adapter MIPI Adapter 无锡控博科技2017
  • 10.+ Porting Ubuntu Core to Bubblegum-96
  • 11.“ Ubuntu Core is a tiny, transactional version of Ubuntu for IoT devices and large container deployments. It runs a new breed of super-secure, remotely upgradeable Linux app packages known as snaps ‐ and it’s trusted by leading IoT players, from chipset vendors to device makers and system integrators. …… ” 无锡控博科技2017
  • 12.OS Snap Kernel Snap ubuntu-image Gadget Snap 无锡控博科技2017 Ubuntu Core on Bubblegum-96
  • 13.Gadget Snap ● I Gadget snap is a snap file which contains the booting files of the board. uEnv.txt - Hacking files for uboot args Bootloader.bin - bootloader binary file U-boot.bin - compiled u-boot file for bubblegum-96 无锡控博科技2017
  • 14.Gadget Snap II uEnv.txt snappy_kernel=bubblegum96-kernel_x1.snap kernel_file=kernel.img loadkernel=fatload mmc 0:1 ${kernel_addr_r} ${snappy_kernel}/${kernel_file} fdtfile=s900_96board.dtb loadfdt=fatload mmc 0:1 ${fdt_addr_r} ${snappy_kernel}/dtbs/${fdtfile} initrd_file=initrd.img loadinitrd=fatload mmc 0:1 ${ramdisk_addr_r} ${snappy_kernel}/${initrd_file}; setenv initrd_size ${filesize} snap_os=core_1691.snap bootargs=console=ttyS5,115200n8 initcall_debug root=/dev/disk/by-label/writable init=/lib/systemd/systemd ro panic=-1 fixrtc snap_core=core_1691.snap snap_kernel=bubblegum96-kernel_x1.snap rootwait bootsnappy=run loadkernel;run loadfdt;run loadinitrd;booti ${kernel_addr_r} ${ramdisk_addr_r}:${initrd_size} ${fdt_addr_r} bootcmd=run bootsnappy mboot=run bootsnappy 无锡控博科技2017
  • 15.Gadget Snap IIINOTE:If using stable channel, OS snap name will be changed because of the update. It will be easier to edit the value of $snap_os in uEnv.txt. 无锡控博科技2017
  • 16.Kernel Snap ● ● ● ● ● I Kernel snap obtains the kernel source, obtained from BSP. On Bubblegum-96, Linux kernel version is 3.10.99. Porting AppArmor patches. Build kernel snap. Kernel snap version is 16.04 Using snapcraft to build kernel snap. Cross compile by selecting arch. After snapcraft version 3.02, you can define cross compile tool. 无锡控博科技2017
  • 17.Kernel Snap II snapcraft.yamlname:bubblegum96-kernelversion:3.10.99summary:A bubblegum kernel built from sourcedescription:This is the kernel fromhttps://github.com/uCRDev/linuxtype:kernelparts:kernel:plugin:kernelsource:../linux source-type:gitkdefconfig:[bubblegum_linux_defconfig, snappy/generic.config, snappy/security.config, snappy/systemd.config, snappy/snappy.config, snappy/containers.config]kconfigs:- CONFIG_LOCALVERSION="-bubblegum" - CONFIG_DEBUG_INFO=n - CONFIG_SQUASHFS=mkernel-initrd-modules:- squashfskernel-image-target:Imagekernel-device-trees:- s900_96boardbuild-packages:[bc, kmod, cpio] 无锡控博科技2017
  • 18.Kernel Snap III AppArmor AppArmor is an effective and easy-to-use Linux application security system. AppArmor proactively protects the operating system and applications from external or internal threats, even zero-day attacks, by enforcing good behavior and preventing even unknown application flaws from being exploited. AppArmor security policies completely define what system resources individual applications can access, and with what privileges. A number of default policies are included with AppArmor, and using a combination of advanced static analysis and learning-based tools, AppArmor policies for even very complex applications can be deployed successfully in a matter of hours. 无锡控博科技2017
  • 19.Kernel Snap IV AppArmor patches 0001-UBUNTU-SAUCE-no-up-apparmor-remove-security-apparmor.patch 0011-kconfig-nconfig-fix-multi-byte-UTF-handling.patch 0020-kbuild-add-generic-mergeconfig-target-.config.patch 0002-UBUNTU-SAUCE-no-up-apparmor-Sync-to-apparmor3-RC1-sn.patch 0012-x86-platform-kvm-kconfig-Turn-existing-.config-s-int.patch 0021-UBUNTU-Config-snappy-config-fragments-generic-system.patch 0003-UBUNTU-SAUCE-apparmor-backport-setup-base-backport-f.patch 0013-x86-platform-Add-kvmconfig-to-the-phony-targets.patch 0022-UBUNTU-Config-snappy-snappy-SQUASHFS-m.patch 0004-UBUNTU-SAUCE-apparmor-3.12-backport-kvfree-reintrodu.patch 0014-x86-platform-Fix-make-O-dir-kvmconfig.patch 0023-UBUNTU-SAUCE-add-a-snapcraft.yaml-to-create-a-snappy.patch 0005-UBUNTU-SAUCE-apparmor-3.12-backport-mtd-Move-major-n.patch 0015-x86-platform-kconfig-move-kvmconfig-functionality-to.patch 0024-UBUNTU-SAUCE-add-a-snapcraft.yaml-to-create-a-snappy.patch 0006-UBUNTU-SAUCE-apparmor-3.11-backport-revert-module-ls.patch 0016-x86-Add-make-tinyconfig-to-configure-the-tiniest-pos.patch 0025-UBUNTU-Config-snappy-containers-lxc.config-was-super.patch 无锡控博科技2017
  • 20.Kernel Snap V 0007-UBUNTU-SAUCE-Revert-fix-only-allow-a-single-threaded.patch 0017-kbuild-mergeconfig-fix-jobserver-unavailable-warning.patch 0026-UBUNTU-Config-snappy-containers-CONFIG_OVERLAY_FS_V1.patch 0009-kbuild-trivial-remove-trailing-empty-lines.patch 0018-kbuild-mergeconfig-move-an-error-check-to-merge_conf.patch 0027-UBUNTU-SAUCE-no-up-apparmor-fix-mount-not-handling-d.patch 0010-kbuild-remove-redundant-clean-files-from-scripts-kco.patch 0019-kbuild-mergeconfig-remove-redundant-objtree.patch 0029-snappy-add-one-defconfig-for-snappy.patch Patches are portedfrom:http://kernel.ubuntu.com/git/ppisati/ubuntu-vivid.git/log/?h=snappy_v3.10无锡控博科技2017
  • 21.Create Ubuntu Core Image I Using ubuntu-image tool to create Ubuntu Core Image for your board. In this process, tool will automatically download OS snap from Ubuntu server which your have selected. For example, stable channel or devel channel. “ sudo /snap/bin/ubuntu-image --channel stable \ --image-size 2G \ --extra-snaps bubblegum96-gadget_16.04-1.2_arm64.snap \ --extra-snaps bubblegum96-kernel_3.10.99_arm64.snap \ -o bubblegum96.img \ bubblegum96.model ” 无锡控博科技2017
  • 22.Create Ubuntu Core Image II Prepare model assertion ● ● ● ● Including your authority-id and brand-id, which bonded with your Ubuntu One account. In Ubuntu One account, your public key should be added. Create model assertion with your snap key. In Ubuntu Core 16.04, ssh is the only way you can login into your board. Further more, you can only use public key, which is absolutely secured. 无锡控博科技2017
  • 23.Ubuntu Core Application Demo 无锡控博科技2017
  • 24.uC3DP 3D Cloud Printing In this system, we use 20 bubblegum-96 boards, we called ‘Sheepdog Client’, to operate 20 printers (as the sheep role) and one bubblegum-96 board called ‘Shepherd Server’ to manage these 20 boards. When we submit the .stl file, ‘Shepherd Server’ will analysis the file and check if it’s possible to print well, or fixed the model bugs. Next the model file will be sliced automatically by “Shepherd Server” and pushed to “Sheepdog Client”. Finally the “Sheepdog Client” will operate the sheep, I mean the 3D printers, to print the model. 无锡控博科技2017
  • 25.The whole system is running as a private cloud. So what we cared aboutare:SAFE FAST UBUNTU CORE EASY 无锡控博科技2017
  • 26.+ = POWERFUL && SECURITY
  • 27.You can find the relative instructions and source file on Github.https://github.com/uCRDev/Bubblegum96-Snappy96boards:https://www.96boards.org/product/bubblegum-96/Contactingus:96boards@ucrobotics.com 2017.09.01@深圳湾 无锡控博科技2017