
Yocto Linux for Intel® Edison
Intel 在 Edison 上提供的是 Yocto Linux,与 Debian,RedHat 等发行版不同,这是由 Yocto 工具针对不同的嵌入式设备进行定制后的一类系统的统称,源自 Yocto Project。Yocto 提供了一些模板、工具和方法来支持面向嵌入式产品的自定义 Linux 系统,旨在使嵌入式 Linux 的开发更简单,更方便的在不同架构间进行移植。
Edison 上运行的 Yocto Linux 是i386架构,采用 opkg 包管理,原生支持 C/C++/Python/JavaScript等,基本上满足日常的开发需求。此外,Intel 还内置了专门为 Edison 开发的管理程序,方便对 Wifi 和 Bluetooth 等功能进行管理,使 Edison 更易上手。
Intel 除了提供编译好的系统镜像文件,还提供Linux源码文件、板卡支持包 (BSP) 以及整合到构建过程中的其他任何程序包或层,方便我们根据自己的需要定制相应的 Yocto Linux 版本。(这些均可以访问 Intel 的 Edison 支持页面下载。)
定制需要使用 Yocto 工具包里的 BitBake
和 OpenEmbedded-Core
,定制过程参考 Yocto Project Quick Start。
Yocto Project 还提供了图形化的定制工具Hob
以及为系统构建所搭建的虚拟机Build Appliance
,有着配置好的全套环境。用户只需要提供相应的BSP和用于构建的程序包和层。
*Intel官方推荐的构建环境是Ubuntu 12.04 LTS
,我在 Ubuntu 14.04 LTS 和 Build Appliance Dizzy 1.7 上构建均出现一些奇怪的问题,所以还是推荐在Ubuntu 12.04 LTS
上构建。
*Leap Motion 默认提供的是deb
包,所以建议在构建时选择软件包格式选择deb
,使用dpkg
管理。
ubilinux for Intel® Edison
ubilinux™ 是衍生自 Debian”Wheezy” 的嵌入式 Linux 发行版,来自 Emutex 团队。
ubilinux™最先支持的设备便是Intel的Edison和Galileo:ubilinux for Intel® Edison
和ubilinux for Intel® Galileo
。访问官方页面下载相应的系统镜像:EmutexLabs
*ubilinux for Intel Edison 是专门为 Intel® Edison 定制的 Debian 系统,但在使用上和传统PC设备无异,能正常使用全部原生指令以及现成的软件包。这对于 Debian 用户来说上手几乎没有难度。
*Leap Motion 默认提供的是对debian系
的支持,为了不将精力花在解决依赖关系和因为发行版差异导致的种种问题上面,ubilinux
是最好的选择。
ubilinux 刷写
准备工作
1.访问EmutexLabs,下载ubilinux for Intel® Edison
;
2.访问http://dfu-util.sourceforge.net/releases/dfu-util-0.8-binaries/,下载dfu-util
的二进制文件;
3.将1中下载的.tar.gz文件解压,得到toFlash
文件夹;
4.将2中下载的二进制文件
(主机环境是Windows是/win32-mingw32
里的dfu-prefix.exe
、dfu-suffix.exe
、dfu-util-static.exe
、dfu-util.exe
和libusb-1.0.dll
;
主机环境是Linux/Mac是/linux-i386
里的dfu-prefix
、dfu-suffix
和dfu-util
)
复制到toFlash
中。
刷写系统
1.切换到toFlash目录下,运行flashall脚本
*这一步建议在Linux/Mac环境下执行,在Windows系统下运行flashall.bat会异常退出,无法刷写rootfs。
1.1.主机环境是Windows,打开toFlash
文件夹,双击运行flashall.bat
。
1.2.主机环境是Linux/Mac,执行cd /toFlash
切换到toFlash
目录下,./flashall.sh
执行脚本。
1 2 3 |
cd /toFlash $./flashall.sh |
2.脚本运行后,会等待设备接入:
3.使用一根USB线连接Edison的J16
口,接入电脑。脚本开始执行刷写:
4.刷写完成后,等待2分钟,Edison完成两次重启,便刷写结束。
开机登录
刷写结束后需要用USB连接J3
口,使用J16
口或J1
口供电。
在Windows下使用putty
,在Linux/Mac下使用screen
连接设备并登陆:
1 |
$ screen /dev/ttyUSB0 115200 |
ubilinux 设置
以下部分和原生debian一致。
设置网络
ubilinux没有原先edison上的wifi管理工具,所以需要手动设置。
1.修改/etc/network/interfaces
,将wpa-ssid
,wpa-psk
分别修改成想连接的WIFI名称和相应密码;
2.这样每次开机后需要执行ifup/ifdown wlan0
开启和关闭WIFI连接;
1 2 |
$ifup wlan0 $ifdown wlan0 |
3.若需要开机自动连接指定WIFI,则修改/etc/network/interfaces
,将#auto wlan0
前的#
删掉,则能开机自动连接。
包管理和软件源
1.将默认软件源修改成合适的软件源,例如,将stable
的源修改成testing
。将新源添加到/etc/apt/sources.list
*建议修改,部分软件包(如Leap Motion)依赖的软件版本较高,不通过testing的仓库无法升级。
1 |
$ nano /etc/apt/sources.list |
2.可使用apt-get
和dpkg
进行包管理,与debian的使用一致
1 2 3 4 5 6 |
#升级 $ apt-get update $ apt-get upgrade #安装软件包 $ apt-get install ? |
添加用户
adduser
添加用户:
1 |
$ adduser --ingroup users yourname |
权限管理
安装sudo
,并将新用户添加到/etc/sudoers
中
1 2 3 |
$ apt-get install sudo $ nano /etc/sudoers |
执行logout
后就可以用新用户登陆了,新用户可以使用sudo
执行需要管理员权限的操作。
至此,ubilinux基本配置完毕。
//待续
本文链接地址: Wearable LEAP:ubilinux and Yocto
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。
如果您愿意为文章的内容或想法提供支持,欢迎点击下边的捐赠按钮,资助作者创作更多高价值高品质的内容。