LIVE UPDATE ORCHESTRATOR ABI(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

Live Update Orchestrator ABI πŸ’…

okay so this is the Kernel API Manual, section 9, and we’re talking about the Live Update Orchestrator ABI. Live Update Orchestrator uses the stable Application Binary Interface defined below to pass state from a pre-update kernel to a post-update kernel. ✨ The ABI is built on the Kexec HandOver framework and registers the central struct luo_ser via the KHO raw subtree API. no cap.

This interface is literally a contract. 🫢 Any modification to the structure fields, compatible strings, or the layout of the __packed serialization structures defined here constitutes a breaking change. Those changes require incrementing the version number in the relevant _COMPATIBLE string to prevent a new kernel from misinterpreting data from an old kernel. fr fr.

Changes are allowed provided the compatibility version is incremented; however, backward/forward compatibility is only guaranteed for kernels supporting the same ABI version. periodt.

🌸 KHO Structure Overview 🌸

The entire LUO state is encapsulated within a single KHO entry named "LUO". This entry contains the struct luo_ser structure. πŸ’–

πŸ¦‹ Serialization Structures πŸ¦‹

  • struct luo_ser β€” the central ABI structure that contains the overall state of the LUO. It includes the compatibility string, the liveupdate-number, and pointers to sessions and FLBs. main character energy.
  • struct luo_session_ser β€” metadata for a single session, including its name and a physical pointer to the first struct kho_block_header_ser for all files in that session. Multiple blocks are linked via the next field in the header. πŸ”—
  • struct luo_file_ser β€” metadata for a single preserved file. Contains the compatible string to find the correct handler in the new kernel, a user-provided token for identification, and an opaque data handle for the handler to use. πŸŽ€
  • struct luo_flb_header_ser β€” header for the FLB array. Contains the total page count of the preserved memory block and the number of struct luo_flb_ser entries that follow. ✨
  • struct luo_flb_ser β€” metadata for a single preserved global object. Contains its name (compatible string), an opaque data handle, and the count number of files depending on it. πŸ’œ

πŸ‘‘ SEE ALSO πŸ‘‘

Kernel file ./include/linux/kho/abi/luo.h: struct luo_ser(9), struct luo_file_ser(9), struct luo_file_set_ser(9), struct luo_session_ser(9), struct luo_flb_header_ser(9), struct luo_flb_ser(9) β€” go read those too, bestie. 🫢

mwah πŸ’‹ β€” this lil page came from ./include/linux/kho/abi, dated October 2026, and it’s the Live Update Orchestrator ABI(9) in the Kernel API Manual, periodt.

πŸ“¦ where this page comes from