Android Things Releases
This page contains information related to the stable platform releases of Android Things.
Android Things 1.0.5
Date: October 2018
Build Number: OIM1.180327.064
Play Services: 12.5.20This minor version update contains the October security patch for the Android operating system.
- 界面
主要包含三个界面:
1。 Overview界面:
2。 网络界面:
可以看到网络的部份,包含WiFi无线网络与有线网络,点击WiFi无线网络可以进行相应的连接操作,与手机连接无线网络基本一致。但对于有线网络(Ethernet),也只能查看一下当前的IP地址,可以通过这个IP地址进行adb连接的操作。
3。 系统界面:
从这里可以看到Google IOT系统是基于Android 8.1的系统。
外接的是HDMI接口的显示器,并且当前也只能通过鼠标进行一些简单的操作。
- LOG
除了界面以外,当然我们最想看的就是系统的开机log的,开机log可以通过两种方式:
1。 开机之后,通过adb命令连接进行查看
2。连接串口线,通过吕口进行查看
当然,我选择的是第二种,这种方工,可以看到包含bootloader(uboot) 在内的所有log, 还是蛮激动人心的。
先看一下最开始的开机log:
U-Boot 2017.11-02409-g80d5c89b94 (Sep 17 2018 - 23:09:45 +0000) DRAM: 752 MiB RPI 3 Model B (0xa22082) MMC: mmc@7e300000: 0 reading uboot.env In: serial Out: serial Err: serial Net: Net Initialization Skipped No ethernet found. ANDROID: Invalid CRC-32 (expected 807077e9, found 00000000), re-initializing A/B metadata. ANDROID: Attempting slot a, tries remaining 7 ANDROID: Booting slot: a 72 bytes read in 30 ms (2 KiB/s) ANDROID: reboot reason: "(none)" Booting kernel at 0x1000000 with fdt at 2efea300... ## Booting Android Image at 0x01000000 ... Kernel load addr 0x01000800 size 8386 KiB Kernel command line: buildvariant=userdebug RAM disk load addr 0x11000000 size 4947 KiB ## Flattened Device Tree blob at 2efea300 Booting using the fdt blob at 0x2efea300 XIP Kernel Image ... OK Loading Ramdisk to 2cb2b000, end 2cfff930 ... OK reserving fdt memory region: addr=2efea300 size=ad00 Loading Device Tree to 2dff2000, end 2dfffcff ... OK Starting kernel ...
当然,如果你想要看到开机时的kernel的log, 需要修改一下rpiboot分区中的cmdline.txt将最后的loglevel=3这个参数改为ignore_loglevel, 这样就可以看到所有的kernel log, 当然也包含系统的第一个进程init进程的log:
kernel:
Starting kernel ... [ 0.000000] Booting Linux on physical CPU 0x0 [ 0.000000] Initializing cgroup subsys cpuset [ 0.000000] Initializing cgroup subsys cpu [ 0.000000] Initializing cgroup subsys cpuacct [ 0.000000] Initializing cgroup subsys schedtune [ 0.000000] schedtune configured to support 4 boost groups [ 0.000000] Linux version 4.4.19-v7+ (android-build@vpeg11.mtv.corp.google.com) (gcc version 4.9.x 20150123 (prerelease) (GCC) ) #1 SMP PREEMPT Mon Sep 17 23:18:10 UTC 2018 [ 0.000000] CPU: ARMv7 Processor [410fd034] revision 4 (ARMv7), cr=10c5383d [ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache [ 0.000000] Machine model: Raspberry Pi 3 Model B Rev 1.2 [ 0.000000] debug: ignoring loglevel setting. [ 0.000000] cma: Reserved 8 MiB at 0x2e400000 [ 0.000000] Memory policy: Data cache writealloc [ 0.000000] On node 0 totalpages: 192512 [ 0.000000] free_area_init_node: node 0, pgdat c11a8bc0, node_mem_map ed956000 [ 0.000000] Normal zone: 1692 pages used for memmap [ 0.000000] Normal zone: 0 pages reserved [ 0.000000] Normal zone: 192512 pages, LIFO batch:31 [ 0.000000] [bcm2709_smp_init_cpus] enter (1015a0->f3003010) [ 0.000000] [bcm2709_smp_init_cpus] ncores=4 [ 0.000000] PERCPU: Embedded 11 pages/cpu @eefa5000 s23296 r0 d21760 u45056 [ 0.000000] pcpu-alloc: s23296 r0 d21760 u45056 alloc=11*4096 [ 0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3 [ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 190820 [ 0.000000] Kernel command line: 8250.nr_uarts=1 8250.nr_uarts=1 dma.dmachans=0x7f35 bcm2708_fb.fbwidth=1920 bcm2708_fb.fbheight=1080 bcm2709.boardrev=0xa22082 bcm2709.serial=0xdc0f3c90 smsc95xx.macaddr=B8:27:EB:0F:3C:90 bcm2708_fb.fbdepth=16 bcm2708_fb.fbswap=1 bcm2709.uart_clock=48000000 vc_mem.mem_base=0x3dc00000 vc_mem.mem_size=0x3f000000 dwc_otg.lpm_enable=0 console=ttyS0,115200 ro rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait earlyprintk init=/init androidboot.hardware=rpi3 androidboot.selinux=permissive ignore_loglevel androidboot.serialno=00000000dc0f3c90 androidboot.slot_suffix=_a root="/dev/mmcblk0p6" skip_initramfs buildvariant=userdebug [ 0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes) [ 0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes) [ 0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes) [ 0.000000] Memory: 730968K/770048K available (12018K kernel code, 711K rwdata, 2880K rodata, 1024K init, 881K bss, 30888K reserved, 8192K cma-reserved) [ 0.000000] Virtual kernel memory layout: [ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB) [ 0.000000] fixmap : 0xffc00000 - 0xfff00000 (3072 kB) [ 0.000000] vmalloc : 0xef800000 - 0xff800000 ( 256 MB) [ 0.000000] lowmem : 0xc0000000 - 0xef000000 ( 752 MB) [ 0.000000] .text : 0xc0008000 - 0xc0f8cb80 (15891 kB) [ 0.000000] .init : 0xc1000000 - 0xc1100000 (1024 kB) [ 0.000000] .data : 0xc1100000 - 0xc11b1fb4 ( 712 kB) [ 0.000000] .bss : 0xc11b4000 - 0xc12906cc ( 882 kB) [ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1 [ 0.000000] Preemptible hierarchical RCU implementation. [ 0.000000] Build-time adjustment of leaf fanout to 32. [ 0.000000] NR_IRQS:16 nr_irqs:16 16 [ 0.000000] Architected cp15 timer(s) running at 19.20MHz (phys). [ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x46d987e47, max_idle_ns: 440795202767 ns [ 0.000009] sched_clock: 56 bits at 19MHz, resolution 52ns, wraps every 4398046511078ns [ 0.000027] Switching to timer-based delay loop, resolution 52ns [ 0.000185] Calibrating delay loop (skipped), value calculated using timer frequency.. 38.40 BogoMIPS (lpj=192000) [ 0.000210] pid_max: default: 32768 minimum: 301 [ 0.000315] Security Framework initialized [ 0.000332] SELinux: Initializing. [ 0.000382] SELinux: Starting in permissive mode [ 0.000620] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes) [ 0.000639] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes) [ 0.001691] Disabling cpuset control group subsystem [ 0.001734] Initializing cgroup subsys io [ 0.001765] Initializing cgroup subsys memory [ 0.001811] Initializing cgroup subsys devices
之后的init进程的log:
[ 3.775063] brcmfmac: brcmf_cfg80211_reg_notifier: not a ISO3166 code [ 3.813269] random: init: uninitialized urandom read (40 bytes read, 92 bits of entropy available) [ 3.850486] init: init first stage started! [ 3.856119] init: Using Android DT directory /proc/device-tree/firmware/android/ [ 3.863876] init: First stage mount skipped (missing/incompatible fstab in device tree) [ 3.871721] usb 1-1.1: new high-speed USB device number 3 using dwc_otg [ 3.878822] init: Skipped setting INIT_AVB_VERSION (not in recovery mode) [ 3.885800] init: Loading SELinux policy [ 3.927129] SELinux: 4096 avtab hash slots, 13590 rules. [ 3.951766] SELinux: 4096 avtab hash slots, 13590 rules. [ 3.957180] SELinux: 1 users, 4 roles, 1103 types, 0 bools, 1 sens, 1024 cats [ 3.964543] SELinux: 92 classes, 13590 rules [ 3.973722] SELinux: Completing initialization. [ 3.978419] SELinux: Setting up existing superblocks. [ 3.982111] usb 1-1.1: New USB device found, idVendor=0424, idProduct=ec00 [ 3.982122] usb 1-1.1: New USB device strings: Mfr=0, Product=0, SerialNumber=0 [ 3.986389] smsc95xx v1.0.4 [ 4.045627] smsc95xx 1-1.1:1.0 eth0: register 'smsc95xx' at usb-3f980000.usb-1.1, smsc95xx USB 2.0 Ethernet, b8:27:eb:0f:3c:90 [ 4.057840] audit: type=1403 audit(4.009:2): policy loaded auid=4294967295 ses=4294967295 [ 4.066510] selinux: SELinux: Loaded policy from /sepolicy [ 4.066510] [ 4.084930] selinux: SELinux: Loaded file_contexts [ 4.084930] [ 4.093999] random: init: uninitialized urandom read (40 bytes read, 97 bits of entropy available) [ 4.105172] init: init second stage started! [ 4.121805] init: Using Android DT directory /proc/device-tree/firmware/android/ [ 4.135958] selinux: SELinux: Loaded file_contexts [ 4.135958] [ 4.144052] selinux: SELinux: Loaded property_contexts from /plat_property_contexts & /nonplat_property_contexts. [ 4.144052] [ 4.151743] usb 1-1.2: new low-speed USB device number 4 using dwc_otg [ 4.162693] init: Running restorecon... [ 4.182826] selinux: SELinux: Could not stat /dev/block: No such file or directory. [ 4.182826] [ 4.192595] init: waitid failed: No child processes [ 4.197667] init: Couldn't load property file: Unable to open '/system/etc/prop.default': No such file or directory: No such file or directory [ 4.210738] init: Couldn't load property file: Unable to open '/prop.default': No such file or directory: No such file or directory [ 4.224411] init: Couldn't load property file: Unable to open '/odm/default.prop': No such file or directory: No such file or directory [ 4.237824] init: Couldn't load property file: Unable to open '/vendor/default.prop': No such file or directory: No such file or directory [ 4.251346] init: Created socket '/dev/socket/property_service', mode 666, user 0, group 0 [ 4.256909] usb 1-1.2: New USB device found, idVendor=413c, idProduct=301a [ 4.256919] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
最后,当然是附上第一次开机时的bugreport了: 2018_10_23_bugreport-iot_rpi3-OIM1.180327.064-2009-01-01-00-00-43