DIY mainline kernel (4.12)+ ubuntu base 17.04 (zesty) for vim pro and EMMC install

hey guys,
how about this ? a mainline 4.12.0 kernel, patched on the fly with a shell script (and using only sed, ed and cp), which successfully boots on a kvim pro :checkered_flag::hugs::blush::1st_place_medal: and says…

Starting kernel ...

uboot time: 1787695 us
[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 4.12.0 (raxy@bodhi-giada) (gcc version 4.8.4 (Ubuntu/Linaro 4.8.4-2ubuntu1~14.04.1) ) #1 SMP PREEMPT Mon Aug 14 01:00:45 CEST 2017
[    0.000000] Boot CPU: AArch64 Processor [410fd034]
[    0.000000] Machine model: Khadas VIM
[    0.000000] efi: Getting EFI parameters from FDT:
[    0.000000] efi: UEFI not found.
[    0.000000] Reserved memory: created CMA memory pool at 0x0000000067400000, size 188 MiB
[    0.000000] OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool
[    0.000000] NUMA: No NUMA configuration found
[    0.000000] NUMA: Faking a node at [mem 0x0000000000000000-0x0000000077ffffff]
[    0.000000] NUMA: Adding memblock [0x1000000 - 0xfffffff] on node 0
[    0.000000] NUMA: Adding memblock [0x10200000 - 0x77ffffff] on node 0
[    0.000000] NUMA: Initmem setup node 0 [mem 0x01000000-0x77ffffff]
[    0.000000] NUMA: NODE_DATA [mem 0x77fd1f80-0x77fd3a7f]
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x0000000001000000-0x0000000077ffffff]
[    0.000000]   Normal   empty
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000001000000-0x000000000fffffff]
[    0.000000]   node   0: [mem 0x0000000010200000-0x0000000077ffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000001000000-0x0000000077ffffff]
[    0.000000] psci: probing for conduit method from DT.
[    0.000000] psci: PSCIv0.2 detected in firmware.
[    0.000000] psci: Using standard PSCI v0.2 function IDs
[    0.000000] psci: Trusted OS migration not required
[    0.000000] percpu: Embedded 24 pages/cpu @ffff800077f6e000 s59264 r8192 d30848 u98304
[    0.000000] Detected VIPT I-cache on CPU0
[    0.000000] CPU features: enabling workaround for ARM erratum 845719
[    0.000000] Built 1 zonelists in Node order, mobility grouping on.  Total pages: 479296
[    0.000000] Policy zone: DMA
[    0.000000] Kernel command line: root=LABEL=ROOTFS rootflags=data=writeback rw rootwait console=ttyAML0,115200n8 console=tty0 no_console_suspend consoleblank=0 logo=osd1,loaded,0x3d800000,1080p60hz,full hdmimode=1080p60hz m_bpp=32 dmfc=3 vout=hdmi cvbsmode=576cvbs fsck.repair=yes net.ifnames=0
[    0.000000] PID hash table entries: 4096 (order: 3, 32768 bytes)
[    0.000000] Memory: 1694060K/1947648K available (8572K kernel code, 980K rwdata, 3720K rodata, 896K init, 404K bss, 61076K reserved, 192512K cma-reserved)
[    0.000000] Virtual kernel memory layout:
[    0.000000]     modules : 0xffff000000000000 - 0xffff000008000000   (   128 MB)
[    0.000000]     vmalloc : 0xffff000008000000 - 0xffff7dffbfff0000   (129022 GB)
[    0.000000]       .text : 0xffff000008080000 - 0xffff0000088e0000   (  8576 KB)
[    0.000000]     .rodata : 0xffff0000088e0000 - 0xffff000008c90000   (  3776 KB)
[    0.000000]       .init : 0xffff000008c90000 - 0xffff000008d70000   (   896 KB)
[    0.000000]       .data : 0xffff000008d70000 - 0xffff000008e65200   (   981 KB)
[    0.000000]        .bss : 0xffff000008e65200 - 0xffff000008eca200   (   404 KB)
[    0.000000]     fixed   : 0xffff7dfffe7fd000 - 0xffff7dfffec00000   (  4108 KB)
[    0.000000]     PCI I/O : 0xffff7dfffee00000 - 0xffff7dffffe00000   (    16 MB)
[    0.000000]     vmemmap : 0xffff7e0000000000 - 0xffff800000000000   (  2048 GB maximum)
[    0.000000]               0xffff7e0000040000 - 0xffff7e0001e00000   (    29 MB actual)
[    0.000000]     memory  : 0xffff800001000000 - 0xffff800078000000   (  1904 MB)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.000000] Preemptible hierarchical RCU implementation.
[    0.000000]  RCU restricting CPUs from NR_CPUS=64 to nr_cpu_ids=4.
[    0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4
[    0.000000] NR_IRQS:64 nr_irqs:64 0
[    0.000000] GIC: Using split EOI/Deactivate mode
[    0.000000] arch_timer: cp15 timer(s) running at 24.00MHz (phys).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x588fe9dc0, max_idle_ns: 440795202592 ns
[    0.000004] sched_clock: 56 bits at 24MHz, resolution 41ns, wraps every 4398046511097ns
[    0.000295] Console: colour dummy device 80x25
[    0.001042] console [tty0] enabled
[    0.001098] Calibrating delay loop (skipped), value calculated using timer frequency.. 48.00 BogoMIPS (lpj=96000)
[    0.001127] pid_max: default: 32768 minimum: 301
[    0.001198] Security Framework initialized
[    0.001630] Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes)
[    0.003171] Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes)
[    0.004125] Mount-cache hash table entries: 4096 (order: 3, 32768 bytes)
[    0.004149] Mountpoint-cache hash table entries: 4096 (order: 3, 32768 bytes)
[    0.020041] ASID allocator initialised with 65536 entries
[    0.036755] EFI services will not be available.
[    0.052079] smp: Bringing up secondary CPUs ...
[    0.084293] Detected VIPT I-cache on CPU1
[    0.084342] CPU1: Booted secondary processor [410fd034]
[    0.116326] Detected VIPT I-cache on CPU2
[    0.116362] CPU2: Booted secondary processor [410fd034]
[    0.148372] Detected VIPT I-cache on CPU3
[    0.148406] CPU3: Booted secondary processor [410fd034]
[    0.148456] smp: Brought up 1 node, 4 CPUs
[    0.148547] SMP: Total of 4 processors activated.
[    0.148564] CPU features: detected feature: 32-bit EL0 Support
[    0.148583] CPU: All CPU(s) started at EL2
[    0.148609] alternatives: patching kernel code
[    0.149262] devtmpfs: initialized
[    0.152645] DMI not present or invalid.
[    0.152846] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[    0.152913] futex hash table entries: 1024 (order: 5, 131072 bytes)
[    0.156897] pinctrl core: initialized pinctrl subsystem
[    0.158015] NET: Registered protocol family 16
[    0.159557] cpuidle: using governor menu
[    0.160251] vdso: 2 pages (1 code @ ffff0000088e7000, 1 data @ ffff000008d75000)
[    0.160291] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[    0.161205] DMA: preallocated 256 KiB pool for atomic allocations
[    0.161501] Serial: AMBA PL011 UART driver
[    0.174602] HugeTLB registered 2 MB page size, pre-allocated 0 pages
[    0.175497] ACPI: Interpreter disabled.
[    0.176802] vgaarb: loaded
[    0.177042] SCSI subsystem initialized
[    0.177422] usbcore: registered new interface driver usbfs
[    0.177488] usbcore: registered new interface driver hub
[    0.177572] usbcore: registered new device driver usb
[    0.178227] pps_core: LinuxPPS API ver. 1 registered
[    0.178249] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.178287] PTP clock support registered
[    0.178410] dmi: Firmware registration failed.
[    0.178902] Advanced Linux Sound Architecture Driver Initialized.
[    0.179793] clocksource: Switched to clocksource arch_sys_counter
[    0.179942] VFS: Disk quotas dquot_6.6.0
[    0.179998] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[    0.180200] pnp: PnP ACPI: disabled
[    0.185612] NET: Registered protocol family 2
[    0.186056] TCP established hash table entries: 16384 (order: 5, 131072 bytes)
[    0.186254] TCP bind hash table entries: 16384 (order: 6, 262144 bytes)
[    0.186518] TCP: Hash tables configured (established 16384 bind 16384)
[    0.186637] UDP hash table entries: 1024 (order: 3, 32768 bytes)
[    0.186703] UDP-Lite hash table entries: 1024 (order: 3, 32768 bytes)
[    0.186862] NET: Registered protocol family 1
[    0.187161] RPC: Registered named UNIX socket transport module.
[    0.187181] RPC: Registered udp transport module.
[    0.187195] RPC: Registered tcp transport module.
[    0.187208] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.187367] Unpacking initramfs...
[    0.793219] Freeing initrd memory: 13008K
[    0.793939] hw perfevents: enabled with armv8_cortex_a53 PMU driver, 7 counters available
[    0.794182] kvm [1]: 8-bit VMID
[    0.794198] kvm [1]: IDMAP page: 18ca000
[    0.794212] kvm [1]: HYP VA range: 800000000000:ffffffffffff
[    0.794827] kvm [1]: Hyp mode initialized successfully
[    0.794872] kvm [1]: vgic-v2@c4304000
[    0.794945] kvm [1]: vgic interrupt IRQ1
[    0.794968] kvm [1]: virtual timer IRQ4
[    0.796882] audit: initializing netlink subsys (disabled)
[    0.797003] audit: type=2000 audit(0.793:1): state=initialized audit_enabled=0 res=1
[    0.797306] workingset: timestamp_bits=44 max_order=19 bucket_order=0
[    0.803042] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.803596] NFS: Registering the id_resolver key type
[    0.803637] Key type id_resolver registered
[    0.803651] Key type id_legacy registered
[    0.803672] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[    0.803892] 9p: Installing v9fs 9p2000 file system support
[    0.805713] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 247)
[    0.805749] io scheduler noop registered
[    0.805948] io scheduler cfq registered (default)
[    0.805968] io scheduler mq-deadline registered
[    0.805982] io scheduler kyber registered
[    0.811130] of_pwm_get(): PWM chip not found
[    0.814432] xenfs: not registering filesystem on non-xen platform
[    0.817556] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[    0.818903] SuperH (H)SCI(F) driver initialized
[    0.819372] c11084c0.serial: ttyAML1 at MMIO 0xc11084c0 (irq = 10, base_baud = 1500000) is a meson_uart
[    0.819727] c81004c0.serial: ttyAML0 at MMIO 0xc81004c0 (irq = 14, base_baud = 1500000) is a meson_uart
[    1.663592] console [ttyAML0] enabled
[    1.667581] c81004e0.serial: ttyAML2 at MMIO 0xc81004e0 (irq = 15, base_baud = 1500000) is a meson_uart
[    1.676947] msm_serial: driver initialized
[    1.687716] loop: module loaded
[    1.688207] hisi_sas: driver version v1.6
[    1.691177] mdio-mux-mmioreg c883455c.eth-phy-mux: failed to register mdio-mux bus /soc/periphs@c8834000/eth-phy-mux
[    1.700179] libphy: Fixed MDIO Bus: probed
[    1.704085] tun: Universal TUN/TAP device driver, 1.6
[    1.709836] e1000e: Intel(R) PRO/1000 Network Driver - 3.2.6-k
[    1.714504] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
[    1.720425] igb: Intel(R) Gigabit Ethernet Network Driver - version 5.4.0-k
[    1.727262] igb: Copyright (c) 2007-2014 Intel Corporation.
[    1.732837] igbvf: Intel(R) Gigabit Virtual Function Network Driver - version 2.4.0-k
[    1.740542] igbvf: Copyright (c) 2009 - 2012 Intel Corporation.
[    1.746816] sky2: driver version 1.30
[    1.750580] VFIO - User Level meta-driver version: 0.3
[    1.756448] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    1.761594] ehci-pci: EHCI PCI platform driver
[    1.766039] ehci-platform: EHCI generic platform driver
[    1.771358] ehci-orion: EHCI orion driver
[    1.775277] ehci-msm: Qualcomm On-Chip EHCI Host Controller
[    1.780766] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    1.786792] ohci-pci: OHCI PCI platform driver
[    1.791229] ohci-platform: OHCI generic platform driver
[    1.796840] usbcore: registered new interface driver usb-storage
[    1.804151] i2c /dev entries driver
[    1.809245] sdhci: Secure Digital Host Controller Interface driver
[    1.811884] sdhci: Copyright(c) Pierre Ossman
[    1.816618] Synopsys Designware Multimedia Card Interface Driver
[    1.823511] meson-gx-mmc d0072000.mmc: Got CD GPIO
[    1.869256] meson-gx-mmc d0074000.mmc: allocated mmc-pwrseq
[    1.907993] sdhci-pltfm: SDHCI platform and OF driver helper
[    1.909164] of_pwm_get(): PWM chip not found
[    1.913383] leds_pwm pwmleds: unable to request PWM for vim:red:power: -517
[    1.921282] ledtrig-cpu: registered to indicate activity on CPUs
[    1.925572] meson-sm: secure-monitor enabled
[    1.929930] usbcore: registered new interface driver usbhid
[    1.934878] usbhid: USB HID core driver
[    1.938946] platform-mhu c883c404.mailbox: Platform MHU Mailbox registered
[    1.947083] amlogic rfkill init
[    1.948797] enter bt_probe of_node
[    1.951974] not get gpio_en
[    1.954690] power on valid level is high
[    1.954693] bt: power_on_pin_OD = 0;
[    1.962222] BT_RADIO going: on
[    1.965138] BCM_BT: going ON
[    2.096273] meson-gx-mmc d0074000.mmc: (re)tuning...
[    2.096396] mmc1: new HS200 MMC card at address 0001
[    2.100932] mmcblk1: mmc1:0001 AWPD3R 14.6 GiB
[    2.105169] mmcblk1boot0: mmc1:0001 AWPD3R partition 1 4.00 MiB
[    2.115027] mmcblk1boot1: mmc1:0001 AWPD3R partition 2 4.00 MiB
[    2.116869] mmcblk1rpmb: mmc1:0001 AWPD3R partition 3 4.00 MiB
[    2.123413] Enter aml_emmc_partition_ops
[    2.126818] [mmc_read_partition_tbl] mmc read partition OK!
[    2.131928] add_emmc_partition
[    2.135088] [mmcblk1p01]           bootloader  offset 0x000000000000, size 0x000000400000
[    2.143256] [mmcblk1p02]             reserved  offset 0x000002400000, size 0x000004000000
[    2.151452] [mmcblk1p03]                  env  offset 0x000006c00000, size 0x000000800000
[    2.159648] [mmcblk1p04]                 logo  offset 0x000007c00000, size 0x000002000000
[    2.167839] [mmcblk1p05]              ramdisk  offset 0x00000a400000, size 0x000002000000
[    2.176040] [mmcblk1p06]               rootfs  offset 0x00000cc00000, size 0x000397200000
[    2.184127] card key: card_blk_probe.
[    2.187723] emmc_key_init:184 emmc key lba_start:0x12020,lba_end:0x12220
[    2.194374] emmc key: emmc_key_init:206 ok.
[    2.198510] amlmmc_dtb_init: register dtb chardev
[    2.198632] amlmmc_dtb_init: register dtb chardev OK
[    2.203199] Exit aml_emmc_partition_ops OK.
[    2.385034] NET: Registered protocol family 17
[    2.385136] 9pnet: Installing 9P2000 support
[    2.388174] Key type dns_resolver registered
[    2.392989] registered taskstats version 1
[    2.401460] mdio-mux-mmioreg c883455c.eth-phy-mux: failed to register mdio-mux bus /soc/periphs@c8834000/eth-phy-mux
[    2.408452] meson-gx-mmc d0070000.mmc: allocated mmc-pwrseq
[    2.453411] scpi_protocol scpi: SCP Protocol 0.0 Firmware 0.0.0 version
[    2.456757] mdio-mux-mmioreg c883455c.eth-phy-mux: failed to register mdio-mux bus /soc/periphs@c8834000/eth-phy-mux
[    2.468654] hctosys: unable to open rtc device (rtc0)
[    2.470088] ALSA device list:
[    2.472842]   No soundcards found.
[    2.476662] Freeing unused kernel memory: 896K
[    2.481633] mmc2: queuing unknown CIS tuple 0x80 (2 bytes)
[    2.488067] mmc2: queuing unknown CIS tuple 0x80 (3 bytes)
[    2.493478] mmc2: queuing unknown CIS tuple 0x80 (3 bytes)
[    2.500584] mmc2: queuing unknown CIS tuple 0x80 (7 bytes)
[    2.537051] random: systemd-udevd: uninitialized urandom read (16 bytes read)
[    2.539188] random: systemd-udevd: uninitialized urandom read (16 bytes read)
[    2.541763] random: udevadm: uninitialized urandom read (16 bytes read)
[    2.541904] random: udevadm: uninitialized urandom read (16 bytes read)
[    2.543527] random: udevadm: uninitialized urandom read (16 bytes read)
[    2.543900] random: udevadm: uninitialized urandom read (16 bytes read)
[    2.544282] random: udevadm: uninitialized urandom read (16 bytes read)
[    2.544633] random: udevadm: uninitialized urandom read (16 bytes read)
[    2.545091] random: udevadm: uninitialized urandom read (16 bytes read)
[    2.545428] random: udevadm: uninitialized urandom read (16 bytes read)
[    2.576479] random: fast init done
[    2.576650] mmc2: new high speed SDIO card at address 0001
[   12.855971] EXT4-fs (mmcblk1p6): mounted filesystem with writeback data mode. Opts: data=writeback
[   12.994097] systemd[1]: System time before build time, advancing clock.
[   13.014137] systemd[1]: systemd 229 running in system mode. (+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ -LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD -IDN)
[   13.026946] systemd[1]: Detected architecture arm64.
[   13.034383] systemd[1]: Set hostname to <ivnVimPro>.
[   13.168291] systemd[1]: Created slice System Slice.
[   13.169061] systemd[1]: Created slice system-serial\x2dgetty.slice.
[   13.174288] systemd[1]: Listening on Journal Audit Socket.
[   13.179656] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
[   13.187389] systemd[1]: Listening on udev Kernel Socket.
[   13.192671] systemd[1]: Listening on /dev/initctl Compatibility Named Pipe.
[   13.199441] systemd[1]: Reached target Swap.

Ubuntu 16.04.3 LTS ivnVimPro ttyAML0

ivnVimPro login: raxy
Password:
Last login: Thu Feb 11 16:28:19 UTC 2016 on ttyAML0
Welcome to Ubuntu 16.04.3 LTS (GNU/Linux 4.12.0 aarch64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage
raxy@ivnVimPro:~$

I admit not everything works right away :worried:,
but at least we have a working process to produce, test, fix, iterate on mainline (4.12)
and some hope that the process can also be applied (with caution) to any 4.13 release candidate as well.
I consider to publish my toolset soon, if someone is interested enough to test and upgrade it :notes::surfing_man::men_wrestling::seedling:

2 Likes

Publish it please when my Khadas will arrive i want to test it.

1 Like

I admit not everything works right away :worried:,

Ok, 1st annoying issue was ethernet, now it is fixed, after a few additional tweaks to the defconfig file :sweat_smile:
and here is the dmesg trace

Let’s see if there is something looking a bit wrong in it, I can see

[ 0.181379] dmi: Firmware registration failed.
[ 2.529709] ALSA device list:
[ 2.532498] No soundcards found.
[ 13.075288] systemd[1]: System time before build time, advancing clock.

but they seem ok enough for me for now, what do you think, guys ?

1 Like

Next issue to solve :
get the hdmi monitor display the boot trace and then a login prompt (i know, no usb and keyboard support yet in mainline 4.12, but I just get prepared for some future good news)
it does display only a static logo for now;

Can anyone or @numbqq, @Gouwa give me a hint please, tks !

Hi ravelo,

You mean no boot trace and login prompt with 4.12.7/16.04.3 ?

yes Nick,
but i think it is because I removed
CONFIG_FRAMEBUFFER_CONSOLE=y
CONFIG_FB=y
from my defconfig…
I am rebuilding with them now…

for the info, boot trace and login prompt ok on serial console, which was my primary concern

Hi ravelo,

Yes, CONFIG_FRAMEBUFFER_CONSOLE is needed if you want to output message to HDMI screen.

Alas, that changed nothing,
still no boot trace and login prompt on my hdmi monitor :face_with_raised_eyebrow:

sudo /bin/fbset says “no /dev/fb0” !

What is your defconfig? Maybe drm module have not been loaded. Check about CONFIG_DRM,CONFIG_DRM_MESON and CONFIG_DRM_MESON_DW_HDMI. And try modprobe meson-drm to load drm module.

my defconfig for now:

CONFIG_SYSVIPC=y
CONFIG_POSIX_MQUEUE=y
CONFIG_AUDIT=y
CONFIG_NO_HZ_IDLE=y
CONFIG_HIGH_RES_TIMERS=y
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_BSD_PROCESS_ACCT_V3=y
CONFIG_TASKSTATS=y
CONFIG_TASK_DELAY_ACCT=y
CONFIG_TASK_XACCT=y
CONFIG_TASK_IO_ACCOUNTING=y
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_NUMA_BALANCING=y
CONFIG_MEMCG=y
CONFIG_MEMCG_SWAP=y
CONFIG_BLK_CGROUP=y
CONFIG_CGROUP_PIDS=y
CONFIG_CGROUP_HUGETLB=y
CONFIG_CPUSETS=y
CONFIG_CGROUP_DEVICE=y
CONFIG_CGROUP_CPUACCT=y
CONFIG_CGROUP_PERF=y
CONFIG_USER_NS=y
CONFIG_SCHED_AUTOGROUP=y
CONFIG_BLK_DEV_INITRD=y
CONFIG_KALLSYMS_ALL=y
# CONFIG_COMPAT_BRK is not set
CONFIG_PROFILING=y
CONFIG_JUMP_LABEL=y
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
# CONFIG_IOSCHED_DEADLINE is not set
CONFIG_ARCH_MESON=y
CONFIG_PCI=y
CONFIG_PCI_IOV=y
CONFIG_PCI_HISI=y
CONFIG_PCI_HOST_GENERIC=y
CONFIG_PCI_XGENE=y
CONFIG_ARM64_VA_BITS_48=y
CONFIG_SCHED_MC=y
CONFIG_NUMA=y
CONFIG_PREEMPT=y
CONFIG_KSM=y
CONFIG_TRANSPARENT_HUGEPAGE=y
CONFIG_CMA=y
CONFIG_SECCOMP=y
CONFIG_KEXEC=y
CONFIG_CRASH_DUMP=y
CONFIG_XEN=y
# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
CONFIG_COMPAT=y
CONFIG_HIBERNATION=y
CONFIG_ARM_CPUIDLE=y
CONFIG_CPU_FREQ=y
CONFIG_CPUFREQ_DT=y
CONFIG_ARM_BIG_LITTLE_CPUFREQ=y
CONFIG_ARM_SCPI_CPUFREQ=y
CONFIG_NET=y
CONFIG_PACKET=y
CONFIG_UNIX=y
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_PNP=y
CONFIG_IP_PNP_DHCP=y
CONFIG_IP_PNP_BOOTP=y
CONFIG_NETFILTER=y
CONFIG_NF_CONNTRACK=m
CONFIG_NF_CONNTRACK_EVENTS=y
CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
CONFIG_NETFILTER_XT_TARGET_LOG=m
CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
CONFIG_NF_CONNTRACK_IPV4=m
CONFIG_IP_NF_IPTABLES=m
CONFIG_IP_NF_FILTER=m
CONFIG_IP_NF_TARGET_REJECT=m
CONFIG_IP_NF_NAT=m
CONFIG_IP_NF_TARGET_MASQUERADE=m
CONFIG_IP_NF_MANGLE=m
CONFIG_NF_CONNTRACK_IPV6=m
CONFIG_IP6_NF_IPTABLES=m
CONFIG_IP6_NF_FILTER=m
CONFIG_IP6_NF_TARGET_REJECT=m
CONFIG_IP6_NF_MANGLE=m
CONFIG_IP6_NF_NAT=m
CONFIG_IP6_NF_TARGET_MASQUERADE=m
CONFIG_BRIDGE=m
CONFIG_BRIDGE_VLAN_FILTERING=y
CONFIG_VLAN_8021Q=m
CONFIG_VLAN_8021Q_GVRP=y
CONFIG_VLAN_8021Q_MVRP=y
CONFIG_BPF_JIT=y
CONFIG_BT=m
CONFIG_BT_HIDP=m
# CONFIG_BT_HS is not set
# CONFIG_BT_LE is not set
CONFIG_BT_LEDS=y
# CONFIG_BT_DEBUGFS is not set
CONFIG_BT_HCIUART=m
CONFIG_BT_HCIUART_LL=y
CONFIG_CFG80211=m
CONFIG_MAC80211=m
CONFIG_MAC80211_LEDS=y
CONFIG_NET_9P=y
CONFIG_RFKILL=y
CONFIG_NET_9P_VIRTIO=y
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
CONFIG_DMA_CMA=y
CONFIG_MTD=y
CONFIG_MTD_BLOCK=y
CONFIG_MTD_M25P80=y
CONFIG_MTD_NAND=y
CONFIG_MTD_NAND_DENALI_DT=y
CONFIG_MTD_SPI_NOR=y
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_NBD=m
CONFIG_VIRTIO_BLK=y
CONFIG_SRAM=y
CONFIG_EEPROM_AT25=m
# CONFIG_SCSI_PROC_FS is not set
CONFIG_BLK_DEV_SD=y
CONFIG_SCSI_SAS_ATA=y
CONFIG_SCSI_HISI_SAS=y
CONFIG_ATA=y
CONFIG_SATA_AHCI=y
CONFIG_SATA_AHCI_PLATFORM=y
CONFIG_AHCI_CEVA=y
CONFIG_AHCI_XGENE=y
CONFIG_AHCI_QORIQ=y
CONFIG_SATA_SIL24=y
CONFIG_PATA_PLATFORM=y
CONFIG_PATA_OF_PLATFORM=y
CONFIG_NETDEVICES=y
CONFIG_MACVLAN=m
CONFIG_MACVTAP=m
CONFIG_TUN=y
CONFIG_VETH=m
CONFIG_VIRTIO_NET=y
CONFIG_AMD_XGBE=y
CONFIG_MACB=y
CONFIG_HNS_DSAF=y
CONFIG_HNS_ENET=y
CONFIG_E1000E=y
CONFIG_IGB=y
CONFIG_IGBVF=y
CONFIG_SKY2=y
CONFIG_SMC91X=y
CONFIG_SMSC911X=y
CONFIG_MDIO_BUS_MUX_MMIOREG=y
CONFIG_STMMAC_ETH=y
CONFIG_MICREL_PHY=y
CONFIG_MESON_GXL_PHY=y
CONFIG_USB_PEGASUS=m
CONFIG_REALTEK_PHY=y
CONFIG_USB_RTL8150=m
CONFIG_USB_RTL8152=m
CONFIG_USB_USBNET=m
CONFIG_USB_NET_DM9601=m
CONFIG_USB_NET_SR9800=m
CONFIG_USB_NET_SMSC75XX=m
CONFIG_USB_NET_SMSC95XX=m
CONFIG_USB_NET_PLUSB=m
CONFIG_USB_NET_MCS7830=m
CONFIG_BRCMFMAC=m
CONFIG_BRCM_TRACING=y
CONFIG_BRCMDBG=y
CONFIG_ARCH_BRCMSTB=y
CONFIG_AMLOGIC_DRIVER=y
CONFIG_AMLOGIC_MODIFY=y
CONFIG_AMLOGIC_IOMAP=y
CONFIG_AMLOGIC_MMC=y
CONFIG_AMLOGIC_BT_DEVICE=y
CONFIG_REGULATOR=y
CONFIG_SND_SIMPLE_CARD=y
CONFIG_TMPFS=y
CONFIG_PHY_BRCM_SATA=y
CONFIG_PHY_SAMSUNG_USB2=y
CONFIG_BRIDGE_NETFILTER=y
CONFIG_VEXPRESS_CONFIG=y
CONFIG_MVMDIO=y
CONFIG_MDIO_BITBANG=y
CONFIG_I2C_SLAVE=y
CONFIG_SPI_BCM_QSPI=y
CONFIG_POWER_RESET_VEXPRESS=y
CONFIG_DRM_I2C_CH7006=m
CONFIG_DRM_I2C_SIL164=m
CONFIG_COMMON_CLK_VERSATILE=y
CONFIG_CLK_SP810=y
CONFIG_CLK_VEXPRESS_OSC=y
CONFIG_ARM_TIMER_SP804=y
CONFIG_MAILBOX=y
CONFIG_BCM_FLEXRM_MBOX=y
CONFIG_CRYPTO_AES_ARM64_CE_BLK=y
CONFIG_CRYPTO_AES_ARM64_CE_CCM=y
CONFIG_CRYPTO_GHASH_ARM64_CE=y
CONFIG_CRYPTO_SHA1_ARM64_CE=y
CONFIG_CRYPTO_SHA2_ARM64_CE=y
CONFIG_BT_RFCOMM_TTY=y
CONFIG_BT_RFCOMM=y
CONFIG_BT_HCIUART_H4=y
CONFIG_BT_BNEP_MC_FILTER=y
CONFIG_BT_BNEP_PROTO_FILTER=y
CONFIG_BT_BNEP=y
CONFIG_ARM64_CRYPTO=y
CONFIG_INPUT_EVDEV=y
CONFIG_KEYBOARD_ADC=m
CONFIG_KEYBOARD_CROS_EC=y
CONFIG_KEYBOARD_GPIO=y
CONFIG_INPUT_MISC=y
# CONFIG_SERIO_SERPORT is not set
CONFIG_SERIO_AMBAKMI=y
CONFIG_LEGACY_PTY_COUNT=16
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_EXTENDED=y
CONFIG_SERIAL_8250_SHARE_IRQ=y
CONFIG_SERIAL_8250_DW=y
CONFIG_SERIAL_OF_PLATFORM=y
CONFIG_SERIAL_AMBA_PL011=y
CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
CONFIG_SERIAL_MESON=y
CONFIG_SERIAL_MESON_CONSOLE=y
CONFIG_SERIAL_XILINX_PS_UART=y
CONFIG_SERIAL_XILINX_PS_UART_CONSOLE=y
CONFIG_VIRTIO_CONSOLE=y
CONFIG_I2C_CHARDEV=y
CONFIG_I2C_MUX_PCA954x=y
CONFIG_I2C_DESIGNWARE_PLATFORM=y
CONFIG_I2C_MESON=y
CONFIG_I2C_RK3X=y
CONFIG_I2C_CROS_EC_TUNNEL=y
CONFIG_SPI=y
CONFIG_SPI_MESON_SPIFC=m
CONFIG_SPI_PL022=y
CONFIG_SPI_ROCKCHIP=y
CONFIG_SPI_SPIDEV=m
CONFIG_SPMI=y
CONFIG_PINCTRL_SINGLE=y
CONFIG_PINCTRL_MAX77620=y
CONFIG_GPIO_DWAPB=y
CONFIG_GPIO_PL061=y
CONFIG_GPIO_XGENE=y
CONFIG_GPIO_PCA953X=y
CONFIG_GPIO_PCA953X_IRQ=y
CONFIG_GPIO_MAX77620=y
CONFIG_POWER_RESET_XGENE=y
CONFIG_POWER_RESET_SYSCON=y
CONFIG_BATTERY_BQ27XXX=y
CONFIG_SENSORS_ARM_SCPI=y
CONFIG_SENSORS_LM90=m
CONFIG_SENSORS_INA2XX=m
CONFIG_THERMAL_GOV_POWER_ALLOCATOR=y
CONFIG_CPU_THERMAL=y
CONFIG_THERMAL_EMULATION=y
CONFIG_WATCHDOG=y
CONFIG_MESON_GXBB_WATCHDOG=m
CONFIG_MESON_WATCHDOG=m
CONFIG_MFD_CROS_EC=y
CONFIG_MFD_CROS_EC_I2C=y
CONFIG_MFD_CROS_EC_SPI=y
CONFIG_MFD_MAX77620=y
CONFIG_MFD_RK808=y
CONFIG_MFD_SEC_CORE=y
CONFIG_REGULATOR_FAN53555=y
CONFIG_REGULATOR_FIXED_VOLTAGE=y
CONFIG_REGULATOR_GPIO=y
CONFIG_REGULATOR_MAX77620=y
CONFIG_REGULATOR_PWM=y
CONFIG_REGULATOR_QCOM_SPMI=y
CONFIG_REGULATOR_RK808=y
CONFIG_REGULATOR_S2MPS11=y
CONFIG_MEDIA_SUPPORT=m
CONFIG_MEDIA_CAMERA_SUPPORT=y
CONFIG_MEDIA_ANALOG_TV_SUPPORT=y
CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y
CONFIG_MEDIA_CONTROLLER=y
CONFIG_VIDEO_V4L2_SUBDEV_API=y
# CONFIG_DVB_NET is not set
CONFIG_V4L_MEM2MEM_DRIVERS=y
CONFIG_DRM=m
# CONFIG_DRM_EXYNOS_DP is not set
CONFIG_DRM_I2C_ADV7511=m
CONFIG_DRM_MESON=m
CONFIG_FB=y
CONFIG_FB_ARMCLCD=y
CONFIG_FRAMEBUFFER_CONSOLE=y
CONFIG_LOGO=y
# CONFIG_LOGO_LINUX_MONO is not set
# CONFIG_LOGO_LINUX_VGA16 is not set
CONFIG_SOUND=y
CONFIG_SND=y
CONFIG_SND_SOC=y
CONFIG_SND_SOC_AK4613=y
CONFIG_USB=y
CONFIG_USB_OTG=y
CONFIG_USB_XHCI_HCD=y
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_EHCI_HCD_PLATFORM=y
CONFIG_USB_OHCI_HCD=y
CONFIG_USB_OHCI_HCD_PLATFORM=y
CONFIG_USB_STORAGE=y
CONFIG_USB_DWC3=y
CONFIG_USB_DWC2=y
CONFIG_USB_CHIPIDEA=y
CONFIG_USB_CHIPIDEA_UDC=y
CONFIG_USB_CHIPIDEA_HOST=y
CONFIG_USB_ISP1760=y
CONFIG_USB_HSIC_USB3503=y
CONFIG_USB_ULPI=y
CONFIG_USB_GADGET=y
CONFIG_MMC=y
CONFIG_MMC_BLOCK_MINORS=32
CONFIG_MMC_ARMMMCI=y
CONFIG_MMC_SDHCI=y
CONFIG_MMC_SDHCI_ACPI=y
CONFIG_MMC_SDHCI_PLTFM=y
CONFIG_MMC_SDHCI_OF_ARASAN=y
CONFIG_MMC_SDHCI_CADENCE=y
CONFIG_MMC_MESON_GX=y
CONFIG_MMC_SPI=y
CONFIG_MMC_DW=y
CONFIG_MMC_DW_EXYNOS=y
CONFIG_MMC_DW_K3=y
CONFIG_MMC_SDHCI_XENON=y
CONFIG_NEW_LEDS=y
CONFIG_LEDS_CLASS=y
CONFIG_LEDS_GPIO=y
CONFIG_LEDS_PWM=y
CONFIG_LEDS_SYSCON=y
CONFIG_LEDS_TRIGGER_HEARTBEAT=y
CONFIG_LEDS_TRIGGER_CPU=y
CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
CONFIG_RTC_CLASS=y
CONFIG_RTC_DRV_MAX77686=y
CONFIG_RTC_DRV_RK808=m
CONFIG_RTC_DRV_S5M=y
CONFIG_RTC_DRV_DS3232=y
CONFIG_RTC_DRV_EFI=y
CONFIG_RTC_DRV_PL031=y
CONFIG_DMADEVICES=y
CONFIG_MV_XOR_V2=y
CONFIG_PL330_DMA=y
CONFIG_QCOM_HIDMA_MGMT=y
CONFIG_QCOM_HIDMA=y
CONFIG_VFIO=y
CONFIG_VFIO_PCI=y
CONFIG_VIRTIO_PCI=y
CONFIG_VIRTIO_BALLOON=y
CONFIG_VIRTIO_MMIO=y
CONFIG_XEN_GNTDEV=y
CONFIG_XEN_GRANT_DEV_ALLOC=y
CONFIG_COMMON_CLK_RK808=y
CONFIG_COMMON_CLK_SCPI=y
CONFIG_COMMON_CLK_CS2000_CP=y
CONFIG_COMMON_CLK_S2MPS11=y
CONFIG_CLK_QORIQ=y
CONFIG_COMMON_CLK_PWM=y
CONFIG_ARM_MHU=y
CONFIG_PLATFORM_MHU=y
CONFIG_ARM_SMMU=y
CONFIG_ARM_SMMU_V3=y
CONFIG_EXTCON_USB_GPIO=y
CONFIG_IIO=y
CONFIG_PWM=y
CONFIG_PWM_CROS_EC=m
CONFIG_PHY_XGENE=y
CONFIG_PWM_MESON=y
CONFIG_ARM_SCPI_PROTOCOL=y
CONFIG_ACPI=y
CONFIG_EXT2_FS=y
CONFIG_EXT3_FS=y
CONFIG_EXT4_FS_POSIX_ACL=y
CONFIG_BTRFS_FS=m
CONFIG_BTRFS_FS_POSIX_ACL=y
CONFIG_FANOTIFY=y
CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y
CONFIG_QUOTA=y
CONFIG_AUTOFS4_FS=y
CONFIG_FUSE_FS=m
CONFIG_CUSE=m
CONFIG_OVERLAY_FS=m
CONFIG_VFAT_FS=y
CONFIG_HUGETLBFS=y
CONFIG_CONFIGFS_FS=y
CONFIG_EFIVAR_FS=y
CONFIG_SQUASHFS=y
CONFIG_NFS_FS=y
CONFIG_NFS_V4=y
CONFIG_NFS_V4_1=y
CONFIG_NFS_V4_2=y
CONFIG_ROOT_NFS=y
CONFIG_9P_FS=y
CONFIG_NLS_CODEPAGE_437=y
CONFIG_NLS_ISO8859_1=y
CONFIG_VIRTUALIZATION=y
CONFIG_KVM=y
CONFIG_PRINTK_TIME=y
CONFIG_DEBUG_INFO=y
CONFIG_DEBUG_FS=y
CONFIG_MAGIC_SYSRQ=y
CONFIG_DEBUG_KERNEL=y
CONFIG_LOCKUP_DETECTOR=y
# CONFIG_SCHED_DEBUG is not set
# CONFIG_DEBUG_PREEMPT is not set
# CONFIG_FTRACE is not set
CONFIG_MEMTEST=y
CONFIG_SECURITY=y
CONFIG_CRYPTO_ECHAINIV=y
CONFIG_CRYPTO_ANSI_CPRNG=y
CONFIG_ARM64_CRYPTO=y
CONFIG_CRYPTO_SHA1_ARM64_CE=y
CONFIG_CRYPTO_SHA2_ARM64_CE=y
CONFIG_CRYPTO_GHASH_ARM64_CE=y
CONFIG_CRYPTO_AES_ARM64_CE_CCM=y
CONFIG_CRYPTO_AES_ARM64_CE_BLK=y

CONFIG_DRM_MESON_DW_HDMI is missing :angry:, I’ll add it…

If drm load successfully you may find this:

[    1.514473] meson-drm d0100000.vpu: Queued 2 outputs on vpu
[    1.519473] meson-drm d0100000.vpu: Failed to create debugfs directory
[    1.525435] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[    1.531964] [drm] No driver support for vblank timestamp query.
[    1.537904] meson-drm d0100000.vpu: CVBS Output connector not available
[    1.568930] meson-dw-hdmi c883a000.hdmi-tx: Detected HDMI TX controller v2.01a with HDCP (meson_dw_hdmi_phy)
[    1.573346] meson-dw-hdmi c883a000.hdmi-tx: registered DesignWare HDMI I2C bus driver
[    1.581056] meson-drm d0100000.vpu: bound c883a000.hdmi-tx (ops meson_dw_hdmi_ops)
[    1.694487] random: fast init done
[    1.903062] Console: switching to colour frame buffer device 240x67
[    1.935644] meson-drm d0100000.vpu: fb0:  frame buffer device
[    1.941697] [drm] Initialized meson 1.0.0 20161109 for d0100000.vpu on minor 0

not there yet,
I did not build it as module,
CONFIG_DRM_MESON_DW_HDMI=y

and no meson-drm at all in dmesg for now

is it mandatory to build it as a module (CONFIG_DRM_MESON_DW_HDMI=m) ?

tks Nick

I have another problem,
rc.local never runs when expected (ie , at boot time) on 4.12.7/16.04.3

even after a sudo systemctl enable rc-local.service
and a reboot

Anyway, it seems that ubuntu now pushes us to use system 5 style init.d to start things at boot time, so let’s see if it works…

But this is confusing :

root@ivnVimPro:~# runlevel
N 5
root@ivnVimPro:~# ls -l /etc/rc5.d/*local
lrwxrwxrwx 1 root root 18 Aug  8 06:52 /etc/rc5.d/S03rc.local -> ../init.d/rc.local

and /etc/init.d/rc.local contains code to start /etc/rc.local and prints traces I do not see in dmesg!
weird :hushed:

so, I did like they say here

but still no trace in dmesg after reboot !

although it does not run, my test script seems activated and enabled…

raxy@ivnVimPro:~$ sudo systemctl is-enabled raxy-init
raxy-init.service is not a native service, redirecting to systemd-sysv-install
Executing /lib/systemd/systemd-sysv-install is-enabled raxy-init
enabled
raxy@ivnVimPro:~$ sudo systemctl is-active raxy-init
active

yet another problem : incoming ssh sessions being refused
solution : liberate a few sources in /var/apt/sources/list
sudo apt-get update
sudo apt-get install openssh-server -y
check that daemon runs with…
ps -ef|grep sshd

and enjoy opening multiple ssh sessions/windows to the VIM in addition to the very basic usb-serial console solution !!

For reference, and while I prepare to publish them properly in github,
here is the tool I actually use for building my kernels and ubuntu distros: 1.2.3.Run.sh
it calls this other file 99.ChrootScript.sh
and a few others that are static and a bit dumber.

Feel free to have a look and comment or ask questions
tks

What about CONFIG_DRM and CONFIG_DRM_MESON? Try to build all of them in.

i did
CONFIG_DRM=m
CONFIG_DRM_MESON=m
CONFIG_DRM_MESON_DW_HDMI=y
but i only get my full screen logo on the hdmi display for now

and here are the diffs between your sorted config (right) and my sorted config (left)

Try to build all of them in kernel first.

CONFIG_DRM=y
CONFIG_DRM_MESON=y
CONFIG_DRM_MESON_DW_HDMI=y
1 Like

ok, thank you
xxxxxxxxxxxxxxxxxx

edit : I did as you said and it now works ! (hdmi boot messages and login prompt)