Releases: ostroproject/ostro-os-xt
Ostro™ OS XT: Version 1.0.1 Release Notes
December 30, 2016
Ostro™ OS XT (eXTended) is a reference Linux* OS image tailored for Intel® Joule™ platforms, an IoT high-performance system on module (SoM) based on a 64-bit quad-core Intel® Atom™ T5500/T5700 processor.
Ostro OS XT is built upon and extends the base Ostro OS to take full advantage of the Intel® Joule™ platform's capabilities:
- Graphics and Media Stacks
- Linux GFX driver compliant with OpenGL 3.0, LibDRM, libva
- X11, XFCE4
- Multimedia framework: gstreamer, all gstreamer-good plugins, gstreamer-vaapi-1.0
- Computer Vision Stacks: OpenCV and OpenCL
- Intel® RealSense™ technology support, including code examples.
- Application Development:
- Runtimes: Java (OpenJDK8), Node.js, C/C++, Python
- Intel® IoT Developer Kit
- Intel® System Studio IoT Edition
- Intel® XDK
- Interconnectivity and Networking stacks
- IoTivity, WiFi, BT, BLE, 6LowPAN
- Real-time (RT) WiFi Power Management (PM)
- Sensor libraries
- UPM, MRAA, and I2C sensors with Python and Node.js bindings
- Base system services
- Linux Kernel 4.4, aligned to the latest Yocto Project OpenEmbedded (OE), bxt-rebase branch
- Install option for flashing a system image from external storage (USB) to internal storage (eMMC) and boot from micro-SD
Changelog since v1.0.0
Features:
- Update to Linux kernel 4.4.36, Mesa graphics 12.1.0+ (git master), gstreamer-vaapi 1.8.2, and Beignet 1.2.1
- Intel RealSense SDK code samples for Linux
- Suspend system on power button push
- Audio I2S interface
Fixes:
- Security updates based on Common Vulnerabilities and Exposures (CVEs):
- libxml2: CVE-2016-5131
- openssl (1.0.2j): CVE-2016-2179, CVE-2016-2181, CVE-2016-6302, CVE-2016-2177, CVE-2016-2178, CVE-2016-2182, CVE-2016-6303, CVE-2016-6304, CVE-2016-6306, CVE-2016-2180
- curl: CVE-2016-5419, CVE-2016-5420, CVE-2016-5421
- libidn (1.33): CVE-2015-8948, CVE-2016-6261, CVE-2016-6262, CVE-2016-6263
- gnutls: CVE-2016-7444
- flex: CVE-2016-6354
- linux-yocto: CVE-2016-5195 ("Dirty COW")
- Python: CVE-2016-5636
- Software update
- fix to avoid the workaround in future updates (see below)
- fix to correctly update the EFI blob (kernel)
Source Code
The Ostro OS XT source code is on GitHub at: https://github.com/ostroproject/ostro-os-xt. The Ostro OS documentation applies, and we also refer you to the README.rst in the Ostro OS XT repo for additional and Ostro OS XT-specific documentation.
Image Download
There are two versions of the v1.0.1 Ostro XT 64-bit dsk.xz image available from the Ostro XT v1.0.1 download repository:
- The swupd image has the Software Update capability enabled. (You can read more about Software Update here.)
- The noswupd image does not include the Software Update capability (updates are done instead by full-disk re-flashing)
Installation Instructions
Instructions for doing a full-disk flash install of Ostro XT onto the Intel Joule module’s eMMC are available here.
Software Update Instructions
Software update needs 1.5GB free storage in the root filesystem. Use the following steps to perform a software update to a system already running Ostro XT:
- The update instructions depend on which build of Ostro XT is installed on the device. Determine the Ostro XT build ID you have installed by running the following command on your Intel Joule module:
cat /etc/ostro-release
- If the build ID is higher than 183, no workaround is needed and swupd can be invoked directly, as shown in step 4 below.
- If the build ID is #170, a workaround is required. Create the following directory (as root) prior to running a software update:
mkdir /var/lib/swupd && chsmack -T /var/lib/swupd
- Start a software update (as root) by using the following command:
swupd update -F 3 --url=https://download.ostroproject.org/updates/ostro-os-xt/milestone/intel-corei7-64/ostro-xt-image-swupd/
- When the update completes, reboot the device to start using the new OS version by typing:
reboot
Top Known Issues
- IMA/EVM security features are currently disabled in Ostro OS XT images
- Example apps installed by a bundle fail to launch
- The application fails to start correctly because its home directory /home/${OSTRO_USER_APP_NAME} does not exist and is not created. There is no existing workaround. A patch is being reviewed to correct this behavior.
- `systemctl restart` may fail to restart applications
- Restarting applications (systemd-nspawned containers) is not stable and will intermittently fail when using `systemctl restart`. As a workaround, use `systemctl stop` followed by `systemctl start` to reliably restart such applications.
- SD card not recognized in the OS
- We have observed that some SD cards are not seen by the OS if they were plugged before powering the system on. This does not happen with all cards. The OS will detect the SD card after it has been ejected and plugged back in when the system is running.
- Tar errors may happen during swupd update
- Some errors related to `tar` operations are seen when performing a `swupd update`. This only happens with directories that have the `security.SMACK64TRANSMUTE` attribute set to `TRUE`. This issue is currently under investigation and no workaround is available.
- Occasional kernel panic after resume from suspend
- The kernel sometimes panics if the system resumes from suspend S5 state. This issue is currently under investigation and no workaround is available.
- After several warm boots `ssh` into the system is no longer possible
- We have observed in our stress test that `ssh` into the system fails with the following error displayed: "ssh: connect to host 192.168.1.104 port 22: Connection refused." This happens even though the Ethernet adapter is up and an IP address is assigned. As a workaround, rebooting the system (cold reboot) will solve this issue.
- IoTivity over BLE fails to find resource
- IoTivity does not currently work over BLE connections. This is a problem in the upstream IoTivity project and no workaround is currently available.
- The Virtualbox* appliance generates exceptions due to unknown instructions
- Loading and booting a Virtualbox OVA appliance for Ostro OS XT results in a failure to boot in some environments. This usually happens with `systemd` crashing while attempting to execute an unknown instruction. This does not happen on all combinations of host OS and host hardware so switching to a different host environment may help.
Ostro is a trademark of Intel Corporation in the U.S. and/or other countries. *Other names and brands may be claimed as the property of others.
Ostro™ OS XT: Version 1.0.0 Release Notes
August 16, 2016
Ostro™ OS XT (eXTended) is a reference Linux* OS image tailored for an IoT high-performance system-on-module (SOM) platform based on a 64-bit Intel® Atom™ T5500/T5700 processor. This Ostro OS XT release is built upon and extends the base Ostro OS to provide the following capabilities:
- Graphics and Media Stacks
- Linux GFX driver compliant with OpenGL 3.0, LibDRM, libva
- X11, XFCE4
- Multimedia framework: gstreamer, all gstreamer-good plugins, gstreamer-vaapi-1.0
- Computer Vision Stacks: OpenCV and OpenCL
- Intel® RealSense™ support
- Application Development:
- Runtimes: Java (OpenJDK8), Node.js, C/C++, Python
- Intel® IoT Developer Kit
- Intel® System Studio IoT Edition
- Intel® XDK
- Interconnectivity and Networking stacks
- IoTivity, WiFi, BT, BLE, 6LowPAN
- Real-time (RT) WiFi Power Management (PM)
- Sensor libraries
- UPM, MRAA, and I2C sensors with Python and Node.js bindings
- Base system services
- Linux Kernel 4.4, aligned to the latest Yocto Project OpenEmbedded (OE), bxt-rebase branch
- Install option for flashing a system image from external storage (USB) to internal storage (eMMC) and boot from micro-SD
Source Code
The Ostro OS XT source code is on GitHub at: https://github.com/ostroproject/ostro-os-xt. The Ostro OS documentation applies and we also refer you to the README.rst and doc/ folder in the Ostro OS XT repo for additional and Ostro OS XT-specific documentation.
Download
The noswupd 64-bit (dsk.xz) image can be downloaded from here. The corresponding image with swupd (Software Update mechanism) enabled is also available by visiting our download repository at https://download.ostroproject.org/releases/ostro-os-xt/milestone/v1.0.0/. Instructions for creating a bootable USB stick are available in this Ostro OS how-to article.
Top Known Issues
- IMA/EVM security features are currently disabled in Ostro OS XT images
- Example apps installed by a bundle fail to launch
- The application fails to start correctly because its home directory /home/${OSTRO_USER_APP_NAME} does not exist and is not created. There is no existing workaround. A patch is being reviewed to correct this behavior.
- `systemctl restart`may fail to restart applications
- Restarting applications (systemd-nspawned containers) is not stable and will intermittently fail when using systemctl restart. As a workaround, use `systemctl stop` followed by `systemctl start` to reliably restart such applications.
- SD card not recognized in the OS
- We have observed that some SD cards are not seen by the OS if they were plugged before powering the system on. This does not happen with all cards. The OS will detect the SD card after it has been unplugged and plugged back in when the system is running.
- swupd update fails with IMA enabled
- A component of swupd (Software Update mechanism) is causing a hash mismatch when IMA is turned on, which results in the inability to perform a software upgrade. IMA is currently turned off in the published images and a software patch is under review: https://github.com/intel/meta-intel-iot-security/pull/131
- Tar errors may happen during swupd update
- Some errors related to tar operations are seen when performing a swupd update. This only happens with directories that have the security.SMACK64TRANSMUTE attribute set to TRUE. This issue is currently under investigation and no workaround is available.
- System intermittently not powering off with PWR button or `shutdown -h`
- The board sometimes fails to enter the S5 state and does not power off. This has been seen while issuing a `shutdown -h` or pressing the PWR button. The board can be powered off by unplugging the power supply and any USB cable providing power.
- After several warm boots `ssh` into the system is no longer possible
- We have observed in our stress test that `ssh` into the system fails with the following error: "ssh: connect to host 192.168.1.104 port 22: Connection refused." This happens although the Ethernet adapter is up and an IP address is assigned. As a workaround, rebooting the system (cold reboot) will solve this issue.
- Active EFI partition doesn't change after an update and reboot
- After a software upgrade that includes an EFI update, the active partition (type 0xEF00) should change from partition 1 to partition 2 (this is how a fallback mechanism is implemented in case the new update does not work as expected). However, this functionality is not complete and no workaround is available.
- IoTivity over BLE fails to find resource
- IoTivity does not currently work over BLE connections. This is a problem in the upstream IoTivity project and no workaround is currently available.
- The Virtualbox* appliance generates exceptions due to unknown instructions
- Loading and booting a Virtualbox OVA appliance for Ostro OS XT results in a failure to boot in some environments. This usually happens with `systemd` crashing while attempting to execute an unknown instruction. This does not happen on all combinations of host OS and host hardware so switching to a different host environment may help.
Ostro is a trademark of Intel Corporation in the U.S. and/or other countries. *Other names and brands may be claimed as the property of others.