Build Linux kernel for Bubblegum-96


#1

how to setup the build environment in Ubuntu 14.04 x64 environment for Bubblegum-96 Linux
what tool chain and which kernel source can be used?
I found a “kernel from source” from hikey document , can that be used for Bubblegum-96?


#2

Hi Eddy

I’d recommend using a linaro-toolchain (AArch64, little endian). The version shouldn’t matter that much. I use the gcc-4.9 bassed 2015.02 release but that’s only because I’ve been too lazy to upgrade recently.

The vendor kernel can be downloaded via git. Use branch bubblegum96-3.10
from https://github.com/96boards-bubblegum/linux .

To configure and build the kernel:

export ARCH=arm64 export CROSS_COMPILE=aarch64-linux-gnu- make owl_evb_linux_hdmi_defconfig make -j $(nproc)

Installing the kernel will differ depending on whether you are running Android or Debian. I’ve only ever worked with Debian on the Bubblegum-96. In my case I can do the following to install the kernel using ssh:

mkdir -p bubblegum96-root/media/linaro/BOOT cp arch/arm64/boot/Image bubblegum96-root/media/linaro/BOOT cp arch/arm64/boot/dts/s900_96board.dtb bubblegum96-root/media/linaro/BOOT make INSTALL_MOD_PATH="$PWD/bubblegum96-root" modules_install rsync -vax bubblegum96-root/ root@linaro-alip:/

WARNING: If your new kernel doesn’t work, then you will need a 1.8v TTL UART serial adapter and a USB type A to type A cable to debrick the board. You might want to buy these items (which are useful anyway) before trying to install a new kernel.


#3

I have updated the kernel,but it’s not worked.
how to debrick the board?


#4

Hi Eric

There are two levels of recovery possible: recovery after installing a bad kernel (use u-boot to fix this) and recovery after corrupting the bootloader (use the custom debrick tool to fix this).

In both cases the recovery process is similar (full debrick takes longer because it must load u-boot into RAM but the main part of the recovery process is the same).

I think in your case you need to get the board into fastboot mode (see thread below) and run the fastboot commands (steps #8 and #9) from the full debrick documentation.

http://www.96boards.org/forums/topic/fastboot-bubblegum-96/


#5

Forgot to mention… the Bubblegum-96 FAQ contains information on where to find a USB type-A to type-A lead.


#6

Thank you very much!
Successed!
But when installed docker, I found problems.

Here is the result of check-config:
Generally Necessary:

  • cgroup hierarchy: properly mounted [/sys/fs/cgroup]
  • CONFIG_NAMESPACES: missing
  • CONFIG_NET_NS: missing
  • CONFIG_PID_NS: missing
  • CONFIG_IPC_NS: missing
  • CONFIG_UTS_NS: missing
  • CONFIG_DEVPTS_MULTIPLE_INSTANCES: enabled
  • CONFIG_CGROUPS: enabled
  • CONFIG_CGROUP_CPUACCT: enabled
  • CONFIG_CGROUP_DEVICE: missing
  • CONFIG_CGROUP_FREEZER: enabled
  • CONFIG_CGROUP_SCHED: enabled
  • CONFIG_CPUSETS: missing
  • CONFIG_MEMCG: missing
  • CONFIG_KEYS: enabled
  • CONFIG_MACVLAN: enabled (as module)
  • CONFIG_VETH: enabled (as module)
  • CONFIG_BRIDGE: enabled (as module)
  • CONFIG_BRIDGE_NETFILTER: enabled
  • CONFIG_NF_NAT_IPV4: enabled
  • CONFIG_IP_NF_FILTER: enabled
  • CONFIG_IP_NF_TARGET_MASQUERADE: enabled
  • CONFIG_NETFILTER_XT_MATCH_ADDRTYPE: enabled (as module)
  • CONFIG_NETFILTER_XT_MATCH_CONNTRACK: enabled
  • CONFIG_NF_NAT: enabled
  • CONFIG_NF_NAT_NEEDED: enabled
  • CONFIG_POSIX_MQUEUE: missing

Optional Features:

  • CONFIG_USER_NS: missing
  • CONFIG_SECCOMP: missing
  • CONFIG_CGROUP_PIDS: missing
  • CONFIG_MEMCG_SWAP: missing
  • CONFIG_MEMCG_SWAP_ENABLED: missing
  • CONFIG_MEMCG_KMEM: missing
  • CONFIG_RESOURCE_COUNTERS: enabled
  • CONFIG_BLK_CGROUP: missing
  • CONFIG_BLK_DEV_THROTTLING: missing
  • CONFIG_IOSCHED_CFQ: enabled
  • CONFIG_CFQ_GROUP_IOSCHED: missing
  • CONFIG_CGROUP_PERF: missing
  • CONFIG_CGROUP_HUGETLB: missing
  • CONFIG_NET_CLS_CGROUP: enabled (as module)
  • CONFIG_NETPRIO_CGROUP: missing
  • CONFIG_CFS_BANDWIDTH: missing
  • CONFIG_FAIR_GROUP_SCHED: enabled
  • CONFIG_RT_GROUP_SCHED: enabled
  • CONFIG_IP_VS: enabled (as module)
  • CONFIG_EXT3_FS: missing
  • CONFIG_EXT3_FS_XATTR: missing
  • CONFIG_EXT3_FS_POSIX_ACL: missing
  • CONFIG_EXT3_FS_SECURITY: missing
    (enable these ext3 configs if you are using ext3 as backing filesystem)
  • CONFIG_EXT4_FS: enabled
  • CONFIG_EXT4_FS_POSIX_ACL: missing
  • CONFIG_EXT4_FS_SECURITY: enabled
    enable these ext4 configs if you are using ext4 as backing filesystem
  • Network Drivers:
    • “overlay”:
      • CONFIG_VXLAN: enabled (as module)
        Optional (for secure networks):
      • CONFIG_XFRM_ALGO: enabled
      • CONFIG_XFRM_USER: enabled
  • Storage Drivers:
    • “aufs”:
      • CONFIG_AUFS_FS: missing
    • “btrfs”:
      • CONFIG_BTRFS_FS: enabled (as module)
    • “devicemapper”:
      • CONFIG_BLK_DEV_DM: enabled
      • CONFIG_DM_THIN_PROVISIONING: enabled (as module)
    • “overlay”:
      • CONFIG_OVERLAY_FS: missing
    • “zfs”:
      • /dev/zfs: missing
      • zfs command: missing
      • zpool command: missing

Limits:

  • /proc/sys/kernel/keys/root_maxkeys: 200
    This should be set to at least 10000, for example set: sysctl -w kernel/keys/root_maxkeys=1000000

#7

Hi Eric

To fix those you will have to build and install a kernel. Have you been able to do that after debricking?


#8

Hi danielt
I have followed your steps to build new kernel based on the branch bubblegum96-3.10 at https://github.com/96boards-bubblegum/linux/. And overwrite the Image and modules into /media/linaro/BOOT and / separately. But Linux wont boot (screen black and not able enter desktop UI) after reset.
Please see my logs, how to get a workable kernel source ? and I would like need the kernel with the version > 4.x

[SECM] ver 1.0-b9ffafd (build May 23 2016 17:20:05)
[SECM] first boot: 1
atc260x_early_init bus_num:3, bus_mfp:0
owl_i2c_init bus_num:3, bus_mfp:0,IO_voltage:0
PMU:found PMIC type 2 ver 3
PMU:dat = 0x5a78!!!
PMU:RTC acc closed!!!
PMU:PMU_SYS_CTL0 0xe055, CTL1 0x57, CTL2 0x680, CTL3 0x4000
core_freq = 1104 dev_freq = 660 display_freq = 1056
owl_pm_get_s2_flag: get S2 flag 0
[SECM] ddr_init(mode:0)
clock_get = 552 mz
[DDR] ddr_clk 0x228
[DDR] ddr_type 0x2
[DDR] ddr_single_cap 0x5
[DDR] ddr_width 0x0
[DDR] rank 0x0
[DDR] dual_chan 0x2
[DDR] clk_drv 0x99
[DDR] ca_drv 0xdd
[DDR] dram_odt_en 0x0
[DDR] twls_adj 0x0
[DDR] pad_tsel 0x3ddf77dd
cs map value 3 !
DDR PHY PLL not lock!
DDR PHY PLL locked!
cs map value 3 !
DDR PHY PLL not lock!
DDR PHY PLL locked!
channel 0 init_start processing!
channel 0 init_start pass!
channel 1 init_start processing!
channel 1 init_start pass!
biststart_dualchannel start!
cs map value 3 !
DDR PHY PLL not lock!
DDR PHY PLL locked!
cs map value 3 !
DDR PHY PLL not lock!
DDR PHY PLL locked!
channel 0 init_start processing!
channel 0 init_start pass!
channel 1 init_start processing!
channel 1 init_start pass!
cs map value 3 !
DDR PHY PLL not lock!
DDR PHY PLL locked!
cs map value 3 !
DDR PHY PLL not lock!
DDR PHY PLL locked!
channel 0 init_start processing!
channel 0 init_start pass!
channel 1 init_start processing!
channel 1 init_start pass!
0x40000000!
DDR capacity is 2GB!
DMM_INTERLEAVE_PER_CH_CFG: 52d
[DDR produce] save param clk 552 Mhz
[SECM] load bl31
[SECM] load bl32
[SECM] load uboot
[SECM] load app
[SECM] secmbrc consume 760 ms
[SECM] jump to boot app
in fourth ,bootdev = 0x20
dvfs find
NOTICE: BL3-1: v1.0(debug):0857b9e
NOTICE: BL3-1: Built : 17:20:09, May 23 2016
INFO: owl: setup security space(1f000000~1fa00000)
NOTICE: atc260x_early_reinit
INFO: BL3-1: Initializing runtime services
INFO: BL3-1: Initializing BL3-2
NOTICE: TSP: v1.0(debug):0857b9e
NOTICE: TSP: Built : 17:20:11, May 23 2016
INFO: TSP: Total memory base : 0x1f202000
INFO: TSP: Total memory size : 0x7000 bytes
INFO: TSP: cpu 0x80000000: 1 smcs, 1 erets 1 cpu on requests
INFO: BL3-1: Preparing for EL3 exit to normal world
INFO: BL3-1: Next image address = 0x11000000
INFO: BL3-1: Next image spsr = 0x3c9

U-Boot 2015.07-g7e2f081-dirty (Mar 18 2016 - 10:21:25 +0800)S900 96BOARD

DRAM: 2 GiB
Relocation Offset is: 6ef48000
PMU_INFO:found PMIC type 2 ver 3
clk: core_pll 1104MHz, dev_pll 660MHz, display_pll 1056MHz
MMC: MMC: source clk CMU_DEVPLL:660000000Hz
MMC: source clk CMU_DEVPLL:660000000Hz
host0 scan ok
MMC: soupC[ 5.971374] s900-mmc e0338000.mmc: state restore latency exceeded, new value 31250 ns
[ 15.270031] owl_mmc_get_ro: Card read-only status -38
[ 15.275218] mmc2: host does not support reading read-only switch. assuming write-enable.
[ 15.285624] sd card init ok
[ 15.288499] mmc2: new high speed SDHC card at address 0007
[ 15.297906] mmcblk0: mmc2:0007 SD32G 28.9 GiB
[ 15.313249] GPT:Primary header thinks Alt. header is not at the end of the disk.
[ 15.320656] GPT:7806975 != 60751871
[ 15.324374] GPT:Alternate GPT header not at the end of the disk.
[ 15.330468] GPT:7806975 != 60751871
[ 15.334031] GPT: Use GNU Parted to correct GPT errors.
[ 15.339343] mmcblk0: p1 p2 p3
Begin: Running /scripts/local-block … done.
done.
Begin: Checking root file system … fsck from util-linux 2.27.1
writable: recovering journal
[ 16.921906] open file /dev/nand0
[ 16.925187] file is err
[ 16.927687] open file /dev/block/nand0
[ 16.931468] file is err
[ 16.934031] open file /dev/md_d0
[ 16.937281] file is err
[ 16.939781] open file /dev/block/md_d0
[ 16.943624] file is err
[ 17.788437] read_mi_head, line 463, magic 0x0, length 0, item num 0
[ 17.794874] read Head null
[ 17.797593] ip_sx00_hdcp: hdcp_read_key, failed to read hdcp key from secure storage(-1)
writable: clean, 47786/74560 files, 279934/297728 blocks
done.
[ 20.211406] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
done.
Begin: Running /scripts/local-bottom … done.
Begin: Running /scripts/init-bottom … done.
[ 20.750093] systemd[1]: Failed to insert module ‘kdbus’: Function not implemented

Welcome to Debian GNU/Linux 8 (jessie)!

System cannot boot: Missing /etc/machine-id and /etc is mounted read-only.
Booting up is supported only when:

  1. /etc/machine-id exists and is populated.
  2. /etc/machine-id exists and is empty.
  3. /etc/machine-id is missing and /etc is writable.
    Failed to populate /etc with preset unit settings, ignoring: Cannot send after transport endpoint shutdown
    display-manager.service: Cannot add dependency job, ignoring: Unit display-manager.service failed to load: No such file or directory.
    [ OK ] Listening on Journal Socket (/dev/log).
    [ OK ] Created slice User and Session Slice.
    [ OK ] Reached target Encrypted Volumes.
    [ OK ] Listening on fsck to fsckd communication Socket.
    [ OK ] Listening on Syslog Socket.
    [ OK ] Listening on /dev/initctl Compatibility Named Pipe.
    [ OK ] Listening on Journal Socket.
    [ OK ] Set up automount Arbitrary Executab…ats File System Automount Point.
    [ OK ] Reached target Remote File Systems (Pre).
    [ OK ] Listening on udev Kernel Socket.
    [ OK ] Started Forward Password Requests to Wall Directory Watch.
    [ OK ] Reached target Remote File Systems.
    [ OK ] Reached target Swap.
    [ OK ] Created slice System Slice.
    Starting LSB: Prepare console…
    [ OK ] Created slice[ 21.505531] bcmdhd_wlan_init()
    system-serial\x2dgetty.slice.
    Starting Load Kernel Modules…
    [ OK ] Created slice system-getty.slice.
    Starting Create list of required st… nodes for the current kernel…
    Starting Nameserver information manager…
    [ OK ] Reached target Slices.
    Starting Journal Service…
    [ OK ] Listening on udev Control Socket.
    Mounting Debug File System…
    [ OK ] Started Create list of required sta…ce nodes for the current kernel.
    Starting Create Static Device Nodes in /dev…
    [ 21.703499] systemd-journald[219]: Failed to open runtime journal: No such file or directory
    [ 21.710906] dhd_module_init: in
    [FAILED] Failed to start Journal Service.
    See ‘systemctl status systemd-journald.service’ for details.
    [DEPEND] Dependency failed for Flush Journal to Persistent Storage.
    systemd-journald.service: Failed with result ‘exit-code’.
    [ 21.753656] systemd-journald[233]: Failed to open runtime journal: No such file or directory
    2m OK ] Stopped Journal Service.
    Starting Journal Service…
    [ OK ] Mounted Debug File System.
    [FAILED] Failed to start Journal Service.
    See ‘systemctl status systemd-journald.service’ for detail[ 21.783218] systemd-journald[240]: Failed to open runtime journal: No such file or directory
    s.
    systemd-journald.service: Failed with result ‘exit-code’.
    [ OK ] Stopped Journal Service.
    Starting Journal Service…
    [FAILED] Failed to start Create Static Device Nodes in /[ 21.809999] systemd-journald[250]: Failed to open runtime journal: No such file or directory
    dev.
    See ‘systemctl status systemd-tmpfiles-setup-dev.s[ 21.818406] Wlan or BT power on, ref count:1ervice’ for details.
    systemd-tmpfiles-setup-dev.service: Failed with result ‘exit-code’.
    [ OK ] Started Nameserver information manager.
    [FAILED] Failed to start Journal Service.
    See ‘systemctl status systemd-journald.service’ [ 21.847093] systemd-journald[258]: Failed to open runtime journal: No such file or directory
    [ 21.858562] dhd_wifi_platform_load: Enter
    [ 21.858562] Power-up adapter ‘DHD generic adapter’
    [ 21.858593] wifi_platform_set_power = 1
    [ 21.858593] ======== PULL WL_REG_ON HIGH! ========
    for details.
    systemd-journald.service: Failed with resu======== bcm_wlan_set_plat_data ========
    lt ‘exit-code’.
    [ OK ] Stopped Journal Service.
    Starting Journal Service…
    Starting udev Kernel Device Manager…
    [FAILED] Failed to start Journal Service.
    See ‘systemctl status systemd-journald.service’ for details.
    systemd-journald.service: Failed with result ‘exit-code’.
    [ OK ] Stopped Journal Service.
    Starting Journal Service…
    [FAILED] Failed to start Journal Service.
    See ‘systemctl status systemd-journald.service’ for details.
    systemd-journald.service: Failed with result ‘exit-code’.
    [ OK ] Stopped Journal Service.
    systemd-journald.service: Start request repeated too quickly.
    [FAILED] Failed to start Journal Service.
    See ‘systemctl status systemd-journald.service’ for details.
    systemd-journald.service: Failed with result ‘start-limit’.
    systemd-journald.service: Start request repeated too quickly.
    [FAILED] Failed to start Journal Service.
    See ‘systemctl status systemd-journald.service’ for details.
    systemd-journald.service: Failed with result ‘start-limit’.
    [ OK ] Started LSB: Prepare console.
    Starting LSB: Set console font and keymap…
    [ OK ] Started udev Kernel Device Manager.
    Starting LSB: Set preliminary keymap…
    [ OK ] Started LSB: Set preliminary keymap.
    Starting Remount Root and Kernel File Systems…
    [ OK ] Started LSB: Set con[ 22.180437] EXT4-fs (mmcblk0p2): re-mounted. Opts: errors=remount-ro
    sole font and keymap.
    [ 22.188968] wifi_platform_bus_enumerate device present 1
    [ 22.196249] ======== Card detection to detect SDIO card! ========
    [ OK ] Started Remou[ 22.202531] SDIO Wi-Fi check status, present (0 -> 1)
    nt Root and Kernel File Systems.
    Starting udev Coldplug all Devices…
    [ OK ] Reached target Local Fi[ 22.218656] systemd-tmpfiles[380]: [/usr/lib/tmpfiles.d/journal-nocow.conf:26] Failed to replace specifiers: /var/log/journal/%m
    le Systems (Pre).
    [ OK ] Reached target Local File Systems.
    Starting Tell Plymouth To Wr[ 22.239968] systemd-tmpfiles[380]: [/usr/lib/tmpfiles.d/systemd.conf:26] Failed to replace specifiers: /run/log/journal/%m
    ite Out Runtime Data…
    [ 22.253531] systemd-tmpfiles[380]: [/usr/lib/tmpfiles.d/systemd.conf:28] Failed to replace specifiers: /run/log/journal/%m
    Starting Create Volatile Files[ 22.267374] systemd-tmpfiles[380]: [/usr/lib/tmpfiles.d/systemd.conf:29] Failed to replace specifiers: /run/log/journal/%m
    and Directories…
    St[ 22.276999] mmc1: queuing unknown CIS tuple 0x80 (2 bytes)
    arting Load/Save Random Seed…[ 22.278687] mmc1: queuing unknown CIS tuple 0x80 (3 bytes)

[ OK ] Started Tel[ 22.280343] mmc1: queuing unknown CIS tuple 0x80 (3 bytes)
l Plymouth To Write Out Runtime [ 22.283343] mmc1: queuing unknown CIS tuple 0x80 (7 bytes)
Data.
[ OK ] Start[ 22.314281] systemd-tmpfiles[380]: [/usr/lib/tmpfiles.d/systemd.conf:32] Failed to replace specifiers: /var/log/journal/%m
ed Load/Save Random Seed.
Star[ 22.328687] systemd-tmpfiles[380]: [/usr/lib/tmpfiles.d/systemd.conf:34] Failed to replace specifiers: /var/log/journal/%m
ting LSB: Raise network interfac[ 22.342499] systemd-tmpfiles[380]: [/usr/lib/tmpfiles.d/systemd.conf:35] Failed to replace specifiers: /var/log/journal/%m
es…
[ 22.383749] mmc1: new high speed SDIO card at address 0001
[FAILED] Failed to start Create Volatile Files and Directories.
See ‘systemctl status systemd-tmpfiles-setup.service’ for details.[ 22.409312] bcmsdh_register: register client driver

systemd-tmpfiles-setup.service: Failed[ 22.418031] bcmsdh_sdmmc: bcmsdh_sdmmc_probe Enter
with result ‘exit-code’.
Starting Update UTMP about System Boot/Shutdown…
Starting Network Time Synchroni[ 22.433843] bcmsdh_sdmmc: bcmsdh_sdmmc_probe Enter
zation…
[ 22.441656] bus num (host idx)=1, slot num (rca)=1
[ 22.446843] found adapter info ‘DHD generic adapter’
[ 22.454656] success alloc section 3, size 139264
[ 22.459468] alloc static buf at 77ac0000!
[ 22.463562] success alloc section 4, size 0
[ 22.468124] dhdsdio_probe : no mutex held. set lock
[ 22.473468] F1 signature read @0x18000000=0x1540a9a6
[ 22.482968] F1 signature OK, socitype:0x1 chip:0xa9a6 rev:0x0 pkg:0x4
[ 22.491312] DHD: dongle ram size is set to 524288(orig 524288) at 0x0
[ 22.498156] success alloc section 7, size 26568
[ OK ] Started Upda[ 22.502999] success alloc section 0, size 10320
te UTMP about System Boot/Shutdown.
[ 22.513343] success alloc section 5, size 65536
[ 22.517999] wl_create_event_handler(): thread:wl_event_handler:1b8 started
[ 22.518031] tsk Enter, tsk = 0xffffffc078528d40
[ OK ] Found device [ 22.531999] dhd_attach(): thread:dhd_watchdog_thread:1b9 started
/dev/ttyS5.
[ OK ] Started Ne[ 22.542031] dhd_attach(): thread:dhd_dpc:1ba started
twork Time Synchronization.
[ 22.549499] dhd_attach(): thread:dhd_rxf:1bb started
[ OK ] Reached targ[ 22.557374] dhd_deferred_work_init: work queue initialized
et System Time Synchronized.
[ 22.565937] success alloc section 1, size 10300
[ 22.572874] success alloc section 2, size 65536
[ 22.579843] Dongle Host Driver, version 1.201.34.1 (r491657) (2015-02-10)
[ 22.579843] Compiled in drivers/net/wireless/bcmdhd on Mar 25 2016 at 07:40:43
[ OK ] Started udev Coldplu[ 22.603499] Register interface [wlan0] MAC: 00:90:4c:11:22:33
[ 22.603499]
g all Devices.
[ OK ] Started Disp[ 22.614718] dhd_prot_ioctl : bus is down. we have nothing to do
atch Password Requests to Console Direct[ 22.624031] dhd_bus_devreset: WLAN OFF DONE
ory Watch.
[ 22.631249] wifi_platform_set_power = 0
[ 22.636031] ======== PULL WL_REG_ON LOW! ========
[ 22.640812] dhdsdio_probe : the lock is released.
[ 22.645656] dhd_module_init: Exit err=0
[ 22.650281] systemd-modules-load[216]: Inserted module ‘wlan_bcmdhd’
[ 22.671281] bma222_init,1982
[ 22.674312] bma222_probe,1748, addr:0x18
[ 22.678281] i2c-owl e0172000.i2c: [i2c1] no ACK from device
[ 22.683937] i2c-owl e0172000.i2c: [i2c1] transfer error
[ 22.684624] AIMX, owl_imx_init 725, registering imx driver
[ 22.685218] imx e0278000.imx: probe IMX device
[ 22.685249] imx e0278000.imx: imx clk default: 500000000
[ 22.685281] imx e0278000.imx: imx clk init: 500000000
[ 22.685437] imx e0278000.imx: resource: iomem: ffffffc079d60680 remapped to ffffff8001980000, irq 34
[ 22.718999] i2c-owl e0172000.i2c: [i2c1] before send stop i2c_stat 0x0
[ OK ] Started Load Kernel Modules.
[ 22.727968] bma222 not found! I2c error tempvalue=250
[ 22.735437] i2c-owl e0172000.i2c: [i2c1] no ACK from device
[ 22.742156] i2c-owl e0172000.i2c: [i2c1] transfer error
[ 22.747656] i2c-owl e0172000.i2c: [i2c1] before send stop i2c_stat 0x0
[ 22.756531] bma222 not found! I2c error tempvalue=250
Mounting Configuration File System…
Mounting FUSE Control File System…
Starting Apply Kernel Variables…
[ OK ] Reached target Sound Card.
[ OK ] Mounted Configuration File System.
[ OK ] Mounted FUSE Control File System.
[ OK ] Listening on Load/Save RF Kill Switch Status /dev/rfkill Watch.
Starting Load/Save RF Kill Switch Status…
[ OK ] Started Apply Kernel Variables.
[ OK ] Started Load/Save RF Kill Switch Status.
[ OK ] Started LSB: Raise network interfaces…
[ OK ] Reached target System Initialization.
[ OK ] Started Daily Cleanup of Temporary Directories.
[ OK ] Reached target Timers.
[ OK ] Started ACPI Events Check.
[ OK ] Reached target Paths.
[ OK ] Listening on ACPID Listen Socket.
[ OK ] Listening on D-Bus System Message Bus Socket.
[ OK ] Reached target Sockets.
[ OK ] Reached target Basic System.
Starting Initialize hardware monitoring sensors…
Starting System Logging Service…
Starting Permit User Sessions…
[ OK ] Started Regular background program processing daemon.
[ OK ] Started ACPI event daemon.
Starting Login Service…
Starting Restore /etc/resolv.conf i…e the ppp link was shut down…
Starting Modem Manager…
Starting Network Manager…
[ OK ] Started D-Bus System Message Bus.
Starting LSB: Load kernel modules needed to enable cpufreq scaling…
Starting Restore Sound Card State…
[ OK ] Reached target Network.
[ OK ] Reached target Network is Online.
Starting LSB: Advanced IEEE 802.11 management daemon…
Starting LSB: exim Mail Transport Agent…
Starting LSB: network benchmark…
Starting /etc/rc.local Compatibility…
[ OK ] Started OpenBSD Secure Shell server.
[ OK ] Started System Logging Service.
[ OK ] Started Permit User Sessions.
[ OK ] Started Restore /etc/resolv.conf if…ore the ppp link was shut down…
[ OK ] Started Restore Sound Card State.
[ OK ] Started LSB: Advanced IEEE 802.11 management daemon.
[ OK ] Started /etc/rc.local Compatibility.
[ 24.361031] systemd-logind[513]: New seat seat0.
[ OK ] Started Login Service.
[ OK ] Listening on Journal Socket.
systemd-journald.service: Start request repeated too quickly.
[FAILED] Failed to start Journal Service.
See ‘systemctl status systemd-journald.service’ for details.
systemd-journald.service: Failed with result ‘start-limit’.
Starting Wait for Plymouth Boot Screen to Quit…
Starting Terminate Plymouth Boot Screen…
[ OK ] Started Wait for Plymouth Boot Screen to Quit.
[ OK ] Listening on Journal Socket (/dev/log).
systemd-journald.service: Start request repeated too quickly.
[FAILED] Failed to start Journal Service.
See ‘systemctl status systemd-journald.service’ for details.
systemd-journald.service: Failed with result ‘start-limit’.
[ OK ] Started Getty on tty1.
[ OK ] Started Serial Getty on ttyS5.
[ OK ] Reached target Login Prompts.
[ OK ] Started LSB: network benchmark.
[ OK ] Started Terminate Plymouth Boot Screen.
[ OK ] Started LSB: Load kernel modules needed to enable cpufreq scaling.
Starting LSB: set CPUFreq kernel parameters…
[ OK ] Listening on Journal Socket.
Starting Authenticate and Authorize Users to Run Privileged Tasks…
systemd-journald.service: Start request repeated too quickly.
[FAILED] Failed to start Journal Service.
See ‘systemctl status systemd-journald.service’ for details.
systemd-journald.service: Failed with result ‘start-limit’.
[ OK ] Listening on Journal Socket (/dev/log).
systemd-journald.service: Start request repeated too quickly.
[FAILED] Failed to start Journal Service.
See ‘systemctl status systemd-journald.service’ for details.
systemd-journald.service: Failed with result ‘start-limit’.
[ OK ] Listening on Journal Socket.
systemd-journald.service: Start request repeated too quickly.
[FAILED] Failed to start Journal Service.
See ‘systemctl status systemd-journald.service’ for details.
systemd-journald.service: Failed with result ‘start-limit’.
[ OK ] Started Authenticate and Authorize Users to Run Privileged Tasks.
[ OK ] Started LSB: set CPUFreq kernel parameters.
[ OK ] Started Network Manager.
[ OK ] Started Modem Manager.
[ OK ] Started Initialize hardware monitoring sensors.
[ 24.951937] IPv6: ADDRCONF(NETDEV_UP): enx3c46d8b6d1ec: link is not ready
[ 24.964656] dhd_open: Enter ffffffc07785d000
[ 24.969218]
[ 24.969218] Dongle Host Driver, version 1.201.34.1 (r491657) (2015-02-10)
[ 24.969218] Compiled in drivers/net/wireless/bcmdhd on Mar 25 2016 at 07:40:43
[ 24.984812] wl_android_wifi_on in 1
[ 24.988312] wl_android_wifi_on in 2: g_wifi_on=0
[ 24.992968] wifi_platform_set_power = 1
[ 24.996812] ======== PULL WL_REG_ON HIGH! ========
[ OK ] Started LSB: exim Mail Transport Agent.
[ OK ] Reached target Multi-User System.
[ OK ] Reached target Graphical Interface.
Starting Update UTMP about System Runlevel Changes…
[ OK ]
Debian GNU/Linux 8 linaro-developer ttyS5

linaro-developer login: root (automatic login)

Last login: Thu Dec 1 07:32:24 UTC 2016 on ttyS5
Linux linaro-developer 3.10.52-linaro-bubblegum #1 SMP PREEMPT Fri Mar 25 07:38:33 UTC 2016 aarch64

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
systemd-journald.service: Start request repeated too quickly.
[ 25.353062] systemd-logind[513]: New session c1 of user root.
systemd-journald.service: Failed[ 25.353093] mmc1: queuing unknown CIS tuple 0x80 (2 bytes)
with result ‘start-limit’.
sys[ 25.359218] mmc1: queuing unknown CIS tuple 0x80 (3 bytes)
temd-journald.service: Start req[ 25.365374] mmc1: queuing unknown CIS tuple 0x80 (3 bytes)
uest repeated too quickly.
syst[ 25.376437] mmc1: queuing unknown CIS tuple 0x80 (7 bytes)
emd-journald.service: Failed with result ‘start-limit’.
systemd-journald.service: Start request repeated too quickly.
systemd-journald.service: Failed with result ‘start-limit’.
systemd-journald.service: Start request repeated too quickly.
systemd-journald.service: Failed with result ‘start-limit’.
systemd-journald.service: Start request repeated too quickly.
systemd-journald.service: Failed with result ‘start-limit’.
mount: special device /dev/mmcblk1p3 does not exist
sh: 0: Can’t open /update/create_gpt.sh
sh: 0: Can’t open /update/burn.sh
root@linaro-developer:~# [ 25.726187]
[ 25.726187]
[ 25.726187] dhd_bus_devreset: == WLAN ON ==
[ 25.733531] F1 signature read @0x18000000=0x1540a9a6
[ 25.743906] F1 signature OK, socitype:0x1 chip:0xa9a6 rev:0x0 pkg:0x4
[ 25.752249] DHD: dongle ram size is set to 524288(orig 524288) at 0x0
[ 25.760124] dhd_conf_read_config: bcn_timeout = 10
[ 25.764999] dhd_conf_set_fw_name_by_chip: firmware_path=/lib/firmware/brcm/fw_bcm43438a0.bin
[ 25.773499] Final fw_path=/lib/firmware/brcm/fw_bcm43438a0.bin
[ 25.779343] Final nv_path=/lib/firmware/brcm/nvram_bcm43438a0.txt
[ 25.785468] Final conf_path=/lib/firmware/brcm/config_bcm43438a0.txt
[ 25.849468] NVRAM version: AP6212_NVRAM_V1.0_20140603
[ 25.856468] dhdsdio_write_vars: Download, Upload and compare of NVRAM succeeded.
“)ºÊº¢êdhd_bus_devreset: WLAN OFF DONE
[ 26.184468] wifi_platform_set_power = 0
[ 26.188312] ======== PULL WL_REG_ON LOW! ========
[ 26.193062] wl_android_wifi_off out
[ 26.196624] dhd_stop: Exit
[ 26.200343] dhd_set_mac_addr_handler: interface info not available/down
[ 26.207687] dhd_open: Enter ffffffc07785d000
[ 26.212031]
[ 26.212031] Dongle Host Driver, version 1.201.34.1 (r491657) (2015-02-10)
[ 26.212031] Compiled in drivers/net/wireless/bcmdhd on Mar 25 2016 at 07:40:43
[ 26.227562] wl_android_wifi_on in 1
[ 26.231062] wl_android_wifi_on in 2: g_wifi_on=0
[ 26.235749] wifi_platform_set_power = 1
[ 26.239593] ======== PULL WL_REG_ON HIGH! ========
[ 26.593218] mmc1: queuing unknown CIS tuple 0x80 (2 bytes)
[ 26.605031] mmc1: queuing unknown CIS tuple 0x80 (3 bytes)
[ 26.984093]
[ 26.984093]
[ 26.984093] dhd_bus_devreset: == WLAN ON ==
[ 26.991562] F1 signature read @0x18000000=0x1540a9a6
ModemManager[515]: <warn> Couldn’t find support[ 27.006249] F1 signature OK, socitype:0x1 chip:0xa9a6 rev:0x0 pkg:0x4
for device at ‘/sys/devices/e040cd00.owl_dwc3/e0400000.dwc3/xhc[ 27.018874] DHD: dongle ram size is set to 524288(orig 524288) at 0x0
i-hcd.0.auto/usb1/1-1/1-1.4’: not suppor[ 27.028624] dhd_conf_read_config: bcn_timeout = 10
ted by any plugin

[ 27.035874] dhd_conf_set_fw_name_by_chip: firmware_path=/lib/firmware/brcm/fw_bcm43438a0.bin
[ 27.046312] Final fw_path=/lib/firmware/brcm/fw_bcm43438a0.bin
[ 27.052312] Final nv_path=/lib/firmware/brcm/nvram_bcm43438a0.txt
[ 27.058437] Final conf_path=/lib/firmware/brcm/config_bcm43438a0.txt
[ 27.142968] NVRAM version: AP6212_NVRAM_V1.0_20140603
[ 27.150531] dhdsdio_write_vars: Download, Upload and compare of NVRAM succeeded.


#9

Two parts to this. Firstly, you need a relatively recent kernel to run containers, 3.10 is nowhere near the right kernel. So, by default, you can’t use containers on bubblegum.

As for building a kernel, 4.5.0+ builds but I doesn’t appear to boot (I see no output once uboot has transferred control to it. Question - has anybody got a > 4.0 kernel to boot on bubblegum? If so, how?

You can recover from a bricked device if you have a serial link to it. You can run uboot and load the right kernel. You need to know your uboot commands to make this work. It’s probably easier to use the instructions above.


#10

There are no drivers for this board in the 4.5 tree.


#11

Quite so and its quite a jump from v3.10 to v4.5.

The bubblegum96 kernel does contain a couple of backports to allow
systemd to work properly with v3.10 but I couldn’t recommend trying to
backport the container logic.

Forward porting the drivers is a big task but made easier because the
git history for the bubblegum-96 is very clean and many of the drivers
are well written. Nevertheless getting the GPU and WiFi drivers running
would probably require a fair bit of work.