Hi, with help and suggestions from Mark, I finally managed to get our Letux kernel compile and boot on the Raspi3B+.
There were small config issues especially with the UART and that was the reason why I did not see anything on the console during my first attempts last year.
Finding out the configs was difficult... As a first step I compiled the source tree v4.20.y I did find on the github repo using their config. This did boot with console!
With that I was able to compare the CONFIG options with our letux_defconfig. After fighting with Kconfig (which treats lines with "# CONFIG_xxx is not set" not as comments but a config change), I finally had boiled it down to ca. 30 modified settings.
After applying them on top of letux_defconfig I got the v4.20.y tree boot.
And interestingly our letux-4.20 tree as well:
[ 0.000000] Booting Linux on physical CPU 0x0 [ 0.000000] Linux version 4.20.0-letux-raspi+ (hns@iMac.fritz.box) (gcc version 4.9.2 (GCC)) #3154 SMP PREEMPT Fri Jan 4 12:55:54 CET 2019 [ 0.000000] CPU: ARMv7 Processor [410fd034] revision 4 (ARMv7), cr=10c5383d [ 0.000000] CPU: div instructions available: patching division code [ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache [ 0.000000] OF: fdt: Machine model: Raspberry Pi 3 Model B Plus Rev 1.3 [ 0.000000] printk: debug: ignoring loglevel setting. [ 0.000000] Memory policy: Data cache writealloc [ 0.000000] cma: Failed to reserve 256 MiB [ 0.000000] On node 0 totalpages: 242688 [ 0.000000] Normal zone: 1536 pages used for memmap [ 0.000000] Normal zone: 0 pages reserved [ 0.000000] Normal zone: 196608 pages, LIFO batch:63 [ 0.000000] HighMem zone: 46080 pages, LIFO batch:15 [ 0.000000] random: get_random_bytes called from start_kernel+0x80/0x470 with crng_init=0 [ 0.000000] percpu: Embedded 17 pages/cpu @(ptrval) s40320 r8192 d21120 u69632 [ 0.000000] pcpu-alloc: s40320 r8192 d21120 u69632 alloc=17*4096 [ 0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3 [ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 241152 [ 0.000000] Kernel command line: 8250.nr_uarts=1 bcm2708_fb.fbwidth=656 bcm2708_fb.fbheight=416 bcm2708_fb.fbswap=1 vc_mem.mem_base=0x3ec00000 vc_mem.mem_size=0x40000000 dwc_otg.lpm_enable=0 console=ttyS0,115200 root=/dev/mmcblk0p2 rw rootfstype=ext4 elevator=deadline cma=256M@512M fsck.repair=yes rootwait splash plymouth.ignore-serial-consoles console=ttyS0,115200 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait log_buf_len=8M ignore_loglevel earlyprintk [ 0.000000] printk: log_buf_len: 8388608 bytes [ 0.000000] printk: early log buf free: 63716(97%) [ 0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes) [ 0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes) [ 0.000000] Memory: 941468K/970752K available (7115K kernel code, 677K rwdata, 1920K rodata, 1024K init, 354K bss, 29284K reserved, 0K cma-reserved, 184320K highmem)
...
letux login: root Password: Last login: Thu Jan 1 00:00:25 UTC 1970 on console Linux letux 4.20.0-letux-raspi+ #3154 SMP PREEMPT Fri Jan 4 12:55:54 CET 2019 armv7l
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.
root@letux:~# ifconfig lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:512 errors:0 dropped:0 overruns:0 frame:0 TX packets:512 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:41472 (40.5 KiB) TX bytes:41472 (40.5 KiB)
root@letux:~# lsusb unable to initialize libusb: -99 root@letux:~# aplay -l **** List of PLAYBACK Hardware Devices **** card 0: ALSA [bcm2835 ALSA], device 0: bcm2835 ALSA [bcm2835 ALSA] Subdevices: 7/7 Subdevice #0: subdevice #0 Subdevice #1: subdevice #1 Subdevice #2: subdevice #2 Subdevice #3: subdevice #3 Subdevice #4: subdevice #4 Subdevice #5: subdevice #5 Subdevice #6: subdevice #6 card 0: ALSA [bcm2835 ALSA], device 1: bcm2835 IEC958/HDMI [bcm2835 IEC958/HDMI] Subdevices: 1/1 Subdevice #0: subdevice #0 root@letux:~# ls -l /dev/fb* ls: cannot access /dev/fb*: No such file or directory root@letux:~#
Not working are WLAN, Bluetooth, USB, Ethernet and most likely HDMI (I have not found a /dev/fb). Sound seems to exist but I have not tested anything.
Based on that version I have updated the letux_defconfig that will be included in letux-4.21-rc1 (expected for Monday).
So please prepare that we may see unexpected side-effects...
BR, Nikolaus
PS: it will become interesting to combine letux-phosh with the letux-kernel for raspi...