Hi.
I'm building a customized OpenWRT for my router (master branch with test kernel). I started from scratch; I didn't start from the default config.
I want to discuss a few things about the kernel support for hardware.
-
Marvell Armada XP contains a hardware RTC. I would be useful to remember the time after a reboot, especially if internet is down. (On the previous router, I used a script to auto-reboot the router if the internet was down, just in case it was the router's fault.)
In "make kernel_menuconfig" I selected both Marvell RTCs, but none of them work. Hardware RTC remains unavailable. Is it really not supported, or devicetree mislabeled it? -
Enabling PCI Express various options doesn't make any difference. Power management would be nice, I think.
-
There is a marvell-cesa hardware crypto device. Appears to work. Does OpenWRT use it for anything? Accelerated OpenSSL? OpenVPN? Wireguard?
-
There are two XOR devices. Are they used for anything?
-
Should I enable power management in kernel?
-
cpu-idle is marked as broken in devicetree. Why not remove it completely from the kernel?
-
Look at the kernel boot parameters. Console parameter appears twice, identical, but with no separating space in between. The error might be in this patch: 300-mvebu-Mangle-bootloader-s-kernel-arguments.patch, but my C/C++ isn't good enough. Please have a look.
-
While I tested various kernel options, I wrote a loooong boooring text document with all the options working and not working and what they do. Should I post it here? Anyone interested?
-
Ethernet MAC address is random??
-
There's a 32KB SPI flash/nand/nor/something... What is that?
-
Not strictly related to kernel, but more about partitions. I remember a long time ago, when I had a 8/32 MB router, that "partitions" didn't exist. Both OpenWRT and DD-WRT would write kernel+rootfs while upgrading and on first boot it would "measure" the remaining space after root (squashfs) and format it as jffs / overlay. There were no problems with kernel size too big, partition size, etc. Why was this changed? It seems a lot more simple.
Thanks.