summary refs log tree commit diff stats
path: root/results/classifier/gemma3:12b/boot/1825207
diff options
context:
space:
mode:
Diffstat (limited to 'results/classifier/gemma3:12b/boot/1825207')
-rw-r--r--results/classifier/gemma3:12b/boot/182520726
1 files changed, 26 insertions, 0 deletions
diff --git a/results/classifier/gemma3:12b/boot/1825207 b/results/classifier/gemma3:12b/boot/1825207
new file mode 100644
index 00000000..2e54b96c
--- /dev/null
+++ b/results/classifier/gemma3:12b/boot/1825207
@@ -0,0 +1,26 @@
+
+fw_cfg_machine_reset destroys user bootorder setting
+
+Demonstrated against 2.11 (ubuntu bionic 1:2.11+dfsg-1ubuntu7.12) and 3.1 (as built under bionic from the 1:3.1+dfsg-2ubuntu3 source package) although the code hasn't changed between them and github master also appears to have this same code branch.
+
+What I was trying to do: select a boot disk using `-fw_cfg name=bootorder,string=/pci@i0cf8/*@6` based on the qemu and seabios documentation.  (Why do I want to do that? using qemu for installer testing for a specific kind of real machine and need to match the bios boot order.)
+
+What happened instead: same search-based boot order that I get without that option.  Also, /sys/firmware/qemu_fw_cfg/by_name/bootorder/raw is empty and .../size is "0".
+
+Brutal work around that did a useful thing: 
+
+--- qemu-3.1+dfsg.orig/hw/nvram/fw_cfg.c
++++ qemu-3.1+dfsg/hw/nvram/fw_cfg.c
+@@ -869,8 +869,10 @@ static void fw_cfg_machine_reset(void *o
+     FWCfgState *s = opaque;
+     char *bootindex = get_boot_devices_list(&len);
+ 
++#if 0
+     ptr = fw_cfg_modify_file(s, "bootorder", (uint8_t *)bootindex, len);
+     g_free(ptr);
++#endif
+ }
+
+This change allowed the boot to work (so my bootorder setting was making it to seabios) and also showed up explicitly in /sys/firmware/qemu_fw_cfg.
+
+I don't know if fw_cfg_modify_file is intended to append rather than replace, but it doesn't; based on the seabios "Runtime_config" docs which suggest "look at the Searching bootorder for output and paste that into the bootorder file" I'd instead just have it only fill in bootorder if there's *no* existing setting, since a user can read out the defaults and copy them in as described if they want the fallback, but that's just from my interpretation of the docs.
\ No newline at end of file