Brillo: 在RPi 2B/3B上通过fastboot更新系统

在Android设备上,我们可以通过fastboot命令,可以很方便地更新整个系统系统或者是单独的一个分区。在RPi 2B/3B上,我也想实现类似这样的系统更新机制,不需要使用adb命令,通过shell命令进行更新。同时由于RPi 2B/3B由于没有USB slave接口,也就无法像其他的Android设备一样,连接上USB口就可以进行系统更新。 从https://android.googlesource.com/device/pifoundation/rpi3/ 可以看到,官方很快就支持Android/Brillo系统了,也是一个令人很期待的事情。 fastboot所支持的数据传输模式 fa … 继续阅读Brillo: 在RPi 2B/3B上通过fastboot更新系统

Brillo: 由DHCP server提供hostname

当运行着Brillo系统的RPi 2B连上路由器时,可以自动从路由器端获取IP地址,配置有线网络,接入到互连网。默认情况下,Brillo系统设置的hostname为localhost, 所以当你打开路由器的配置页面,查看接入设备的相关信息时,Brillo设备Hostname那一栏为空。由于client设置的hostname为localhost, DHCP client在请求IP地址时,不会将hostname发送给DHCP server, DHCP server就无法知道client的hostname。 DHCP自动分配IP地址过程分析 我们可以在client端通过tcpdump查看使用dhcp … 继续阅读Brillo: 由DHCP server提供hostname

Brillo: cfg80211 regulatory domain & CRDA

虽然Brillo m10-dev系统已经可以在RPi 2B/3B上正常运行了,同时RPi 3B的无线网卡也可以正常工用在AP/STA模式,但是在kernel log还是会有如下的警告信息: [ 10.336324] cfg80211: Calling CRDA to update world regulatory domain [ 13.496321] cfg80211: Calling CRDA to update world regulatory domain [ 16.656316] cfg80211: Calling CRDA to update world regulatory do … 继续阅读Brillo: cfg80211 regulatory domain & CRDA

Brillo: security – SELinux & capability

我们知道在Linux系统中,可以建立不同的用户、组来进行权限管理。一个应用程序需要特定的用户才能执行,一个文件夹、文件可以设定用户及用户组,使得只有特定的用户组才能访问。而selinux与capability可以对权限做进一步的限制。 一般来说,我们对一个文件比较关注的是它的mode, ownership(user, group), timestamp(modify time/access time), size。对于cp命令来说,在copy文件时默认情况下只保留了mode, ownership, timestamp这些信息,对于如ext4支持额外属性的文件系统来说,在copy的过程中就会出现 … 继续阅读Brillo: security – SELinux & capability

Brillo: brillo-m10-dev @ RPi 2B/ RPi 3B

费了些时间,Audio,Bluetooth,WiFi模块终于可以在RPi 3B上正常工作了。同时为了保证编译出来的image可以在RPi 2B上正常工作,也费了不少功夫。由于RPi 2B上没有Bluetooth与WiFi块,也就只能使Audio模块能够正常工作。  目录结构及代码下载与编译 经过几天的努力,终让可以在不修改原有代码的情况下,编译出可以直接在RPi 2B/3B上运行的系统了: /local/brillo-m10-dev-rpi3b +– .repo | `– manifest.xml +– device | `– hzak | `– rpi3b | +– bsp | … 继续阅读Brillo: brillo-m10-dev @ RPi 2B/ RPi 3B