2. 无锡控博科技2017
● About uCRobotics
● What is Bubblegum-96
● Porting Ubuntu Core to Bubblegum-96
● Demo We Have Done
Ubuntu Core on Bubblegum-96
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 solution including: 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. 无锡控博科技2017
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.
5. 无锡控博科技2017
● IE 96boards
● MCU: 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,CCMP
● OS: Zypher, mbed, RT-Thread
Bluesky
11. 无锡控博科技2017
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.
……
“
”
13. 无锡控博科技2017
Gadget Snap
● 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
I
15. 无锡控博科技2017
NOTE:
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.
Gadget Snap III
16. 无锡控博科技2017
Kernel Snap
● 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.
I
17. 无锡控博科技2017
snapcraft.yaml
name: bubblegum96-kernel
version: 3.10.99
summary: A bubblegum kernel built from source
description: This is the kernel from https://github.com/uCRDev/linux
type: kernel
parts:
kernel:
plugin: kernel
source: ../linux
source-type: git
kdefconfig: [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=m
kernel-initrd-modules:
- squashfs
kernel-image-target: Image
kernel-device-trees:
- s900_96board
build-packages: [bc, kmod, cpio]
Kernel Snap II
18. 无锡控博科技2017
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.
Kernel Snap III
21. 无锡控博科技2017
Create Ubuntu Core Image
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
“
”
I
22. 无锡控博科技2017
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.
Create Ubuntu Core Image II
24. 无锡控博科技2017
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.
25. 无锡控博科技2017
SAFE FAST EASY UBUNTU CORE
The whole system is
running as a private cloud.
So what we cared about
are:
27. 无锡控博科技2017
You can find the relative instructions and source file on Github.
https://github.com/uCRDev/Bubblegum96-Snappy
96boards:
https://www.96boards.org/product/bubblegum-96/
Contacting us:
96boards@ucrobotics.com
2017.09.01@深圳湾