loboris wrote: ↑
Wed Apr 28, 2021 2:56 pm
You've posted a lot of questions, I don't have the time to answer in more detailes now, here are just a short notes.
Mate is a Desktop Environment and lightdm is a display manager, they cannot be compared.
There are some simple ways to run Chromium in kiosk mode, I've done it long time ago on RPi 1. You don't need to install any desktop environment. There are quite a few guides on Internet, search... (example
This image uses the standard RPi kernel, there is no initramfs (and it is not needed).
There is no u-boot also as it is not needed.
For overclock just uncomment in config.txt, notthing else is needed.
Do not do things you are not absolutelly sure are needed.
Thanks, TL/DR is in bold below.
I am not familiar with MATE to know whitch part of the X stack it was in; openbox/lightdm is perfect for my setup. Getting Chromium running in Kiosk mode is no problem, I didn't need any help setting this up as we were already doing it with Pi4B - was only working towards getting the boot times for running kiosk mode as low as possible.
My main remaining issues:
1. Without initramfs, how am I able to get plymouth running for boot screens?
Normally it's triggered there in Canoncial's release, I believe.. Should I just try to trigger it as early as possible in systemd maybe? Does the standard build use bootscreens/plymouth, if so how's it setup? The default installed config isn't working as like I said I believe it's triggered earlier than systemd ..?
2. Can you please update your Chromium build to version 90+? thanks
3. I'd like to be able to strip & rebuild the kernel
if you can help, I believe your post mentioned that the sources are pre-installed, not sure if this is still the case for minimal..do you have any config/prep scripts for it with your boot process being a bit different?
Out of curiosity, why is u-boot not needed? canoncial's release uses u-boot and I had to modify it to get rid of any boot delays and prevent it from using the UART. I'm not as immediately familiar with the booting process on arm or why u-boot was used if it wasn't needed. I haven't actually tested but it seems like this minimal install is taking more time to init the kernel than the Canoncial release with u-boot set for no delay; but this is an empirical feeling and also comparing pi4b (canoncial/uboot) vs cm4 (your minimal)
I've gotten the boot time down to 24s from sudo reboot to Chromium ready, 22s from power on to Chromium ready and 12s from kernel init to Chromium ready. This means half of my boot time is spent in the boot loader/prekernel.
So, in seeking the best boot times I'm trying to trim the entire boot process as much as possible. With your image helping quite a bit (simply due to it already being minimal and not having to remove a ton of stuff) I think if I can trim the kernel a bit more, remove any possible boot loader delays (u-boot added 2s by default until it was configured).
Plymouth may not even be useful with such low boot times but a blank screen isn't great UX; would need Plymouth starting super early, I don't mind even stalling for 2-3 sec to show the screen but only if I can lower the pre-kernel/bootloader time as this just shows a blank screen - which makes me wonder more about the boot process here as if compiling in a boot screen to a boot loader is possible, that might be a good option, just like on a standard system you might see GRUB show a graphic until Plymouth takes over.
The first 3 lines or so of kernel text also spill onto the console even with trying to set the console to tty2 in the kernel cmdline. This will be built into a product and I want it to boot cleanly into the app without showing any kernel text or anything. Ideally, ON->BOOT SCREEN->APP, just like an Android tablet or something.
Perhaps providing build instructions for the image would help a lot of people with further customization. Personally I haven't rolled my own distro since like 2008 and a lot has changed since then. I haven't even needed to manually compile a kernel in probably just as long, which, while making me rusty on the deeper side, bodes well for Linux in general.