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(a)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...