蚊章汇 - Eric Brown
type: channel
link: https://linuxcn.bwsl.wang/author/250/
description: Eric Brown
items: Google 为树莓派 Zero W 发布了基于TensorFlow 的视觉识别套件
items: Intel 和 AMD 透露新的处理器设计
items: 运行在树莓派和 Arduino 上的开源社交机器人套件
items: IoT 边缘计算框架的新进展
items: 深入实时 Linux
items: Linux 容器能否弥补 IoT 的安全短板？
items: 长期维护嵌入式 Linux 内核变得容易
items: Linus Torvalds 谈及物联网、智能设备、安全连接等问题
items: 用树莓派计算模块搭建的工业单板计算机
items: Android 4.4 移植到了 PowerPC 架构，支持大端架构

Google 为树莓派 Zero W 发布了基于TensorFlow 的视觉识别套件
type: item
date: 2018-08-09T23:34:13+08:00
description: Google 发布了一个 45 美元的 “AIY Vision Kit”，它是运行在树莓派 Zero W 上的基于 TensorFlow 的视觉识别开发套件，它使用了一个带 Movidius 芯片的 “VisionBonnet” 板。为加速该设备上的神经网络，Google 的 AIY 视频套件继承了早期树莓派上运行的 AIY 项目 的语音/AI 套件，这个型号的树莓派随五月份的 MagPi 杂志一起赠送。与语音套件和老的 Google 硬纸板 VR 查看器一样，这个新的 AIY 视觉套件也使用一个硬纸板包装。这个套件和 Cloud Vision API 是不一样的，它使用了一个在 2015 年演示过的基于树莓派的 GoPiGo 机器人，它完全在本地的处理能力上运行，而不需要使用一个云端连接。这个 AIY 视觉套件现在可以 45 美元的价格去预订，将在 12 月份发货。 AIY 视觉套件，完整包装（左）和树莓派 Zero W这个套件的主要处理部分除了所需要的 树莓派 Zero W 单片机之外 —— 一个基于 ARM11 的 1 GHz 的 Broadcom BCM2836 片上系统，另外的就是 Google 最新的 VisionBonnet RPi 附件板。这个 VisionBonnet pHAT 附件板使用了一个 Movidius MA2450，它是 Movidius Myriad 2 VPU 版的处理器。在 VisionBonnet 上，处理器为神经网络运行了 Google 的开源机器学习库 TensorFlow。因为这个芯片，使得视觉处理的速度最高达每秒 30 帧。这个 AIY 视觉套件要求用户提供一个树莓派 Zero W、一个 树莓派摄像机 v2、以及一个 16GB 的 micro SD 卡，它用来下载基于 Linux 的 OS 镜像。这个套件包含了 VisionBonnet、一个 RGB 街机风格的按钮、一个压电扬声器、一个广角镜头套件、以及一个包裹它们的硬纸板。还有一些就是线缆、支架、安装螺母，以及连接部件。 AIY 视觉套件组件（左）和 VisonBonnet 附件板有三个可用的神经网络模型。一个是通用的模型，它可以识别常见的 1000 个东西，一个是面部检测模型，它可以对 “快乐程度” 进行评分，从 “悲伤” 到 “大笑”，还有一个模型可以用来辨别图像内容是狗、猫、还是人。这个 1000 个图片模型源自 Google 的开源 MobileNets，它是基于 TensorFlow 家族的计算机视觉模型，它设计用于资源受限的移动或者嵌入式设备。MobileNet 模型是低延时、低功耗，和参数化的，以满足资源受限的不同使用情景。Google 说，这个模型可以用于构建分类、检测、嵌入、以及分隔。在本月的早些时候，Google 发布了一个开发者预览版，它是一个对 Android 和 iOS 移动设备友好的 TensorFlow Lite 库，它与 MobileNets 和 Android 神经网络 API 是兼容的。AIY 视觉套件包装图除了提供这三个模型之外，AIY 视觉套件还提供了基本的 TensorFlow 代码和一个编译器，因此用户可以去开发自己的模型。另外，Python 开发者可以写一些新软件去定制 RGB 按钮颜色、压电元素声音、以及在 VisionBonnet 上的 4x GPIO 针脚，它可以添加另外的指示灯、按钮、或者伺服机构。Potential 模型包括识别食物、基于可视化输入来打开一个狗门、当你的汽车偏离车道时发出文本信息、或者根据识别到的人的面部表情来播放特定的音乐。 Myriad 2 VPU 结构图（左）和参考板Movidius Myriad 2 处理器在一个标称 1W 的功耗下提供每秒万亿次浮点运算的性能。在被 Intel 收购之前，这个芯片最早出现在 Tango 项目的参考平台上，并内置在 2016 年 5 月由 Movidius 首次亮相的、Ubuntu 驱动的 USB 的 Fathom 神经网络处理棒中。根据 Movidius 的说法，Myriad 2 目前已经在 “市场上数百万的设备上使用”。更多信息AIY 视觉套件可以在 Micro Center 上预订，价格为 $44.99，预计在（2017 年） 12 月初发货。更多信息请参考 AIY 视觉套件的 公告、Google 博客、以及 Micro Center 购物页面。via: http://linuxgizmos.com/google-launches-tensorflow-based-vision-recognition-kit-for-rpi-zero-w/作者：Eric Brown 译者：qhwdw 校对：wxy本文由 LCTT…

Intel 和 AMD 透露新的处理器设计
type: item
date: 2018-07-04T17:49:26+08:00
description: Whiskey Lake U 系列和 Amber Lake Y 系列的酷睿芯片将会在今年秋季开始出现在超过 70 款笔记本以及 2 合 1 机型中。根据最近的台北国际电脑展 (Computex 2018) 以及最近其它的消息，处理器成为科技新闻圈中最前沿的话题。Intel 发布了一些公告涉及从新的酷睿处理器到延长电池续航的尖端技术。与此同时，AMD 亮相了第二代 32 核心的高端游戏处理器线程撕裂者（Threadripper）以及一些适合嵌入式的新型号锐龙 Ryzen 处理器。以上是对 Intel 和 AMD 主要公布产品的快速浏览，针对那些对嵌入式 Linux 开发者最感兴趣的处理器。Intel 最新的第八代 CPU 家族在四月份，Intel 已经宣布量产 10nm 制程的 Cannon Lake 系列酷睿处理器将会延期到 2019 年，这件事引起了人们对摩尔定律最终走上正轨的议论。然而，在 Intel 的 Computex 展区 中有着众多让人欣慰的消息。Intel 展示了两款节能的第八代 14nm 酷睿家族产品，同时也是 Intel 首款 5GHz 的设计。Whiskey Lake U 系列和 Amber Lake Y 系列的酷睿芯片将会在今年秋季开始出现在超过 70 款笔记本以及 2 合 1 机型中。Intel 表示，这些芯片相较于第七代的 Kaby Lake 酷睿系列处理器会带来两倍的性能提升。新的产品家族将会相比于目前出现的搭载 Coffee Lake 芯片的产品更加节能 。Whiskey Lake 和 Amber Lake 两者将会配备 Intel 高性能千兆 WiFi (Intel 9560 AC)，该网卡同样出现在 Gemini Lake 架构的奔腾银牌和赛扬处理器，随之出现在 Apollo Lake 一代。千兆 WiFi 本质上就是 Intel 将 2×2 MU-MIMO 和 160MHz 信道技术与 802.11ac 结合。Intel 的 Whiskey Lake 将作为第七代和第八代 Skylake U 系列处理器的继任者，它们现在已经流行于嵌入式设备。Intel 透漏了少量细节，但是 Whiskey Lake 想必将会提供同样的，相对较低的 15W TDP。这与 Coffee Lake U 系列芯片 也很像，它将会被用于四核以及 Kaby Lake 和 Skylake U 系列的双核芯片。PC World 报导称，Amber Lake Y 系列芯片主要目标定位是 2 合 1 机型。就像双核的 Kaby Lake Y 系列 芯片，Amber Lake 将会支持 4.5W TDP。为了庆祝 Intel 即将到来的 50 周年庆典， 同样也是作为世界上第一款 8086 处理器的 40 周年庆典，Intel 将启动一个限量版，带有一个时钟频率 4GHz 的第八代 酷睿 i7-8086K CPU。 这款 64 位限量版产品将会是第一块拥有 5GHz, 单核睿频加速，并且是首款带有集成显卡的 6 核，12 线程处理器。Intel 将会于 6 月 7 日开始 赠送 8086 块超频酷睿 i7-8086K 芯片。Intel 也展示了计划于今年年底启动新的高端 Core X 系列拥有高核心和线程数。AnandTech 预测 可能会使用类似于 Xeon 的 Cascade Lake 架构。今年晚些时候，Intel 将会公布新的酷睿 S系列型号，AnandTech 预测它可能会是八核心的 Coffee Lake 芯片。Intel 也表示第一款疾速傲腾 SSD —— 一个 M.2 接口产品被称作 905P —— 终于可用了。今年来迟的是 Intel XMM 800 系列调制解调器，它支持 Sprint 的 5G 蜂窝技术。Intel 表示 可用于 PC 的 5G 将会在 2019 年出现。Intel 承诺笔记本全天候的电池寿命另一则消息，Intel 表示将会尽快启动一项 Intel 低功耗显示技术，它将会为笔记本设备提供一整天的电池续航。合作开发伙伴 Sharp 和 Innolux 正在使用这项技术在 2018 年晚期开始生产 1W 显示面板，这能节省 LCD 一半的电量消耗。AMD 继续翻身在展会中，AMD 亮相了第二代拥有 32 核 64 线程的线程撕裂者（Threadripper） CPU。为了走在 Intel 尚未命名的 28 核怪兽之前，这款高端游戏处理器将会在第三季度推出。根据 Engadget 的消息，新的线程撕裂者同样采用了被用在锐龙 Ryzen 芯片的 12nm Zen+ 架构。WCCFTech 报导，AMD 也表示它选自 7nm Vega Instinct GPU（为拥有 32GB 昂贵的 HBM2 显存…

运行在树莓派和 Arduino 上的开源社交机器人套件
type: item
date: 2017-10-08T19:47:58+08:00
description: Thecorpora 的发布的 “Q.bo One” 机器人基于 RPi 3 和 Arduino，并提供立体相机、麦克风、扬声器，以及视觉和语言识别。2010 年，作为一个开源概念验证和用于探索 AI 在多传感器、交互式机器人的能力的研究项目，机器人开发商 Francisco Paz 及它在巴塞罗那的 Thecorpora 公司推出了首款 Qbo “Cue-be-oh” 机器人。在今年 2 月移动世界大会上的预览之后，Thecorpora 把它放到了 Indiegogo 上，与 Arrow 合作推出了第一个批量生产的社交机器人版本。 Q.bo One 的左侧Q.bo One 的顶部像原来一样，新的 Q.bo One 有一个带眼睛的球形头（双立体相机）、耳朵（3 个麦克风）和嘴（扬声器），并由 WiFi 和蓝牙控制。 Q.bo One 也同样采用开源 Linux 软件和开放规格硬件。然而，它不是使用基于 Intel Atom 的 Mini-ITX 板，而是在与 Arduino 兼容的主板相连的 Raspberry Pi 3 上运行 Raspbian。Q.bo One 侧视图*Q.bo One 于 7 月中旬在 Indiegogo 上架，起价为 369 美元（早期买家）或 399 美元，有包括内置的树莓派 3 和基于 Arduino 的 “Qboard” 控制器板。它还有售价 $499 的完整套装。目前，Indiegogo 上的众筹目标是 $100,000，现在大概达成了 15%，并且它 12 月出货。更专业的机器人工程师和嵌入式开发人员可能会想要使用价值 $99 的只有树莓派和 Qboard PCB 和软件的版本，或者提供没有电路板的机器人套件的 $249 版本。使用此版本，你可以用自己的 Arduino 控制器替换 Qboard，并将树莓派 3 替换为另一个 Linux SBC。该公司列出了 Banana Pi、BeagleBone、Tinker Board 以及即将退市的 Intel Edison，作为兼容替代品的示例。Q.bo One 套件与 2010 年的 Qbo 不同，Q.bo One 除了球面头部之外无法移动，它可以在双重伺服系统的帮助下在底座上旋转，以便跟踪声音和动作。Robotis Dynamixel 舵机同样开源，树莓派基于 TurtleBot 3 机器人工具包，除了左右之外，还可以上下移动。 Q.bo One 细节Qboard 细节Q.bo One 类似于基于 Linux 的 Jibo “社交机器人”，它于 2014 年在 Indiegogo 众筹，最后达到 360 万美元。然而，Jibo 还没有出货，最近的推迟迫使它在今年的某个时候发布一个版本。Q.bo One我们大胆预测 Q.bo One 将会在 2017 年接近 12 月出货。核心技术和 AI 软件已被证明，而树莓派和 Arduino 技术也是如此。Qboard 主板已经由 Arrow 制造和认证。开源设计表明，即使是移动版本也不会有问题。这使它更像是滚动的人形生物 Pepper，这是一个来自 Softbank 和 Aldeberan 类似的人工智能对话机器人。Q.bo One 自原始版以来添加了一些技巧，例如由 20 个 LED 组成的“嘴巴”， 它以不同的、可编程的方式在语音中模仿嘴唇开合。如果你想点击机器人获得关注，那么它的头上还有三个触摸传感器。但是，你其实只需要说话就行，而 Q.bo One 会像一个可卡犬一样转身并凝视着你。接口和你在树莓派 3 上的一样，它在我们的 2017 黑客电路板调查中消灭了其他对手。为树莓派 3 的 WiFi 和蓝牙安装了天线。 Q.bo One 软件架构Q.bo One 及 Scratch 编程Qboard（也称为 Q.board）在 Atmel ATSAMD21 MCU 上运行 Arduino 代码，并有三个麦克风、扬声器、触摸传感器、Dynamixel 控制器和用于嘴巴的 LED 矩阵。其他功能包括 GPIO、I2C接口和可连接到台式机的 micro-USB 口。Q.bo One 可以识别脸部和追踪移动，机器人甚至可以在镜子中识别自己。在云连接的帮助下，机器人可以识别并与其他 Q.bo One 机器人交谈。机器人可以在自然语言处理的帮助下回答问题，并通过文字转语音朗读。可以使用 Scratch 编程，它是机器人的主要功能，可以教孩子关于机器人和编程。机器人也是为教育者和制造者设计的，可以作为老年人的伴侣。基于 Raspbian 的软件使用 OpenCV 进行视觉处理，并可以使用各种语言（包括 C++）进行编程。该软件还提供了 IBM Bluemix、NodeRED 和 ROS 的钩子。大概你也可以整合 Ale…

IoT 边缘计算框架的新进展
type: item
date: 2017-09-24T22:12:13+08:00
description: 开源项目 EdgeX Foundry 旨在开发一个标准化的互操作物联网边缘计算框架。4 月份时， Linux 基金组织启动了一个开源项目 EdgeX Foundry ，用于为物联网边缘计算开发一个标准化互操作框架。 就在最近， EdgeX Foundry 又宣布新增了 8 个成员，其总成员达到 58 位。这些新成员是 Absolute、IoT Impact LABS、inwinStack、Parallel Machines、Queen's University Belfast、RIOT、Toshiba Digital Solutions Corporation 和 Tulip Interfaces。 其原有成员包括 AMD、Analog Devices、Canonical/Ubuntu、Cloud Foundry、Dell、Linaro、Mocana、NetFoundry、 Opto 22、RFMicron 和 VMWare 等其他公司或组织。EdgeX Foundry 项目构建于戴尔早期的基于 Apache2.0 协议的 FUSE 物联网中间件框架之上，其中包括十几个微服务和超过 12.5 万行代码。在 FUSE 合并了类同项目 AllJoyn-compliant IoTX 之后，Linux 基金会协同 Dell 创立了 EdgeX Foundry ，后者是由 EdgeX Foundry 现有成员 Two Bulls 和 Beechwood 发起的项目。EdgeX Foundry 将创造一个互操作性的、即插即用组件的物联网边缘计算的生态系统。开源的 EdgeX 栈将协调各种传感器网络协议与多种云平台及分析平台。该框架旨在充分挖掘横跨边缘计算、安全、系统管理和服务等模块间的互操作性代码。对于项目成员及其客户来说，其关键的好处是在于能将各种预先认证的软件集成到许多 IoT 网关和智能边缘设备上。 在 Linux.com 的一次采访中，IoT Impact LABS 的首席工程师 Dan Mahoney 说：“现实中，EdgeX Foundry 降低了我们在部署多供应商解决方案时所面对的挑战。”在 Linux 基金会仍然将其 AllSeen Alliance 项目下的 AllJoyn 规范合并到 IoTivity 标准的情况下，为什么会发起了另外一个物联网标准化项目（EdgeX Foundry） 呢？ 原因之一，EdgeX Foundry 不同于 IoTivity，IoTivity 主要解决工业物联网问题，而 EdgeX Foundry 旨在解决消费级和工业级物联网全部的问题。 更具体来说， EdgeX Foundry 旨在成为网关和智能终端的通用中间件。 EdgeX Foundry 与 IoTivity 的另一个不同在于，前者希望借助预认证的终端塑造一种新产品，后者更多解决现存产品之间的互操作性。Linux 基金会 IoT 高级总监 Philip DesAutels 说：“IoTivity 提供实现设备之间无缝连接的协议， 而 EdgeX Foundry 提供了一个边缘计算框架。EdgeX Foundry 能够兼容如 IoTivity、 BacNet、 EtherCat 等任何协议设备，从而实现集成多协议通信系统的通用边缘计算框架，该项目的目标是为构建互操作组件的生态系统的过程中，降低不确定性，缩短市场化时间，更好地产生规模效应。”上个月, 由 Open Connectivity Foundation （OCF）和 Linux 基金组织共同发起的 IoTivity 项目发布了 IoTivity 1.3，该版本增加了与其曾经的对手 AllJoyn spec 的纽带，也增加了对于 OCF 的 UPnP 设备发现标准的接口。 预计在 IoTivity 2.0 中， IoTivity 和 AllJoyn 将会更进一步深入集成。DesAutels 告诉 linux.com，IoTivity 和 EdgeX 是“高度互补的”，其“原因是 EdgeX Foundry 项目的几个成员也是 IoTivity 或 OCF 的成员，如此更强化了 IoTivity 和 EdgeX 的合作关系。”尽管 IoTivity 和 EdgeX 都宣称是跨平台的，包括在 CPU 架构和 OS 方面，但是二者还是存在一定区别。 IoTivity 最初是基于 Linux 平台设计，兼容 Ubuntu、Tizen 和 Android 等 Linux 系列 OS，后来逐步扩展到 Windows 和 iOS 操作系统。与之对应的 EdgeX 设计之初就是基于跨平台的理念，其完美兼容于各种 CPU 架构，支持 Linux, Windows 和 Mac OS 等操作系统， 未来…

深入实时 Linux
type: item
date: 2017-07-18T20:52:21+08:00
description: 实时 Linux 在过去十年中已经走了很长的路。Linutronix 的 Jan Altenberg 提供了对该主题做了概述，并在 ELC Europe 的视频中提供了新的 RTL 性能基准。实时 Linux（RTL）是一种启用 PREEMPT\_RT 的主线 Linux，在过去十年中已经走了很长的路。大约 80％ 的确定性的 PREEMPT\_RT 补丁现在可用于主线内核本身。然而，Linux 上单内核 RTL 的最强大的替代品——双内核 Xenomai——继续声称在减少延迟上有巨大的优势。在去年 10 月的 欧洲嵌入式 Linux 会议的演讲中，Jan Altenberg 反驳了这些声明，同时对实时主题做了论述。德国嵌入式开发公司 Linutronix 的 Altenberg 并不否认 Xenomai 和 RTAI 等双核方法提供较低的延迟。然而，他揭示了新的 Linutronix 基准，旨在表明差异不如所声称的那样大，特别是在实际使用中。争议较少的是，他认为 RTL 更易于开发和维护。在我们深入永恒的 Xenomai 与 RTL 的辩论之前，请注意，2015 年 10 月，开源自动化开发实验室（OSADL）将 RTL 项目的控制权转移给了管理 Linux.com 的 Linux 基金会。此外，Linutronix 是 RTL 项目的主要贡献者，并承担了 x86 的维护者。RTL 的进步是过去十年中 Linux 从实时操作系统（RTOS）中获得市场占有率的几个原因之一。实时操作系统在微控制器上比应用处理器上更频繁出现，并且在缺乏高级用户级操作系统（如 Linux）的单用途设备上实现实时很简单。Altenberg 通过清除关于实时确定性的内核方案的一些常见的误解开始他的演讲。Altenberg 告诉他的 ELCE 观众：“实时不是快速执行，这基本上是决定论和定时保证。实时为你提供保证某些内容将在给定的时间内执行。你不想要尽可能快，但是要尽快指定。”在给定的执行时间内的迟缓的反应会导致严重后果，特别是当它可能导致人们受到伤害时，开发人员往往会使用实时的方式。这就是为什么实时性仍然在很大程度上受到工厂自动化行业的推动，并且越来越多地出现在汽车、火车和飞机上。然而，并不总是生死攸关的情况 - 金融服务公司使用 RTL 进行高频交易。Altenberg 说：“实时需求包括确定性的定时行为、抢占、优先级继承和优先级上限。最重要的要求是高优先级任务总是需要能够抢占低优先级的任务。”Altenberg 强烈建议不要使用术语“软实时”来描述轻量级实时解决方案。“你可以是确定性的或者不是，但两者之间什么也没有。”双内核实时像 Xenomai 和 RTAI 这样的双内核方案部署了一个与单独的 Linux 内核并行运行的微内核，而像 RTL 这样的单内核方案使得 Linux 本身能够实时运行。Altenberg 说：“使用双内核，当优先级实时程序不在微内核上运行时，Linux 可以获得一些运行时间。 “问题是人们需要维护微内核并在新的硬件上支持它。这需要巨大的努力，并且它的开发社区不是很大。另外，由于 Linux 不直接在硬件上运行，所以你需要一个硬件抽象层（HAL）。有两件事要维护，你通常会落后主流内核一步。”Altenberg说：“RTL 的挑战以及花了这么久才出现的原因是，要使 Linux 实时，你基本要修改每个内核文件。” 然而，大部分工作已经完成并合并到主线，开发人员并不需要维护一个微内核或 HAL。Altenberg 继续解释了 RTAI 和 Xenomai 之间的差异。“使用 RTAI，你将编写一个由微内核调度的内核模块。这就像内核开发 - 真的很难深入，很难调试。”RTAI 的开发可能会更加复杂，因为工业用户通常希望包括封闭的源代码以及 GPL 内核代码。 Altenberg 说：“你必须决定哪些部分可以进入用户态，哪些部分可以通过实时的方式进入内核。”RTAI 与 RTL 想必支持更少的硬件平台，特别是 x86 之外。双内核 Xenomai 将 RTAI 作为主要的双内核方式，比 RTAI 具有更大的操作系统支持。更重要的是，Altenberg 说：“它提供了“在用户空间中进行实时的合适解决方案。要做到这一点，他们实现了皮肤的概念 - 一个用于不同 RTOS 的 API 的仿真层，比如 POSIX。这使你可以重用一些 RTOS 中的现有代码的子集。”然而，使用 Xenomai，你仍然需要维护一个单独的微内核和 HAL。有限的开发工具是另一个问题。Altenberg说：“与 RTAI 一样，你不能使用标准的 C 库。你需要专门的工具和库。即使对于 POSIX 来说，你也必须链接到 POSIX 层，这更复杂。” 他补充说，任何一个平…

Linux 容器能否弥补 IoT 的安全短板？
type: item
date: 2017-05-07T02:59:57+08:00
description: 在这个最后的物联网系列文章中，Canonical 和 Resin.io 向以 Linux 容器技术作为解决方案向物联网安全性和互操作性发起挑战。尽管受到日益增长的安全威胁，但对物联网（IoT）的炒作没有显示减弱的迹象。为了刷存在感，公司们正忙于重新规划它们的物联网方面的路线图。物联网大潮迅猛异常，比移动互联网革命渗透的更加深入和广泛。IoT 像黑洞一样，吞噬一切，包括智能手机，它通常是我们通向物联网世界的窗口，有时也作为我们的汇聚点或终端。新的针对物联网的处理器和嵌入式主板继续重塑其技术版图。自从 9 月份推出 面向物联网的 Linux 和开源硬件 系列文章之后，我们看到了面向物联网网关的 “Apollo Lake]” SoC 芯片 Intel Atom E3900 以及三星 新的 Artik 模块，包括用于网关并由 Linux 驱动的 64 位 Artik 7 COM 及自带 RTOS 的 Cortex-M4 Artik。 ARM 为具有 ARMv8-M 和 TrustZone 安全性的 IoT 终端发布了 Cortex-M23 和 Cortex-M33 芯片。Artik 7讲道理，安全是这些产品的卖点。最近攻击 Dyn 服务并在一天内摧毁了美国大部分互联网的 Mirai 僵尸网络将基于 Linux 的物联网推到台前 - 当然这种方式似乎不太体面。就像 IoT 设备可以成为 DDoS 的帮凶一样，设备及其所有者同样可能直接遭受恶意攻击。Cortex-M33 和 -M23Dyn 攻击事件更加证明了这种观点，即物联网将更加蓬勃地在受控制和受保护的工业环境发展，而不是家用环境中。这不是因为没有消费级物联网安全技术，但除非产品设计之初就以安全为目标，否则如我们的智能家居集线器系列中的许多解决方案一样，后期再考虑安全就会增加成本和复杂性。在物联网系列的最后这个未来展望的部分，我们将探讨两种基于 Linux 的面向 Docker 的容器技术，这些技术被提出作为物联网安全解决方案。容器还可以帮助解决我们在物联网框架中探讨的开发复杂性和互操作性障碍的问题。我们与 Canonical 的 Ubuntu 客户平台工程副总裁 Oliver Ries 讨论了 Ubuntu Core 和适用于 Docker 的容器式 Snaps 包管理技术。我们还就新的基于 Docker 的物联网方案 ResinOS 采访了 Resin.io 首席执行官和联合创始人 Alexandros Marinos。Ubuntu Core SnapsCanonical 面向物联网的 Snappy Ubuntu Core 版本的 Ubuntu 是围绕一个类似容器的快照包管理机制而构建的，并提供应用商店支持。 snaps 技术最近自行发布了用于其他 Linux 发行版的版本。去年 11 月 3 日，Canonical 发布了 Ubuntu Core 16，该版本改进了白标应用商店和更新控制服务。传统 Ubuntu（左）架构 与 Ubuntu Core 16快照机制提供自动更新，并有助于阻止未经授权的更新。 使用事务系统管理，快照可确保更新按预期部署或根本不部署。 在 Ubuntu Core 中，使用 AppArmor 进一步加强了安全性，并且所有应用程序文件都是只读的且保存在隔离的孤岛中。LimeSDRUbuntu Core 是我们最近展开的开源物联网操作系统调查的一部分，现在运行于 Gumstix 主板、Erle 机器人无人机、Dell Edge 网关、Nextcloud Box、LimeSDR、Mycroft 家庭集线器、英特尔的 Joule 和符合 Linaro 的 96Boards 规范的 SBC（单板计算机） 上。 Canonical 公司还与 Linaro 物联网和嵌入式（LITE）部门集团在其 96Boards 物联网版（IE） 上达成合作。最初，96Boards IE 专注于 Zephyr 驱动的 Cortex-M4 板卡，如 Seeed 的 BLE Carbon，不过它将扩展到可以运行 Ubuntu Core 的网关板卡上。“Ubuntu Core 和 snaps 具有从边缘到网关到云的相关性，”Canonical 的 Ries 说。 “能够在任何主要发行版（包括 Ubuntu Server 和 Ubuntu for Cloud）上运行快照包，使我们能够提供一致的体验。 snaps 可以使用事务更新以免故障方式升级，可用于安全性更新、错误修复或新功能的持续更新，这在物联网环境中非常重要。”Nextcloud盒子安全性和可靠性是关注的重点，Ries 说。 “snaps 应用可以完全独立于彼此和操作系统而运行，使得两个应用程序可以安全地在单个网关上运行，”他说。 “s…

长期维护嵌入式 Linux 内核变得容易
type: item
date: 2017-03-02T17:12:00+08:00
description: Pengutronix 内核黑客 Jan Lübbe 总结了嵌入式 Linux 中正在不断增长的安全威胁，并在这次欧洲嵌入式 Linux 会议上概述了一个计划，以保持长期设备的安全和功能完整。 Linux 基金会安全漏洞只发生在 Windows 上的好日子正在快速过去。恶意软件黑客和拒绝服务老手们正在越来越多地瞄准过时的嵌入式 Linux 设备，因此在 10 月的 欧洲嵌入式 Linux 会议 Embedded Linux Conference Europe （ELCE）上的几个演讲的主题就与修复 Linux 安全漏洞相关。最值得去听的讲演之一是 Pengutronix 内核黑客 Jan Lübbe 的《长期维护或管理（或免管理）嵌入式系统 10 年以上》。在总结嵌入式 Linux 中不断增长的安全威胁后，Lübbe 制定了一项计划，以确保长期设备的安全和功能完整。 Lübbe 说：“我们需要迁移到更新、更稳定的内核，并进行持续维护以修复关键漏洞。我们需要做上游更新和自动化流程，并建立一个可持续的工作流程。我们没有理由让系统中仍留有过时的软件。”随着 Linux 设备变得越来越老，传统的生命周期过程已经不再适用。 Lübbe 说：“通常，你会从 SoC 供应商或主线上获取内核、构建系统，并添加到用户空间。你可以定制和添加程序，并做一些测试。但是，在此之后有 15 年的维护阶段，你最好期望平台不会发生变化、不会想要添加新的功能、不需要实施管理调整。”所有这些变化，越来越多地导致你的系统暴露出新的错误，并需要大量更新以才能与上游软件保持同步。 Lübbe 说：“在内核中发生导致问题的错误并不总是无意的”。对于去年在 Allwinner 内核中发现的后门，他又补充说：“这些供应商的内核从来不会执行主线内核社区的审查流程”。Lübbe 继续说：“你不能认为你的供应商一直没问题。也许只有一两个工程师查看过后门代码这块。如果补丁发布在 Linux 内核邮件列表上，就不会有这种事，因为总会有人注意到。硬件供应商不关心安全或维护，也许你会在一两年后得到更新，但是即使这样，他们从一个固定版本开始开发，到他们发布稳定的版本通常需要几年的时间。如果你在这个基础上再开始开发，可能又过了半年，这就更过时了。”越来越多的嵌入式开发人员在 长期稳定 Long Term Stable （LTS）内核上构建长期产品。但这并不意味着没事了。Lübbe 说：“一个产品发布后，人们经常不再遵循稳定的发行链，也不再应用安全补丁。这样你会得到两个最糟糕的结果：过时的内核和没有安全性。你失去了多人测试的好处。”Lübbe 指出，使用像 Red Hat 这样的面向服务器的发行版的 Pengutronix 客户经常由于快速的定制、需要系统管理员干预的部署和升级系统而遇到问题。“更新对一些东西有用，特别是在 x86 上，但每个项目基本上是自己建立基础设施来更新到新版本。”许多开发人员选择把向后移植作为更新长期产品的解决方案。Lübbe 说：“开始时很容易，但是一旦你不处于项目的维护范围，他们就不会告诉你所使用的版本是否受到一个 bug 的影响，因此很难判断一个修复是否相关。于是你不停打补丁和更新，而 bug 也在不断累积，而这些你必须自己维护，因为其他人不使用这些补丁。使用开源软件的好处就丢失了。”跟随上游项目Lübbe 认为，最好的解决方案是跟踪由上游项目维护的版本。“我们主要关注基于主线内核的开发，所以我们在产品和主流内核及其他上游项目之间尽可能没有差别。长期系统在主线内核上得到很好的支持。大多数不使用 3D 图形的系统只需要很少的补丁。较新的内核版本还有很多新的强化功能，这些可以减少漏洞的影响。跟随主线发展对许多开发人员来说似乎令人畏惧，但是如果从一开始就这样，然后坚持下去，就会相对容易一些，Lübbe 说：“你需要为系统上做的一切制定流程。你总需要知道什么软件正在运行，这在使用良好的构建系统时会更容易。每个软件版本应定义完整的系统，以便你可以更新相关的一切。如果你不知道那里有什么，你就不能解决它。你也需要一个自动测试和自动部署更新。”为了“减少更新周期”，Lübbe 建议在开始开发时使用最新的 Linux 内核，并且在进入测试时才转到稳定的内核。之后，他建议每年将系统中的所有软件（包括内核、构建系统、用户空间、glibc 和组件（如 OpenSSL））更新为当年上游项目支持的版本。Lübbe 说：“得到更新并不意味着你需要部署。如果没有看到安全漏洞，你可以把补丁放在一边，需要时它再用就行。”最后，Lübbe 建议每个月查看发布公告，并且每周检查 CVE 和主线列表上的安全公告。你只需要问自己“该安全公告是否影响到了你”。他补充说：“如果你的内核足够新，就没有太多的工作。…

Linus Torvalds 谈及物联网、智能设备、安全连接等问题
type: item
date: 2016-08-07T04:46:09+08:00
description: Dirk Hohndel 在嵌入式大会上采访 Linus Torvalds 。4 月 4 日到 6 日，在圣迭戈召开的嵌入式 Linux 大会（Embedded Linux Conference）(ELC) 从首次举办到现在已经有 11 年了，该会议包括了与 Linus Torvalds 的主题讨论。作为 Linux 内核的缔造者和最高决策者——用采访他的英特尔 Linux 和开源技术总监 Dirk Hohndel 的话说，“（他是）我们聚在一起的理由”——他对 Linux 在嵌入式和物联网应用程序领域的发展表示乐观。Torvalds 很明确地力挺了嵌入式 Linux，它被 Linux 桌面、服务器和云技术这些掩去光芒已经很多年了。Linus Torvalds 在嵌入式 Linux 大会上的演讲。物联网是嵌入式大会的主题，在 OpenIoT 峰会讲演中谈到了，在 Torvalds 的访谈中也是主要话题。Torvalds 对 Hohndel 说到，“或许你不会在物联网末端设备上看到 Linux 的影子，但是在你有一个中心设备的时候，你就会需要它。尤其是物联网标准都有 23 个的时候，你就更需要智能设备了。如果你全部使用的是低级设备，它们没必要一定运行 Linux；如果它们采用的标准稍有差异，你就需要很多的智能设备。我们将来也不会有一个完全开放的标准来将这些物联网设备统一到一起，但是我们会有 3/4 的主要协议是一样的，然后那些智能的中心设备就可以对它们进行互相转换。”当 Hohndel 问及在物联网的巨大安全漏洞的时候，Torvalds 神情如常。他说：“我不担心安全问题因为我们能做的不是很多，物联网（设备）是不能更新的，这是我们面对的事实。"Linux 缔造者看起来更关心的是一次性嵌入式项目缺少对上游的及时贡献，尽管他注意到近年来这些有了一些显著改善，特别是在硬件整合方面。“嵌入式领域历来就很难与开源开发者有所联系，但是我认为这些都在发生改变。”Torvalds 说：“ARM 社区变得越来越好了。内核维护者实际上现在也能跟上了一些硬件的更新换代。一切都在变好，但是还不够。”Torvalds 承认他在家经常使用桌面系统而不是嵌入式系统，并且对硬件不是很熟悉。“我已经用电烙铁弄坏了很多东西。”他说到。“我真的不适合搞硬件开发。”另一方面，Torvalds 设想如果他现在是个年轻人，他可能也在摆弄 Raspberry Pi 和 BeagleBone。“最棒的是你不需要精通焊接，你只需要买个新的板子就行。”同时，Torvalds 也承诺他要为 Linux 桌面再奋斗一个 25 年。他笑着说：“我要为它工作一生。”请看完整视频。要获取关于嵌入式 Linux 和物联网的最新信息，请访问 2016 年嵌入式 Linux 大会 150+ 分钟的会议全程。现在观看。via: https://www.linux.com/news/linus-torvalds-talks-iot-smart-devices-security-concerns-and-more-video作者：ERIC BROWN 译者：vim-kakali 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出

用树莓派计算模块搭建的工业单板计算机
type: item
date: 2016-07-16T01:43:40+08:00
description: 在 Kickstarter 众筹网站上，一个叫 “MyPi” 的项目用树莓派计算模块制作了一款 SBC（ 单板计算机 （ Single Board Computer ） ），提供一个 mini-PCIe 插槽，串口，宽范围输入电源，以及模块扩展等功能。你也许觉得奇怪，都 2016 年了，为什么还会有人发布这样一款长得有点像三明治，用过时的 ARM11 构建的 COM （ 模块化计算机 （ Compuer on Module ） ）版本的树莓派单板计算机：树莓派计算模块。原因是这样的，首先，目前仍然有大量工业应用不需要太多 CPU 处理能力，第二，树莓派计算模块仍是目前仅有的基于树莓派硬件的 COM，虽然更便宜、有点像 COM 并采用同样的 700MHz 处理器的 零号树莓派 也很类似。安装了 COM 和 I/O 组件的 MyPi装入了可选的工业外壳中另外，Embedded Micro Technology 还表示它的 SBC 还设计成可升级替换为支持的树莓派计算模块 —— 采用了树莓派 3 的四核、Cortex-A53 博通 BCM2837处理器的 SoC。因为这个产品最近很快就会到货，不确定他们怎么能及时为 Kickstarter 赞助者处理好这一切。不过，以后能支持也挺不错，就算要为这个升级付费也可以接受。MyPi 并不是唯一一款新的基于树莓派计算模块的商业嵌入式设备。Pigeon Computers 在五月份启动了 Pigeon RB100 的项目，是一个基于 COM 的工业自动化控制器。不过，包括 Techbase Modberry 在内的这一类设备大都出现在 2014 年 COM 发布之后的一小段时间内。MyPi 的目标是 30 天内筹集 $21,696，目前已经实现了三分之一。早期参与包的价格 $119 起，九月份发货。其他选项有 $187 版本，里面包含了价值 $30 的树莓派计算模块，以及各种线缆。套件里还有各种插件板以及工业外壳可选。不带 COM 和插件板的 MyPi 主板以及它的接口定义树莓派计算模块能给 MyPi 带来博通 BCM2835 Soc，512MB 内存，以及 4GB eMMC 存储空间。MyPi 主板扩展了一个 microSD 卡槽，一个 HDMI 接口，两个 USB 2.0 接口，一个 10/100M 以太网口，还有一个像网口的 RS232 端口（通过 USB 连接）。插上树莓派计算模块和 mini-PCIe 模块的 MyPi 的两个视角插上树莓派计算模块和 mini-PCIe 模块的 MyPi 的两个视角MyPi 还将配备一个 mini-PCIe 插槽，据说“只支持 USB，以及只适用 mPCIe 形式的调制解调器”。还带有一个 SIM 卡插槽。板上还有双标准的树莓派摄像头接口，一个音频输出接口，自带备用电池的 RTC，LED 灯。还支持宽范围的 9-23V 直流输入。Embedded Micro 表示，MyPi 是为那些树莓派爱好者们设计的，他们拼接了太多 HAT 外接板，已经不能有效地工作了，或者不能很好地装入工业外壳里。MyPi 支持 HAT，另外还提供了公司自己定义的 “ASIO” （特定应用接口）插件模块，它会将自己的 I/O 扩展到载板上，载板再将它们连到载板边上的 8针的绿色凤凰式工业 I/O 连接器（标记了“ASIO Out”）上，在下面图片里有描述。MyPi 的模块扩展接口就像 Kickstarter 页面里描述的：“比起在板边插满带 IO 信号接头的 HAT 板，我们更愿意把同样的 IO 信号接到另一个接头，它直接接到绿色的工业接头上。” 另外，“通过简单地延长卡上的插脚长度（抬高），你将来可以直接扩展 IO 集 - 这些都不需要任何排线！”Embedded Micro 表示。MyPi 它的可选 I/O 插件板卡像上面展示的，这家公司为 MyPi 提供了一系列可靠的 ASIO 插卡，。一开始这些会包括 CAN 总线，4-20mA 传感器信号，RS485，窄带 RF，等等。更多信息MyPi 在 Kickstarter 上提供了 7 月 23 日到期的 79 英镑（$119）早期参与包（不包括树莓派计算模块），预计九月份发货。更多信息请查看 Kickstarter 上 MyPi 的页面 以及 Embedded Micro Technology 官网。via: http://hackerboards.com/industrial-sbc-builds-on-rpi-compute-module/作者：Eric Brown 译者：zpl1025 校对：Ezio本文由 LCTT 原创编译，Linux中国 荣誉推出

Android 4.4 移植到了 PowerPC 架构，支持大端架构
type: item
date: 2016-07-06T03:47:00+08:00
description: eInfochips（一家软件厂商） 已将将 Android 4.4 系统移植到 PowerPC 架构，它将用于一家航空电子客户用来监视引擎的健康状况的 人机界面 （ Human Machine Interface ） （HMI）。eInfochips 已经开发了第一个面向 PowerPC 架构的 CPU 的 Android 移植版本，并支持 大端 （ Big Endian ） 架构。此移植基于 Android 开源项目 （ Android Open Source Project ） （AOSP）中 Android 4.4 （KitKat）的代码，其功能内核的版本号为 3.12.19。Android 开始兴起的时候，PowerPC 正在快速丢失和 ARM 架构共同角逐的市场。高端的网络客户和其它的企业级的嵌入式工具大多运行在诸如 飞思卡尔 （ Freescale ） 的 PowerQUICC 和 QorIQ 这样的 PowerPC 处理器上，但是并不是 Linux 系统。不过，有几个 Android 的移植计划。在 2009 年，飞思卡尔和 Embedded Alley（一家软件厂商，当前是 Mentor Graphics 的 Linux 团队的一部分）宣布了针对 PowerQUICC 和 QorIQ 芯片的移植版本，当前由 NXP 公司构建。另一个名为 Android-PowerPC 的项目也作出了相似的工作。这些努力来的都并不容易，然而，当航空公司找到 eInfochips，希望能够为他们那些基于 PowerPC 的引擎监控系统添加 Android 应用程序以改善人机界面。该公司找出了这些早期的移植版本，然而，它们都相距甚远。所以，他们不得不从头开始新的移植。最主要的问题是这些移植的 Android 版本实在是太老了，和现在的 Android 差别太大了。Embedded Alley 移植的版本为 Android 1.5 (Cupcake)，它于 2009 年发布，Linux 内核版本为 2.6.28。而 Android-PowerPC 项目最后一版的移植是 Android 2.2 (Froyo)，它于 2010 年发布，内核版本为 2.6.32。此外，航空公司还有一些额外的技术诉求，例如对 大端架构 （ Big Endian ） 的支持，这种老式的内存访问方式仍旧应用于网络通信和电信行业。然而那些早期的移植版本仅能够支持 小端架构 （ Little Endian ） 的内存访问。来自 eInfochips 的全新 PowerPC 架构移植eInfochips, 它最为出名的应该是那些基于 ARM/骁龙处理器的模块计算机板卡，例如 Eragon 600。 它已经完成了基于 QorIQ 的 Android 4.4 系统移植，且发布了白皮书介绍了该项目。采用该项目的航空电子设备客户仍旧不愿透露名称，目前仍旧不清楚什么时候会公开此该移植版本。图片来自 eInfochips 的博客日志全新的 PowerPC Android 项目包括：为 PowerPC e5500 定制的 Bionic 库基于 Android KitKat 的大端支持使用 GCC 5.2 工具链开发Android 4.4 框架的 PowerPC 支持PowerPC e5500 的 Android 内核版本为 3.12.19根据 eInfochips 的销售经理 Sooryanarayanan Balasubramanian 描述，该航空电子客户想要使用 Android 主要是因为熟悉的界面能够缩减培训的时间，并且让程序更新和增加新程序变得更加容易。他继续解释说：“这次成功的移植了 Android，使得今后的工作仅仅需要在应用层作出修修改改，而不再向以前一样需要在所有层面之间作相互的校验。”，“这是第一次在航空航天工业作出这些尝试，这需要在设计时尽量认真。”通过白皮书，可以知道将 Android 移植到 PowerPC 上需要对框架、核心库、开发工具链、运行时链接器、对象链接器和开源编译工具作出大量的修改。在字节码生成阶段，移植团队决定使用 便携模式 （ portable mode ） 而不是 快速解释模式 （ fast interpreter mode ） 。这是因为还没有 PowerPC 可用的快速解释模式，而使用开源的 libffi 的便携模式能够支持 PowerPC。同时，团队还面临着在 Android 运行时 (ART) 环境和 Dalvik 虚拟机 (DVM) 环境之间的选择。他们发现，ART 环境下的便携模式还未经测试且缺乏良好的文档支持，所以最终选择了 DVM 环境下的便携模式。白皮书中还提及了其它的一些在移植过程中遇到的困难，包括重新开发工具链，重…