On 10/17/19 10:13 AM, Fabian Grünbichler wrote: > On October 17, 2019 7:45 am, Thomas Lamprecht wrote: >> On 10/16/19 1:17 PM, Oguz Bektas wrote: >>> if we fallback to /proc/cmdline, it can include the booted initrd. >>> >>> to avoid loader entries with initrd 'options' lines, we have to parse >>> them out. >>> >>> Signed-off-by: Oguz Bektas <o.bek...@proxmox.com> >>> --- >>> >>> v2->v3: >>> * match forward slashes >>> * match underscore >>> * match zero or more whitespace at the end >>> >>> efiboot/zz-pve-efiboot | 3 ++- >>> 1 file changed, 2 insertions(+), 1 deletion(-) >>> >>> diff --git a/efiboot/zz-pve-efiboot b/efiboot/zz-pve-efiboot >>> index 4756555..8771da9 100755 >>> --- a/efiboot/zz-pve-efiboot >>> +++ b/efiboot/zz-pve-efiboot >>> @@ -50,7 +50,8 @@ update_esps() { >>> CMDLINE="$(cat /etc/kernel/cmdline)" >>> else >>> warn "No /etc/kernel/cmdline found - falling back to >>> /proc/cmdline" >>> - CMDLINE="$(cat /proc/cmdline)" >>> + # remove initrd entries >>> + CMDLINE="$(awk '{gsub(/\yinitrd=([0-9a-zA-Z\/\\._-])*\s*/,x)}1' >>> /proc/cmdline)" >> >> applied, but fixed up a few things, mostly style-wise so IMO no need for a >> v4: >> * add some spaces for separation, increasing readability >> * do not use the non-existent variable x as replacement, but an actual >> empty string "" >> * don't use the "truth-y action" at end to make awk print the line ($0) >> but explicitly print $0 after the gsub, makes it easier to get for >> people with not much awk background ;) >> >> thanks! > > a bit late to the party unfortunately, but AFAICT it's also valid to > have quoted parameter values with spaces inside - maybe it's worth a > follow-up? not relevant for our generated ones, but maybe for manually > built/added kernels.. >
yeah, thought about that too, but initrd= should /normally/ not have them, and if really something like: > foo="bla bla initrd=oh-no-why" comes along we need to either step up our awk game or use something different, maybe bison ;) > also not sure whether plain ascii alpha-numeric is the proper choice for > characters. we can also leave it as is until somebody reports actually > running into either issue though ;) > >> >>> fi >>> >>> loop_esp_list update_esp_func >>> _______________________________________________ pve-devel mailing list pve-devel@pve.proxmox.com https://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel