После обзора Wandboard Dual в феврале, была получена плата разработки Wandboard Quad на базе процессора Freescale i.MX6 Quad Cortex A9 с 2 ГБ ОЗУ, выходом HDMI, гигабитным Ethernet и SATA. Плата доступна у нескольких дистрибьюторов, включая Mouser ($139), DigiKey ($144.38) и FutureElectronics ($125). Сначала будут показаны фотографии распаковки платы, а также сравнение Wandboard Dual и Quad. Затем будет объяснена установка Android и Linux на плату, сборка образов из исходного кода, запуск тестов производительности и проверка различных функций.
Распаковка Wandboard Quad
Плата была получена через UPS в крупной коробке, содержащей упаковку, показанную ниже. Она идентична Wandboard Dual, за исключением наклейки.
Внутри упаковки находится только плата, которая выглядела бы как Wandboard Dual со всеми разъемами на верхней стороне и модулем EDM на задней панели, если бы не массивный радиатор для охлаждения i.MX 6Quad. Еще одно ключевое отличие — установленный разъем SATA для подключения жесткого диска. Поскольку бумажная документация отсутствует, рекомендуется скачать и изучить руководство пользователя и схемы Wandboard Quad в PDF для получения деталей.

Были сделаны сравнительные фотографии Wandboard Quad и Wandboard Dual. Как и ожидалось, базовые платы практически идентичны.
Старая ревизия платы (A0) заменена на ревизию B1, в которой исправлена разводка SPDIF, обновлено напряжение MIPI, незначительно изменена схема USB и добавлена дополнительная контактная площадка для работы с разными каналами I2C для аудио/HDMI. Еще одно отличие — предохранитель теперь легко заменяется без пайки. Предположительно, все новые Wandboard Solo/Dual/Quad поставляются с Rev B1. Для старых ревизий существует аппаратное исправление для SPDIF .
После снятия радиатора и извлечения модуля EDM из базовой платы видно, что различия между dual и quad модулями минимальны.
На обратной стороне модуля ключевые отличия в чипах памяти: Hynix H5TQ4G63MFR (4 Гбит) на версии quad и Hynix H5TQ2G63BFR (2 Гбит) на версии dual. Отдельно стоит отметить: модули EDM можно приобрести отдельно. Упомянутые в начале дистрибьюторы продают их упаковками по 10 штук.Также был протестирован корпус и антенна Wi-Fi от Wandboard Dual. Сборка не вызывает проблем, несмотря на дополнительный радиатор. Кабель антенны касается радиатора, но это не является проблемой благодаря изоляции.
Установка Android 4.2.2 на Wandboard Quad
Подготовка microSD карты с последним образом Android 4.2.2. Для оптимальной производительности рекомендуется использовать карту Class 10 (в тестах использовалась ADATA 16GB Class 10 micro SD ).
Процесс установки идентичен Wandboard Dual, за исключением образа. Скачивание и распаковка файла:
wget http://www.wandboard.org/images/downloads/android-4.2.2-wand-quad-20130621.zip
unzip android-4.2.2-wand-quad-20130621.zip
Архив содержит 4 файла: образ, краткий список изменений, win32diskimager и «Source_and_Build_Simple_Howtos.txt» — инструкцию по сборке Android из исходного кода, установке Google Play и записи образа на SD-карту.
Вставьте microSD карту в ПК под Linux (8 ГБ или более), размонтируйте раздел и запишите образ:
sudo umount /dev/sdc*
sudo dd if=/dev/zero of=/dev/sdc
sudo dd if=android-4.2.2-wand-quad-20130621.img of=/dev/sdc bs=1M
sync
Вторая команда опциональна, но необходима, если Ubuntu автоматически перемонтирует разделы (в этом случае dd завершится ошибкой). Выполните «sudo dd if=/dev/zero…» на несколько секунд и нажмите Ctrl+C.
Для установки Google Play выполните дополнительные шаги. Извлеките и повторно вставьте карту, скачайте и распакуйте gapps-jb-20130301-signed.zip , скопируйте Google Play на карту:
cd ~/
mkdir gapps-jb
cd gapps-jb
unzip gapps-jb-20130301-signed.zip
sudo cp ~/gapps-jb/system/* /media/system/ -rf
sync
Пользователи Windows могут использовать Win32DiskImager для записи образа и adb.exe для передачи Google Play. Однако настоятельно рекомендуется использовать Linux (в дуал-буте или виртуальной машине, например Virtual Box).
Сборка образа Android 4.2.2 из исходного кода для Wandboard Quad
Следующие шаги указаны в инструкции (не тестировались лично):
cd ~
mkdir -p wandboard/myandroid
cd wandboard/myandroid
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ./repo
chmod a+x ./repo
./repo init -u git://www.wandboard.org/android/manifest.git -m default.xml
./repo sync -j4
Скопируйте gapps-jb-20130301-signed.zip в ~/wandboard/Build и запустите сборку:
source build/envsetup.sh
lunch wandboard-userdebug
Процесс lunch займет время. После завершения подготовьте SD-карту с правильными разделами:
cd ~/wandboard/myandroid/device/fsl/common/tools/
sudo ./fsl-sdcard-partition.sh /dev/sdX
и скопируйте бинарные файлы:
chmod 6755 ~/wandboard/myandroid/out/target/product/wandboard/system/xbin/su
sudo umount /dev/sdX*
sudo dd if=~/wandboard/myandroid/out/target/product/wandboard/u-boot-6quad.bin of=/dev/sdX bs=1K seek=1 skip=1
sudo dd if=~/wandboard/myandroid/out/target/product/wandboard/boot.img of=/dev/sdX1
sudo dd if=~/wandboard/myandroid/out/target/product/wandboard/recover.img of=/dev/sdX2
sudo mount -t ext4 /dev/sdX5 /mnt
sudo cp -a ~/wandboard/myandroid/out/target/product/wandboard/system/* /mnt/
sudo unzip ~/wandboard/gapps-jb-20130301-signed.zip -d /tmp/
sudo cp -a /tmp/system/* /mnt/
sudo sync
sudo umount /dev/sdX
Образ Android 4.2.2 для Wandboard Quad собран и установлен из исходного кода.
Android 4.2.2 на Wandboard Quad: тесты Antutu & Quadrant
Вставьте microSD в слот модуля EDM (под радиатором), подключите HDMI, Ethernet, нуль-модемный кабель, устройство ввода (на фото — приемник Mele F10) и блок питания. Наиболее очевидное положение — размещение радиатора на столе для доступа к разъемам, как показано ниже.
Такое положение препятствует отводу тепла, что приводит к перегреву и зависанию. Радиатор должен быть направлен вверх. В этой конфигурации измеренная температура составила 52°C в режиме простоя и 56°C при выполнении тестов (замеры проводились ИК-термометром ).
При отсутствии DB9 порта на ПК потребуется конвертер RS232 в USB для доступа к последовательной консоли через Putty или Minicom. Пример журнала загрузки для Wandboard Quad:
U-Boot 2009.08-00680-g31492f7 (Jun 21 2013 - 15:01:11)
CPU: Freescale i.MX6 family TO1.2 at 792 MHz
Thermal sensor with ratio = 182
Temperature: 31 C, calibration data 0x5834f469
mx6q pll1: 792MHz
mx6q pll2: 528MHz
mx6q pll3: 480MHz
mx6q pll8: 50MHz
ipg clock : 66000000Hz
ipg per clock : 66000000Hz
uart clock : 80000000Hz
cspi clock : 60000000Hz
ahb clock : 132000000Hz
axi clock : 264000000Hz
emi_slow clock: 132000000Hz
ddr clock : 528000000Hz
usdhc1 clock : 198000000Hz
usdhc2 clock : 198000000Hz
usdhc3 clock : 198000000Hz
usdhc4 clock : 198000000Hz
nfc clock : 24000000Hz
Board: i.MX6Q-WandBoard: unknown-board Board: 0x63012 [WDOG ]
Boot Device: SD
DRAM: 2 GB
MMC: FSL_USDHC: 0,FSL_USDHC: 1,FSL_USDHC: 2
In: serial
Out: serial
Err: serial
Gotr MAC = 00:1F:7B:B4:03:52
Net: got MAC address from IIM: 00:1f:7b:b4:03:52
FEC0 [PRIME]
Hit any key to stop autoboot: 0
kernel @ 10808000 (2775196)
ramdisk @ 11800000 (186440)
kernel cmdline:
use uboot command line:
console=ttymxc0,115200 init=/init video=mxcfb0:dev=hdmi,1280x720M@60,if
Starting kernel ...
[ 0.000000] Linux version 3.0.35+ (root@lucid-q9650) (gcc version 4.6.x-goog3
[ 0.000000] CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c53c7d
[ 0.000000] CPU: VIPT nonaliasing data cache, VIPT aliasing instruction cache
[ 0.000000] Machine: Freescale i.MX 6Quad/DualLite/Solo Wandboard
[ 0.000000] EDWARD : ram console init at phys 0x3ff00000
[ 0.000000] EDWARD : GPU_Reserved Memory equals to 184549376
[ 0.000000] EDWARD : gpumem init at phys 0x15000000
[ 0.000000] Memory policy: ECC disabled, Data cache writealloc
[ 0.000000] CPU identified as i.MX6Q, silicon rev 1.2
[ 0.000000] PERCPU: Embedded 7 pages/cpu @816d8000 s5696 r8192 d14784 u32768
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pa2
[ 0.000000] Kernel command line: console=ttymxc0,115200 init=/init video=mxc0
[ 0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
[ 0.000000] Dentry cache hash table entries: 262144 (order: 8, 1048576 bytes)
[ 0.000000] Inode-cache hash table entries: 131072 (order: 7, 524288 bytes)
[ 0.000000] Memory: 80MB 511MB 980MB = 1571MB total
[ 0.000000] Memory: 1583444k/1583444k available, 251564k reserved, 331776K hm
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
[ 0.000000] fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
[ 0.000000] DMA : 0xfbe00000 - 0xffe00000 ( 64 MB)
[ 0.000000] vmalloc : 0xd9800000 - 0xf2000000 ( 392 MB)
[ 0.000000] lowmem : 0x80000000 - 0xd9000000 (1424 MB)
[ 0.000000] pkmap : 0x7fe00000 - 0x80000000 ( 2 MB)
[ 0.000000] modules : 0x7f000000 - 0x7fe00000 ( 14 MB)
[ 0.000000] .init : 0x80008000 - 0x8003d000 ( 212 kB)
[ 0.000000] .text : 0x8003d000 - 0x80731000 (7120 kB)
[ 0.000000] .data : 0x80732000 - 0x8077f960 ( 311 kB)
[ 0.000000] .bss : 0x8077f984 - 0x808ca628 (1324 kB)
[ 0.000000] SLUB: Genslabs=13, HWalign=32, Order=0-3, MinObjects=0, CPUs=4, 1
[ 0.000000] Preemptible hierarchical RCU implementation.
[ 0.000000] NR_IRQS:624
[ 0.000000] MXC GPIO hardware
[ 0.000000] sched_clock: 32 bits at 3000kHz, resolution 333ns, wraps every 1s
[ 0.000000] arm_max_freq=1GHz
[ 0.000000] MXC_Early serial console at MMIO 0x2020000 (options '115200')
[ 0.000000] bootconsole [ttymxc0] enabled
[ 0.000000] Console: colour dummy device 80x30
[ 0.243222] Calibrating delay loop... 1581.05 BogoMIPS (lpj=7905280)
[ 0.331568] pid_max: default: 32768 minimum: 301
[ 0.336467] Mount-cache hash table entries: 512
[ 0.341798] CPU: Testing write buffer coherency: ok
[ 0.447483] CPU1: Booted secondary processor
[ 0.527482] CPU2: Booted secondary processor
[ 0.607489] CPU3: Booted secondary processor
[ 0.646998] Brought up 4 CPUs
[ 0.662829] SMP: Total of 4 processors activated (6324.22 BogoMIPS).
[ 0.687305] print_constraints: dummy:
[ 0.691296] NET: Registered protocol family 16
[ 0.699695] print_constraints: vddpu: 725 1300 mV at 700 mV fast normal
[ 0.707187] print_constraints: vddcore: 725 1300 mV at 1150 mV fast nor
[ 0.714891] print_constraints: vddsoc: 725 1300 mV at 1200 mV fast norm
[ 0.722536] print_constraints: vdd2p5: 2000 2775 mV at 2400 mV fast nor
[ 0.730287] print_constraints: vdd1p1: 800 1400 mV at 1100 mV fast norm
[ 0.737942] print_constraints: vdd3p0: 2625 3400 mV at 3000 mV fast nor
[ 0.747977] ram_console: got buffer at 3ff00000, size 100000
[ 0.753762] ram_console: found existing buffer, size 21339, start 21339
[ 0.818042] console [ram-1] enabled
[ 0.901332] L310 cache controller enabled
[ 0.905466] l2x0: 16 ways, CACHE_ID 0x410000c7, AUX_CTRL 0x02070000, Cache sB
[ 0.949061] bio: create slab at 0
[ 0.956508] mxs-dma mxs-dma-apbh: initialized
[ 0.961465] print_constraints: VDDA: 2500 mV
[ 0.966145] print_constraints: VDDIO: 3300 mV
[ 0.971684] SCSI subsystem initialized
[ 0.976016] libata version 3.00 loaded.
[ 0.980320] spi_imx imx6q-ecspi.0: probed
[ 0.984703] spi_imx imx6q-ecspi.1: probed
[ 0.989693] usbcore: registered new interface driver usbfs
[ 0.995460] usbcore: registered new interface driver hub
[ 1.001158] usbcore: registered new device driver usb
[ 1.006324] Freescale USB OTG Driver loaded, $Revision: 1.55 $
[ 1.026995] imx-ipuv3 imx-ipuv3.0: IPU DMFC NORMAL mode: 1(0~1), 5B(4,5), 5F)
[ 1.046992] imx-ipuv3 imx-ipuv3.1: IPU DMFC NORMAL mode: 1(0~1), 5B(4,5), 5F)
[ 1.055056] Advanced Linux Sound Architecture Driver Version 1.0.24.
[ 1.062464] Bluetooth: Core ver 2.16
[ 1.066342] NET: Registered protocol family 31
[ 1.070912] Bluetooth: HCI device and connection manager initialized
[ 1.077475] Bluetooth: HCI socket layer initialized
[ 1.082467] Bluetooth: L2CAP socket layer initialized
[ 1.087726] Bluetooth: SCO socket layer initialized
[ 1.093168] cfg80211: Calling CRDA to update world regulatory domain
[ 1.100771] Switching to clocksource mxc_timer1
[ 1.118543] NET: Registered protocol family 2
[ 1.123255] IP route cache hash table entries: 65536 (order: 6, 262144 bytes)
[ 1.131684] TCP established hash table entries: 262144 (order: 9, 2097152 by)
[ 1.143019] TCP bind hash table entries: 65536 (order: 7, 786432 bytes)
[ 1.150846] TCP: Hash tables configured (established 262144 bind 65536)
[ 1.157669] TCP reno registered
[ 1.160924] UDP hash table entries: 1024 (order: 3, 32768 bytes)
[ 1.167192] UDP-Lite hash table entries: 1024 (order: 3, 32768 bytes)
[ 1.174160] NET: Registered protocol family 1
[ 1.179025] RPC: Registered named UNIX socket transport module.
[ 1.185066] RPC: Registered udp transport module.
[ 1.189975] RPC: Registered tcp transport module.
[ 1.194791] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 1.201597] Unpacking initramfs...
[ 1.219939] Freeing initrd memory: 180K
[ 1.223935] _regulator_get: etb supply vcore not found, using dummy regulator
[ 1.231794] _regulator_get: etm.0 supply vcore not found, using dummy regular
[ 1.239313] _regulator_get: etm.1 supply vcore not found, using dummy regular
[ 1.246906] _regulator_get: etm.2 supply vcore not found, using dummy regular
[ 1.254477] _regulator_get: etm.3 supply vcore not found, using dummy regular
[ 1.262258] Static Power Management for Freescale i.MX6
[ 1.267691] wait mode is disabled for i.MX6
[ 1.272156] cpaddr = d9880000 suspend_iram_base=d98f4000
[ 1.277764] PM driver module loaded
[ 1.281590] IMX usb wakeup probe
[ 1.284998] the wakeup pdata is 0xd614b000
[ 1.289678] add wake up source irq 75
[ 1.297067] IMX usb wakeup probe
[ 1.300461] the wakeup pdata is 0xd6275080
[ 1.305174] rfkill: BT RF going to : on
[ 1.309135] wandboard_bt_on
[ 1.312042] mxc_bt_rfkill driver success loaded
[ 1.316913] cpu regulator mode:ldo_enable
[ 1.321287] i.MXC CPU frequency driver
[ 1.344148] highmem bounce pool size: 64 pages
[ 1.348976] ashmem: initialized
[ 1.363024] NTFS driver 2.1.30 [Flags: R/O].
[ 1.367973] fuse init (API version 7.16)
[ 1.372577] msgmni has been set to 2445
[ 1.377300] NET: Registered protocol family 38
[ 1.381995] cryptodev: driver loaded.
[ 1.385842] io scheduler noop registered
[ 1.389853] io scheduler deadline registered
[ 1.394279] io scheduler cfq registered (default)
[ 1.400306] mxc_sdc_fb mxc_sdc_fb.0: register mxc display driver hdmi
[ 1.406915] mxc_hdmi mxc_hdmi: Detected HDMI controller 0x13:0xa:0xa0:0xc1
[ 1.413971] fbcvt: 1280x720@60: CVT Name - .921M9
[ 1.485514] imx-ipuv3 imx-ipuv3.1: IPU DMFC DP HIGH RESOLUTION: 1(0,1), 5B(2)
[ 1.496398] mxc_sdc_fb mxc_sdc_fb.1: Can't get fb option for mxcfb1!
[ 1.502937] mxc_sdc_fb mxc_sdc_fb.2: Can't get fb option for mxcfb2!
[ 1.510055] imx-sdma imx-sdma: loaded firmware 1.1
[ 1.519332] imx-sdma imx-sdma: initialized
[ 1.523846] Serial: IMX driver
[ 1.527081] imx-uart.0: ttymxc0 at MMIO 0x2020000 (irq = 58) is a IMX
[ 1.533706] console [ttymxc0] enabled, bootconsole disabled
[ 1.533706] console [ttymxc0] enabled, bootconsole disabled
[ 1.544972] fbcvt: 1280x720@60: CVT Name - .921M9
[ 1.545204] imx-uart.2: ttymxc2 at MMIO 0x21ec000 (irq = 60) is a IMX
[ 1.556853] ion: failed to create debug files.
[ 1.560133] loop: module loaded
[ 1.603277] No sata disk.
[ 1.603496] vcan: Virtual CAN interface driver
[ 1.603507] CAN device driver interface
[ 1.603524] FEC Ethernet Driver
[ 1.605421] fec_enet_mii_bus: probed
[ 1.606381] PPP generic driver version 2.4.2
[ 1.606651] PPP Deflate Compression module registered
[ 1.606661] PPP BSD Compression module registered
[ 1.607038] PPP MPPE Compression module registered
[ 1.607049] NET: Registered protocol family 24
[ 1.607078] PPTP driver version 0.8.5
[ 1.607557] usbcore: registered new interface driver asix
[ 1.607694] usbcore: registered new interface driver cdc_ether
[ 1.607819] usbcore: registered new interface driver smsc75xx
[ 1.607948] usbcore: registered new interface driver smsc95xx
[ 1.608068] usbcore: registered new interface driver MOSCHIP usb-ethernet drr
[ 1.608139] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 1.608302] fsl-ehci fsl-ehci.0: Freescale On-Chip EHCI Host Controller
[ 1.608407] fsl-ehci fsl-ehci.0: new USB bus registered, assigned bus number1
[ 1.635469] fsl-ehci fsl-ehci.0: irq 75, io base 0x02184000
[ 1.655457] fsl-ehci fsl-ehci.0: USB 2.0 started, EHCI 1.00
[ 1.656002] hub 1-0:1.0: USB hub found
[ 1.656021] hub 1-0:1.0: 1 port detected
[ 1.656233] add wake up source irq 72
[ 1.656281] fsl-ehci fsl-ehci.1: Freescale On-Chip EHCI Host Controller
[ 1.656310] fsl-ehci fsl-ehci.1: new USB bus registered, assigned bus number2
[ 1.685466] fsl-ehci fsl-ehci.1: irq 72, io base 0x02184200
[ 1.705456] fsl-ehci fsl-ehci.1: USB 2.0 started, EHCI 1.00
[ 1.705949] hub 2-0:1.0: USB hub found
[ 1.705965] hub 2-0:1.0: 1 port detected
[ 1.706186] Initializing USB Mass Storage driver...
[ 1.706369] usbcore: registered new interface driver usb-storage
[ 1.706378] USB Mass Storage support registered.
[ 1.706628] usbcore: registered new interface driver usbserial
[ 1.706638] usbserial: USB Serial Driver core
[ 1.706741] USB Serial support registered for GSM modem (1-port)
[ 1.706940] usbcore: registered new interface driver option
[ 1.706949] option: v0.7.2:USB Driver for GSM modems
[ 1.707055] USB Serial support registered for Qualcomm USB modem
[ 1.707196] usbcore: registered new interface driver qcserial
[ 1.707206] ARC USBOTG Device Controller driver (1 August 2005)
[ 1.852007] android_usb gadget: Mass Storage Function, version: 2009/09/11
[ 1.852022] android_usb gadget: Number of LUNs=1
[ 1.852031] lun0: LUN: removable file: (no medium)
[ 1.852505] Gadget Android: controller 'fsl-usb2-udc' not recognized
[ 1.852520] android_usb gadget: android_usb ready
[ 1.852528] Suspend udc for OTG auto detect
[ 1.852540] USB Host suspend begins
[ 1.852546] will suspend roothub and its children
[ 1.852567] ehci_fsl_bus_suspend begins, DR
[ 1.852589] ehci_fsl_bus_suspend ends, DR
[ 1.852604] host suspend ends
[ 1.852614] USB Gadget resume begins
[ 1.852620] fsl_udc_resume, Wait for wakeup thread finishes
[ 1.865467] dr_controller_run: udc out low power mode
[ 1.865478] USB Gadget resume ends
[ 1.865486] fsl-usb2-udc: bind to driver android_usb
[ 1.865779] mousedev: PS/2 mouse device common for all mice
[ 1.866561] i2c /dev entries driver
[ 1.867088] Linux video capture interface: v2.00
[ 1.867400] mxc_v4l2_output mxc_v4l2_output.0: V4L2 device registered as vid6
[ 1.867583] mxc_v4l2_output mxc_v4l2_output.0: V4L2 device registered as vid7
[ 1.867815] usbcore: registered new interface driver uvcvideo
[ 1.867823] USB Video Class driver (v1.1.0)
[ 1.868063] imx2-wdt imx2-wdt.0: IMX2+ Watchdog Timer enabled. timeout=60s ()
[ 1.868167] Bluetooth: Virtual HCI driver ver 1.3
[ 1.868313] Bluetooth: HCI UART driver ver 2.2
[ 1.868322] Bluetooth: HCI H4 protocol initialized
[ 1.868330] Bluetooth: Generic Bluetooth USB driver ver 0.6
[ 1.868459] usbcore: registered new interface driver btusb
[ 2.000029] cpuidle: using governor ladder
[ 2.000037] cpuidle: using governor menu
[ 2.000178] sdhci: Secure Digital Host Controller Interface driver
[ 2.000187] sdhci: Copyright(c) Pierre Ossman
[ 2.000325] _regulator_get: sdhci-esdhc-imx.2 supply vmmc not found, using dr
[ 2.000539] mmc0: SDHCI controller on platform [sdhci-esdhc-imx.2] using DMA
[ 2.001609] _regulator_get: sdhci-esdhc-imx.1 supply vmmc not found, using dr
[ 2.003900] mmc1: SDHCI controller on platform [sdhci-esdhc-imx.1] using DMA
[ 2.003957] sdhci sdhci-esdhc-imx.0: no write-protect pin available!
[ 2.004996] _regulator_get: sdhci-esdhc-imx.0 supply vmmc not found, using dr
[ 2.007207] mmc2: SDHCI controller on platform [sdhci-esdhc-imx.0] using DMA
[ 2.007423] mxc_vdoa mxc_vdoa: i.MX Video Data Order Adapter(VDOA) driver prd
[ 2.008055] VPU initialized
[ 2.008950] mxc_asrc registered
[ 2.028113] revserved_memory_account:viv_gpu registerd
[ 2.028637] Thermal calibration data is 0x5834f469
[ 2.028646] Thermal sensor with ratio = 182
[ 2.045599] Anatop Thermal registered as thermal_zone0
[ 2.045761] anatop_thermal_probe: default cooling device is cpufreq!
[ 2.047103] usbcore: registered new interface driver usbhid
[ 2.047112] usbhid: USB HID core driver
[ 2.047452] logger: created 256K log 'log_main'
[ 2.047595] logger: created 256K log 'log_events'
[ 2.047733] logger: created 256K log 'log_radio'
[ 2.047876] logger: created 256K log 'log_system'
[ 2.048097] zram: num_devices not specified. Using default: 1
[ 2.048106] zram: Creating 1 devices ...
[ 2.049223] mxc_hdmi_soc mxc_hdmi_soc.0: MXC HDMI Audio
[ 2.049375] mxc_spdif mxc_spdif.0: MXC SPDIF Audio
[ 2.051340] _regulator_get: 1-000a supply VDDD not found, using dummy regular
[ 2.052353] sgtl5000 1-000a: sgtl5000 revision 17
[ 2.052518] print_constraints: 1-000a: 850 1600 mV at 1200 mV normal
[ 2.115469] usb 2-1: new full speed USB device number 2 using fsl-ehci
[ 2.264122] asoc: sgtl5000 imx-ssi.1 mapping ok
[ 2.270995] asoc: mxc-spdif imx-spdif-dai.0 mapping ok
[ 2.278087] asoc: mxc-hdmi-soc imx-hdmi-soc-dai.0 mapping ok
[ 2.284777] ALSA device list:
[ 2.287891] #0: sgtl5000-audio
[ 2.291304] #1: imx-spdif
[ 2.294238] #2: imx-hdmi-soc
[ 2.297488] GACT probability NOT on
[ 2.301089] Mirror/redirect action on
[ 2.304928] u32 classifier
[ 2.307763] Actions configured
[ 2.311289] Netfilter messages via NETLINK v0.30.
[ 2.316214] nf_conntrack version 0.5.0 (16384 buckets, 65536 max)
[ 2.323308] ctnetlink v0.93: registering with nfnetlink.
[ 2.328838] NF_TPROXY: Transparent proxy support initialized, version 4.1.0
[ 2.335914] NF_TPROXY: Copyright (c) 2006-2007 BalaBit IT Ltd.
[ 2.342486] xt_time: kernel timezone is -0000
[ 2.347853] IPv4 over IPv4 tunneling driver
[ 2.353225] GRE over IPv4 demultiplexor driver
[ 2.358434] ip_tables: (C) 2000-2006 Netfilter Core Team
[ 2.364286] arp_tables: (C) 2002 David S. Miller
[ 2.367196] mmc0: new high speed SDHC card at address 59b4
[ 2.374713] mmcblk0: mmc0:59b4 SD 14.7 GiB
[ 2.374735] TCP cubic registered
[ 2.375732] NET: Registered protocol family 10
[ 2.380337] Mobile IPv6
[ 2.380375] ip6_tables: (C) 2000-2006 Netfilter Core Team
[ 2.380627] IPv6 over IPv4 tunneling driver
[ 2.385549] NET: Registered protocol family 17
[ 2.385583] NET: Registered protocol family 15
[ 2.385591] can: controller area network core (rev 20090105 abi 8)
[ 2.385692] NET: Registered protocol family 29
[ 2.385702] can: raw protocol (rev 20090105)
[ 2.385709] can: broadcast manager protocol (rev 20090105 t)
[ 2.385799] Bluetooth: RFCOMM TTY layer initialized
[ 2.385810] Bluetooth: RFCOMM socket layer initialized
[ 2.385817] Bluetooth: RFCOMM ver 1.11
[ 2.385825] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 2.385832] Bluetooth: BNEP filters: protocol multicast
[ 2.385841] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
[ 2.386018] L2TP core driver, V2.0
[ 2.386037] PPPoL2TP kernel driver, V2.0
[ 2.386043] L2TP IP encapsulation support (L2TPv3)
[ 2.386246] L2TP netlink interface
[ 2.386271] L2TP ethernet pseudowire support (L2TPv3)
[ 2.386279] lib80211: common routines for IEEE802.11 drivers
[ 2.386288] lib80211_crypt: registered algorithm 'NULL'
[ 2.386295] Registering the dns_resolver key type
[ 2.409277] input: 2.4G Wireless Receiver as /devices/platform/fsl-ehci.1/0
[ 2.409737] generic-usb 0003:1915:AF11.0001: input,hidraw0: USB HID v1.11 Ke0
[ 2.413382] input: 2.4G Wireless Receiver as /devices/platform/fsl-ehci.1/1
[ 2.414356] generic-usb 0003:1915:AF11.0002: input,hidraw1: USB HID v1.11 Mo1
[ 2.417676] generic-usb 0003:1915:AF11.0003: hidraw2: USB HID v1.11 Device [2
[ 2.552828] VFP support v0.3: implementor 41 architecture 3 part 30 variant 4
[ 2.560739] ThumbEE CPU extension supported.
[ 2.569902] Bus freq driver module loaded
[ 2.574049] Bus freq driver Enabled
[ 2.577677] mxc_dvfs_core_probe
[ 2.585161] DVFS driver module loaded
[ 2.588987] mmcblk0: p1 p2 p3 < p5 p6 p7 p8 > p4
[ 2.589589] drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
[ 2.600390] Freeing init memory: 212K
[ 2.605682] USB Gadget resume begins
[ 2.609405] fsl_udc_resume, Wait for wakeup thread finishes
[ 5.404922] init: cannot find '/system/etc/install-recovery.sh', disabling ''
[ 5.775969] android_usb: already disabled
[ 5.780231] android_usb: already disabled
[ 5.784572] mtp_bind_config
[ 5.787479] adb_bind_config
[ 5.791834] adb_open
root@android:/ #
Как и на Wandboard Dual, Android работает плавно при использовании быстрой SD-карты. Система стабильна, но требует доработки для полной функциональности. Обнаружены следующие проблемы:
- Отсутствие HDMI-аудио
- Bluetooth включается, но не обнаруживает смартфон; система несовместима с Sixaxis (для подключения контроллеров PS3)
- Аппаратное декодирование видео не работает (как минимум для H.264 и MPEG2)
Однако тесты Antutu и Quadrant показывают значительный прогресс по сравнению с другими решениями на i.MX6 Quad / Android 4.0, тестировавшимися ранее.
В тестах Wandboard Quad сопоставим с Google Nexus 7 на Tegra 3. Примечательна высокая производительность 3D-графики, в отличие от низких показателей мини-ПК Hi802/GK802 при прошлом тестировании, что указывает на существенные улучшения в ПО (Android 4.0 vs 4.2) и драйверах Vivante. Таблица ниже демонстрирует разницу в производительности между Wandboard Dual/Android 4.1.2, Hi802/Android 4.0.4 и Wandboard Quad/Android 4.2.2.
Antutu 3.x Tests | Wandboard Dual Android 4.1.2 |
Hi802 Android 4.0.4 |
Wandboard Quad Android 4.2.2 |
Total | 6190 | 8516 | 12615 |
RAM | 1032 | 1619 | 1477 |
CPU Integer | 1299 | 2490 | 2514 |
CPU float-point | 1120 | 1838 | 2200 |
2D Graphics | [720×1232] 477 | [1280×672] 733 | [720×1232] 929 |
3D Graphics | [720×1232] 1771 | [1280×672] 1272 | [720×1232] 4901 |
Database IO | 280 | 245 | 315 |
SD card write | 97 | 115 | 87 |
SD card read | 114 | 204 | 192 |
CPU frequency | (x2) | (x4) | 996 MHz (x4) |
Date | 2013-06-10 | 2013-01-18 | 2013-07-24 |
Тест Quadrant показывает, что Wandboard Quad (3402) немного уступает Transformer Prime из-за результатов процессора. Wandboard Dual набрал 2305 баллов.
Учитывая хорошие результаты GPU, была протестирована требовательная 3D-игра: Real Racing 3. Игра работает плавно, с визуально лучшим качеством, чем на платформах RK3188, хотя детальный анализ выявил использование пониженных настроек графики. Тем не менее, 3D-производительность значительно улучшилась по сравнению с ранними версиями i.MX6 Quad на Android 4.0.4.
Сборка Linux через Yocto Project для Wandboard Quad
Доступные дистрибутивы Linux для Wandboard (Quad): Ubuntu 11.10, Ubuntu 12.04, образы на базе Yocto Project или buildroot, Timesys Linux (поддержка Wandboard Quad в разработке) и недавно появившийся образ XBMC Linux . Платы Wandboard поддерживаются в mainline U-boot и будут частично совместимы с Linux 3.12 .
Поскольку установка Ubuntu 11.10 и сборка ядра из SDK для Wandboard Dual уже рассматривались ранее , а использование Ubuntu 11.10/12.04 на Wandboard Quad аналогично (с другим образом), далее будет описан процесс сборки через Yocto Project, позволяющий создавать кастомизированные образы. Инструкции основаны на материалах с elinux.org .
Установка инструмента repo:
mkdir ~/bin
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
chmod a+x ~/bin/repo
Добавление в PATH и загрузка исходного кода из Freescale Yocto BSP (github):
PATH=${PATH}:~/bin
mkdir fsl-community-bsp
cd fsl-community-bsp
repo init -u https://github.com/Freescale/fsl-community-bsp-platform -b master
repo sync
Используется ветка разработки (master), так как Wandboard Quad не поддерживался в релизе Yocto 1.4 (dylan) .
Установка целевой платы Wandboard Quad, настройка окружения и запуск сборки минимального образа:
MACHINE=wandboard-quad
. ./setup-environment build
bitbake core-image-minimal
Поскольку все исходные коды скачиваются из интернета и собираются с нуля (включая инструментарий), процесс может занять значительное время в зависимости от скорости интернета и производительности системы. На тестовой машине (AMD FX8350, 16 ГБ ОЗУ) полная сборка заняла три часа. Последующие сборки выполняются быстрее.
После завершения сборки образ будет находиться в ./tmp/deploy/images/core-image-minimal-wandboard-quad.sdcard (28 МБ). Запись на microSD карту (32 МБ или более):
sudo umount /dev/sdX*
sudo dd.sh if=./tmp/deploy/images/core-image-minimal-wandboard-quad.sdcard of=/dev/sdX
sync
Замените /dev/sdX на актуальное имя устройства SD-карты (например, /dev/sdc). Перед выполнением dd рекомендуется проверить устройство командой lsblk во избежание потери данных. После записи рекомендуется расширить раздел rootfs для полного использования объема карты (например, через gparted).
Вставьте карту в Wandboard Quad, запустите плату и получите доступ к терминалу через HDMI-монитор или последовательную консоль:
Журнал загрузки минимального образа, собранного через Yocto:
U-Boot 2013.07 (Jul 25 2013 - 16:46:15)
CPU: Freescale i.MX6Q rev1.2 at 792 MHz
Reset cause: WDOG
Board: Wandboard
DRAM: 2 GiB
MMC: FSL_SDHC: 0, FSL_SDHC: 1
*** Warning - bad CRC, using default environment
In: serial
Out: serial
Err: serial
Net: FEC [PRIME]
Warning: FEC using MAC address from net device
Hit any key to stop autoboot: 0
mmc0 is current device
reading boot.scr
** Unable to read file boot.scr **
reading uImage
2585532 bytes read in 130 ms (19 MiB/s)
Booting from mmc ...
reading imx6q-wandboard.dtb
** Unable to read file imx6q-wandboard.dtb **
## Booting kernel from Legacy Image at 12000000 ...
Image Name: Linux-3.0.35-4.0.0-wandboard+ge2
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2585468 Bytes = 2.5 MiB
Load Address: 10008000
Entry Point: 10008000
Verifying Checksum ... OK
Loading Kernel Image ... OK
Starting kernel ...
[ 0.000000] Linux version 3.0.35-4.0.0-wandboard+ge259a0f (jaufranc@FX8350) 3
[ 0.000000] CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c53c7d
[ 0.000000] CPU: VIPT nonaliasing data cache, VIPT aliasing instruction cache
[ 0.000000] Machine: Wandboard
[ 0.000000] Memory policy: ECC disabled, Data cache writealloc
[ 0.000000] CPU identified as i.MX6Q, silicon rev 1.2
[ 0.000000] PERCPU: Embedded 7 pages/cpu @d100e000 s5248 r8192 d15232 u32768
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pa6
[ 0.000000] Kernel command line: console=ttymxc0,115200 root=/dev/mmcblk0p2 w
[ 0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
[ 0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
[ 0.000000] Memory: 80MB 1792MB = 1872MB total
[ 0.000000] Memory: 1892900k/1892900k available, 204252k reserved, 1409024K m
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
[ 0.000000] fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
[ 0.000000] DMA : 0xf4600000 - 0xffe00000 ( 184 MB)
[ 0.000000] vmalloc : 0xea800000 - 0xf2000000 ( 120 MB)
[ 0.000000] lowmem : 0xc0000000 - 0xea000000 ( 672 MB)
[ 0.000000] pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
[ 0.000000] modules : 0xbf000000 - 0xbfe00000 ( 14 MB)
[ 0.000000] .init : 0xc0008000 - 0xc0037000 ( 188 kB)
[ 0.000000] .text : 0xc0037000 - 0xc06521c0 (6253 kB)
[ 0.000000] .data : 0xc0654000 - 0xc06a3620 ( 318 kB)
[ 0.000000] .bss : 0xc06a3644 - 0xc06e59fc ( 265 kB)
[ 0.000000] SLUB: Genslabs=13, HWalign=32, Order=0-3, MinObjects=0, CPUs=4, 1
[ 0.000000] Preemptible hierarchical RCU implementation.
[ 0.000000] NR_IRQS:624
[ 0.000000] MXC GPIO hardware
[ 0.000000] sched_clock: 32 bits at 3000kHz, resolution 333ns, wraps every 1s
[ 0.000000] arm_max_freq=1GHz
[ 0.000000] MXC_Early serial console at MMIO 0x2020000 (options '115200')
[ 0.000000] bootconsole [ttymxc0] enabled
[ 0.000000] Console: colour dummy device 80x30
[ 0.208392] Calibrating delay loop... 1581.05 BogoMIPS (lpj=7905280)
[ 0.296694] pid_max: default: 32768 minimum: 301
[ 0.301671] Mount-cache hash table entries: 512
[ 0.307043] CPU: Testing write buffer coherency: ok
[ 0.312215] hw perfevents: enabled with ARMv7 Cortex-A9 PMU driver, 7 countee
[ 0.412833] CPU1: Booted secondary processor
[ 0.492832] CPU2: Booted secondary processor
[ 0.572845] CPU3: Booted secondary processor
[ 0.612245] Brought up 4 CPUs
[ 0.628068] SMP: Total of 4 processors activated (6324.22 BogoMIPS).
[ 0.634972] devtmpfs: initialized
[ 0.655918] print_constraints: dummy:
[ 0.659934] NET: Registered protocol family 16
[ 0.668528] print_constraints: vddpu: 725 1300 mV at 1150 mV fast norma
[ 0.676100] print_constraints: vddcore: 725 1300 mV at 1150 mV fast nor
[ 0.683844] print_constraints: vddsoc: 725 1300 mV at 1200 mV fast norm
[ 0.691499] print_constraints: vdd2p5: 2000 2775 mV at 2400 mV fast nor
[ 0.699260] print_constraints: vdd1p1: 800 1400 mV at 1100 mV fast norm
[ 0.706914] print_constraints: vdd3p0: 2625 3400 mV at 3000 mV fast nor
[ 0.796780] hw-breakpoint: found 6 breakpoint and 1 watchpoint registers.
[ 0.803612] hw-breakpoint: 1 breakpoint(s) reserved for watchpoint single-st.
[ 0.810958] hw-breakpoint: maximum watchpoint size is 4 bytes.
[ 0.816856] L310 cache controller enabled
[ 0.820883] l2x0: 16 ways, CACHE_ID 0x410000c7, AUX_CTRL 0x02070000, Cache sB
[ 0.851923] bio: create slab at 0
[ 0.856749] print_constraints: VDDA: 2500 mV
[ 0.861314] print_constraints: VDDIO: 3300 mV
[ 0.866226] vgaarb: loaded
[ 0.869678] SCSI subsystem initialized
[ 0.874045] spi_imx imx6q-ecspi.0: probed
[ 0.878321] spi_imx imx6q-ecspi.1: probed
[ 0.883084] usbcore: registered new interface driver usbfs
[ 0.888730] usbcore: registered new interface driver hub
[ 0.894218] usbcore: registered new device driver usb
[ 0.912244] imx-ipuv3 imx-ipuv3.0: IPU DMFC NORMAL mode: 1(0~1), 5B(4,5), 5F)
[ 0.920350] mxc_mipi_csi2 mxc_mipi_csi2: i.MX MIPI CSI2 driver probed
[ 0.926827] mxc_mipi_csi2 mxc_mipi_csi2: i.MX MIPI CSI2 dphy version is 0x31a
[ 0.934543] MIPI CSI2 driver module loaded
[ 0.938781] Advanced Linux Sound Architecture Driver Version 1.0.24.
[ 0.945994] Bluetooth: Core ver 2.16
[ 0.949695] NET: Registered protocol family 31
[ 0.954165] Bluetooth: HCI device and connection manager initialized
[ 0.960539] Bluetooth: HCI socket layer initialized
[ 0.965438] Bluetooth: L2CAP socket layer initialized
[ 0.970564] Bluetooth: SCO socket layer initialized
[ 0.975889] cfg80211: Calling CRDA to update world regulatory domain
[ 0.982403] Switching to clocksource mxc_timer1
[ 1.000788] NET: Registered protocol family 2
[ 1.005376] IP route cache hash table entries: 16384 (order: 4, 65536 bytes)
[ 1.013071] TCP established hash table entries: 65536 (order: 7, 524288 byte)
[ 1.021352] TCP bind hash table entries: 65536 (order: 7, 786432 bytes)
[ 1.029173] TCP: Hash tables configured (established 65536 bind 65536)
[ 1.035722] TCP reno registered
[ 1.038888] UDP hash table entries: 256 (order: 1, 8192 bytes)
[ 1.044755] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)
[ 1.051472] NET: Registered protocol family 1
[ 1.056122] RPC: Registered named UNIX socket transport module.
[ 1.062078] RPC: Registered udp transport module.
[ 1.066797] RPC: Registered tcp transport module.
[ 1.071521] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 1.078183] _regulator_get: etb supply vcore not found, using dummy regulator
[ 1.085787] _regulator_get: etm.0 supply vcore not found, using dummy regular
[ 1.093199] _regulator_get: etm.1 supply vcore not found, using dummy regular
[ 1.100617] _regulator_get: etm.2 supply vcore not found, using dummy regular
[ 1.108015] _regulator_get: etm.3 supply vcore not found, using dummy regular
[ 1.115648] Static Power Management for Freescale i.MX6
[ 1.120900] wait mode is disabled for i.MX6
[ 1.125256] cpaddr = ea880000 suspend_iram_base=ea874000
[ 1.130676] PM driver module loaded
[ 1.847958] link up failed, DB_R0:0x007b8000, DB_R1:0x08200000!
[ 1.853896] IMX PCIe port: link down!
[ 1.857976] IMX usb wakeup probe
[ 1.861825] IMX usb wakeup probe
[ 1.865314] cpu regulator mode:ldo_enable
[ 1.869544] i.MXC CPU frequency driver
[ 1.898814] highmem bounce pool size: 64 pages
[ 1.916534] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[ 1.923317] msgmni has been set to 945
[ 1.928582] alg: No test for stdrng (krng)
[ 1.932822] io scheduler noop registered
[ 1.936760] io scheduler deadline registered
[ 1.941135] io scheduler cfq registered (default)
[ 1.946603] mxc_sdc_fb mxc_sdc_fb.0: register mxc display driver hdmi
[ 1.953113] mxc_hdmi mxc_hdmi: Detected HDMI controller 0x13:0xa:0xa0:0xc1
[ 1.997049] imx-ipuv3 imx-ipuv3.0: IPU DMFC DP HIGH RESOLUTION: 1(0,1), 5B(2)
[ 2.076434] Console: switching to colour frame buffer device 240x67
[ 2.117314] mxc_sdc_fb mxc_sdc_fb.1: register mxc display driver ldb
[ 2.123708] _regulator_get: get() with no identifier
[ 2.148551] imx-sdma imx-sdma: loaded firmware 1.1
[ 2.157354] imx-sdma imx-sdma: initialized
[ 2.284130] Serial: IMX driver
[ 2.287319] imx-uart.0: ttymxc0 at MMIO 0x2020000 (irq = 58) is a IMX
[ 2.293800] console [ttymxc0] enabled, bootconsole disabled
[ 2.293800] console [ttymxc0] enabled, bootconsole disabled
[ 2.305380] imx-uart.2: ttymxc2 at MMIO 0x21ec000 (irq = 60) is a IMX
[ 2.315939] loop: module loaded
[ 2.353035] No sata disk.
[ 2.355864] FEC Ethernet Driver
[ 2.360899] fec_enet_mii_bus: probed
[ 2.365307] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 2.371952] add wake up source irq 75
[ 2.378053] fsl-ehci fsl-ehci.0: Freescale On-Chip EHCI Host Controller
[ 2.384756] fsl-ehci fsl-ehci.0: new USB bus registered, assigned bus number1
[ 2.417017] fsl-ehci fsl-ehci.0: irq 75, io base 0x02184000
[ 2.436998] fsl-ehci fsl-ehci.0: USB 2.0 started, EHCI 1.00
[ 2.443334] hub 1-0:1.0: USB hub found
[ 2.447110] hub 1-0:1.0: 1 port detected
[ 2.451236] add wake up source irq 72
[ 2.454935] fsl-ehci fsl-ehci.1: Freescale On-Chip EHCI Host Controller
[ 2.461590] fsl-ehci fsl-ehci.1: new USB bus registered, assigned bus number2
[ 2.496993] fsl-ehci fsl-ehci.1: irq 72, io base 0x02184200
[ 2.516984] fsl-ehci fsl-ehci.1: USB 2.0 started, EHCI 1.00
[ 2.523151] hub 2-0:1.0: USB hub found
[ 2.526914] hub 2-0:1.0: 1 port detected
[ 2.531156] Initializing USB Mass Storage driver...
[ 2.536175] usbcore: registered new interface driver usb-storage
[ 2.542194] USB Mass Storage support registered.
[ 2.547083] ARC USBOTG Device Controller driver (1 August 2005)
[ 2.553047] udc: request mem region for fsl-usb2-udc failed
[ 2.558733] fsl-usb2-udc: probe of fsl-usb2-udc failed with error -16
[ 2.565538] mousedev: PS/2 mouse device common for all mice
[ 2.571351] i2c /dev entries driver
[ 2.575533] Linux video capture interface: v2.00
[ 2.580525] mxc_v4l2_output mxc_v4l2_output.0: V4L2 device registered as vid6
[ 2.588139] mxc_v4l2_output mxc_v4l2_output.0: V4L2 device registered as vid7
[ 2.595739] mxc_v4l2_output mxc_v4l2_output.0: V4L2 device registered as vid8
[ 2.603419] Bluetooth: HCI UART driver ver 2.2
[ 2.607876] Bluetooth: HCI H4 protocol initialized
[ 2.612807] sdhci: Secure Digital Host Controller Interface driver
[ 2.618998] sdhci: Copyright(c) Pierre Ossman
[ 2.623469] _regulator_get: sdhci-esdhc-imx.2 supply vmmc not found, using dr
[ 2.631991] mmc0: SDHCI controller on platform [sdhci-esdhc-imx.2] using DMA
[ 2.636985] mxc_hdmi mxc_hdmi: Read EDID again
[ 2.644345] _regulator_get: sdhci-esdhc-imx.1 supply vmmc not found, using dr
[ 2.654457] mmc1: SDHCI controller on platform [sdhci-esdhc-imx.1] using DMA
[ 2.661558] sdhci sdhci-esdhc-imx.0: no write-protect pin available!
[ 2.668745] _regulator_get: sdhci-esdhc-imx.0 supply vmmc not found, using dr
[ 2.678811] mmc2: SDHCI controller on platform [sdhci-esdhc-imx.0] using DMA
[ 2.686066] mxc_vdoa mxc_vdoa: i.MX Video Data Order Adapter(VDOA) driver prd
[ 2.694185] VPU initialized
[ 2.697965] mxc_asrc registered
[ 2.716596] Thermal calibration data is 0x5834f469
[ 2.721402] Thermal sensor with ratio = 182
[ 2.736993] Anatop Thermal registered as thermal_zone0
[ 2.742277] anatop_thermal_probe: default cooling device is cpufreq!
[ 2.749271] usbcore: registered new interface driver usbhid
[ 2.750806] mmc0: new high speed SDHC card at address 1234
[ 2.760366] usbhid: USB HID core driver
[ 2.764430] mmcblk0: mmc0:1234 SA04G 3.63 GiB
[ 2.764657] usbcore: registered new interface driver snd-usb-audio
[ 2.765125] mxc_hdmi_soc mxc_hdmi_soc.0: MXC HDMI Audio
[ 2.765258] mxc_spdif mxc_spdif.0: MXC SPDIF Audio
[ 2.767185] _regulator_get: 1-000a supply VDDD not found, using dummy regular
[ 2.767473] sgtl5000 1-000a: sgtl5000 revision 17
[ 2.767643] print_constraints: 1-000a: 850 1600 mV at 1200 mV normal
[ 2.787591] asoc: sgtl5000 imx-ssi.1 mapping ok
[ 2.790847] asoc: mxc-spdif imx-spdif-dai.0 mapping ok
[ 2.793461] asoc: mxc-hdmi-soc imx-hdmi-soc-dai.0 mapping ok
[ 2.794075] ALSA device list:
[ 2.794081] #0: sgtl5000-audio
[ 2.794086] #1: imx-spdif
[ 2.794090] #2: imx-hdmi-soc
[ 2.794586] TCP cubic registered
[ 2.794593] NET: Registered protocol family 17
[ 2.794667] Bluetooth: RFCOMM socket layer initialized
[ 2.794673] Bluetooth: RFCOMM ver 1.11
[ 2.794678] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 2.794682] Bluetooth: BNEP filters: multicast
[ 2.794689] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
[ 2.794843] lib80211: common routines for IEEE802.11 drivers
[ 2.794875] Registering the dns_resolver key type
[ 2.874998] VFP support v0.3: implementor 41 architecture 3 part 30 variant 4
[ 2.882789] ThumbEE CPU extension supported.
[ 2.884347] mmcblk0: p1 p2
[ 2.890346] Bus freq driver module loaded
[ 2.894364] Bus freq driver Enabled
[ 2.899781] mxc_dvfs_core_probe
[ 2.903116] DVFS driver module loaded
[ 2.907670] drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
[ 2.918368] EXT3-fs: barriers not enabled
[ 2.923188] kjournald starting. Commit interval 5 seconds
[ 2.926109] EXT3-fs (mmcblk0p2): using internal journal
[ 2.926121] EXT3-fs (mmcblk0p2): mounted filesystem with writeback data mode
[ 2.926150] VFS: Mounted root (ext3 filesystem) on device 179:2.
[ 2.932361] devtmpfs: mounted
[ 2.932419] Freeing init memory: 188K
[ 2.953634] usb 2-1: new high speed USB device number 2 using fsl-ehci
[ 2.970111] mmc1: queuing unknown CIS tuple 0x80 (50 bytes)
[ 2.984096] mmc1: queuing unknown CIS tuple 0x80 (7 bytes)
[ 2.991638] mmc1: queuing unknown CIS tuple 0x80 (4 bytes)
[ 3.026019] mmc1: queuing unknown CIS tuple 0x02 (1 bytes)
[ 3.042163] mmc1: new SDIO card at address 0001
INIT: [ 3.109731] hub 2-1:1.0: USB hub found
[ 3.113576] hub 2-1:1.0: 4 ports detected
version 2.88 booting[ 3.147331] mxc_hdmi mxc_hdmi: No modes read from edid
[ 3.152473] mxc_hdmi mxc_hdmi: create default modelist
[ 3.517416] input: 2.4G Wireless Receiver as /devices/platform/fsl-ehci.1/0
[ 3.528392] generic-usb 0003:1915:AF11.0001: input,hidraw0: USB HID v1.11 Ke0
[ 3.544186] input: 2.4G Wireless Receiver as /devices/platform/fsl-ehci.1/1
[ 3.556254] generic-usb 0003:1915:AF11.0002: input,hidraw1: USB HID v1.11 Mo1
[ 3.570923] generic-usb 0003:1915:AF11.0003: hidraw2: USB HID v1.11 Device [2
[ 3.658073] usb 2-1.3: new full speed USB device number 4 using fsl-ehci
Starting udev
[ 4.161586] udevd[1317]: starting version 182
Starting Bootlog daemon: bootlogd.
Configuring network interfaces... [ 5.610861] eth0: Freescale FEC PHY driver)
udhcpc (v1.21.1) started
Sending discover...
[ 8.607207] PHY: 1:01 - Link is Up - 100/Full
Sending discover...
Sending select for 192.168.0.106...
Lease of 192.168.0.106 obtained, lease time 7200
/etc/udhcpc.d/50default: Adding DNS 192.168.0.1
done.
hwclock: can't open '/dev/misc/rtc': No such file or directory
Thu Jul 25 10:09:00 UTC 2013
INIT: Entering runlevel: 5misc/rt
hwclock: can't open '/dev/misc/rtc': No such file or directory
Starting syslogd/klogd: done
Stopping Bootlog daemon: bootlogd.
Poky Next (Yocto Project Reference Distro) 1.4+snapshot-20130725 wandboard-quad0
wandboard-quad login:
Для получения образа с графической средой выполните bitbake core-image-sato (см. скриншот интерфейса SATO ). Теоретически, возможна сборка кастомного образа с XFCE путем добавления sources/meta-openembedded/meta-xfce в список слоев и packagegroup-xfce-base, packagegroup-xfce-extended и packagegroup-xfce-multimedia в группы пакетов (через командную строку или графический интерфейс Yocto hob). Однако при попытке сборки XFCE образа для Wandboard Dual через hob ранее возникали ошибки. Предположительно, предварительно собранный образ Yocto для Wandboard Quad включает XFCE (требует подтверждения).
Выражаем свою благодарность источнику, с которого взята и переведена статья, сайту cnx-software.com.
Оригинал статьи вы можете прочитать здесь.