Open JoseGoncalves opened 4 years ago
@JoseGoncalves correct, this was a design choice to minimize final disk space, when supporting "fat" images:
For a long time, (pre Debian Images for BeagleBoard.org), I've shipped my own fat images:
https://elinux.org/BeagleBoardDebian#Demo_Image
2020-03-12
BeagleBoard xM: v5.4.24-armv7-x20 kernel
All BeagleBone Variants and PocketBeagle: v4.19.94-ti-r36 kernel
BeagleBoard-X15 (and BeagleBone AI): v4.19.94-ti-r36 kernel
This image has 2 kernel's installed by default.
Regards,
@RobertCNelson don't quite understand what you called a design choice.
From my point of view, when a user has a rootfs in an SD card and runs a script whose purpose is to flash it into eMMC, he would expect to have in the eMMC an exact copy of what was in the memory card.
If, for some reason, a user wants to trim that image he should remove the unwanted bits before script execution.
In a second look I understood your point. You had previously images that supported multiple boards, i.e., with kernels for different boards, that would not make sense to burn on a board's flash were it would be useless.
We could add a flag to /boot/SOC.sh as we've done this before for ssh regeneration..
I'd expect the current default state to be the same, but with a new flag it could do your requirement.. Something like:
flasher_copy_all_kernel=enable
Regards,
@RobertCNelson Thanks, that will work for me.
A better option, without using extra flags, but which involves more changes/work in your build process, would be to add some board specific suffix in all your kernel image names, that would identify kernels for specific boards. In the flasher script you would use that suffix to only burn images built for the board were you are running it.
We do that today...
"Board Specific Suffix" = aka the kernel it's actually running. ;)
What you really meant get's a little messy..
https://github.com/RobertCNelson/omap-image-builder/blob/master/tools/setup_sdcard.sh#L936-L1035
But user are free to install what ever they want or build what they want, so any automatic detection can fail.. Best to just use the kernel that it booted..
Regards,
The flasher scripts are only flashing the running kernel modules. In the scenario when a user is experimenting with more that one kernel build, it does not copy the extra modules folder(s) in
/lib/modules
.An easy fix is, in the
_copy_rootfs()
function, to remove/lib/modules/*
from the firstrsync
exclusions and remove the whole==> Copying: Kernel modules
section.