<feed xmlns='http://www.w3.org/2005/Atom'>
<title>hakurei/internal/uevent, branch master</title>
<subtitle>low-level userspace tooling for Rosa OS</subtitle>
<id>http://src.rosa.moe/hakurei/atom/internal/uevent?h=master</id>
<link rel='self' href='http://src.rosa.moe/hakurei/atom/internal/uevent?h=master'/>
<link rel='alternate' type='text/html' href='http://src.rosa.moe/hakurei/'/>
<updated>2026-08-29T09:58:06Z</updated>
<entry>
<title>pkg: move from internal</title>
<updated>2026-08-29T09:58:06Z</updated>
<author>
<name>Ophestra</name>
<email>cat@gensokyo.uk</email>
</author>
<published>2026-08-29T09:58:06Z</published>
<link rel='alternate' type='text/html' href='http://src.rosa.moe/hakurei/commit/?id=c2d900ec74e03e9c782cfe7b7ce06ff62cda6601'/>
<id>urn:sha1:c2d900ec74e03e9c782cfe7b7ce06ff62cda6601</id>
<content type='text'>
Closes #43.

Signed-off-by: Ophestra &lt;cat@gensokyo.uk&gt;
</content>
</entry>
<entry>
<title>internal/pkg: rename archive checksum helpers</title>
<updated>2026-06-04T05:13:20Z</updated>
<author>
<name>Ophestra</name>
<email>cat@gensokyo.uk</email>
</author>
<published>2026-06-04T05:13:20Z</published>
<link rel='alternate' type='text/html' href='http://src.rosa.moe/hakurei/commit/?id=729be19af39fb73e827bdb2798ac23942f9cf9e5'/>
<id>urn:sha1:729be19af39fb73e827bdb2798ac23942f9cf9e5</id>
<content type='text'>
These names are more consistent with other helper names, so rename them while the API is still internal.

Signed-off-by: Ophestra &lt;cat@gensokyo.uk&gt;
</content>
</entry>
<entry>
<title>internal/uevent: optionally pass UUID during coldboot</title>
<updated>2026-04-06T03:42:47Z</updated>
<author>
<name>Ophestra</name>
<email>cat@gensokyo.uk</email>
</author>
<published>2026-04-06T02:43:16Z</published>
<link rel='alternate' type='text/html' href='http://src.rosa.moe/hakurei/commit/?id=cd0beeaf8ed5fb81ba20375517c7a3bf34fd27cd'/>
<id>urn:sha1:cd0beeaf8ed5fb81ba20375517c7a3bf34fd27cd</id>
<content type='text'>
This enables rejection of non-coldboot synthetic events.

Signed-off-by: Ophestra &lt;cat@gensokyo.uk&gt;
</content>
</entry>
<entry>
<title>internal/uevent: integrate error handling in event loop</title>
<updated>2026-03-30T15:10:14Z</updated>
<author>
<name>Ophestra</name>
<email>cat@gensokyo.uk</email>
</author>
<published>2026-03-30T14:49:16Z</published>
<link rel='alternate' type='text/html' href='http://src.rosa.moe/hakurei/commit/?id=91a2d4d6e1c0039f6b442c8c97b1aa809e09e33b'/>
<id>urn:sha1:91a2d4d6e1c0039f6b442c8c97b1aa809e09e33b</id>
<content type='text'>
There are many subtleties when recovering from errors in the event loop, and coldboot requires internals to drain the receive buffer as synthetic uevents are being arranged.

Signed-off-by: Ophestra &lt;cat@gensokyo.uk&gt;
</content>
</entry>
<entry>
<title>internal/uevent: synthetic events for coldboot</title>
<updated>2026-03-30T14:01:08Z</updated>
<author>
<name>Ophestra</name>
<email>cat@gensokyo.uk</email>
</author>
<published>2026-03-30T12:20:42Z</published>
<link rel='alternate' type='text/html' href='http://src.rosa.moe/hakurei/commit/?id=f03c0fb249ea8787ae8ec086970eb089109ebf6f'/>
<id>urn:sha1:f03c0fb249ea8787ae8ec086970eb089109ebf6f</id>
<content type='text'>
This causes the kernel to regenerate events that happened before earlyinit started.

Signed-off-by: Ophestra &lt;cat@gensokyo.uk&gt;
</content>
</entry>
<entry>
<title>internal/uevent: separate recvmsg helper</title>
<updated>2026-03-29T17:53:26Z</updated>
<author>
<name>Ophestra</name>
<email>cat@gensokyo.uk</email>
</author>
<published>2026-03-29T17:53:26Z</published>
<link rel='alternate' type='text/html' href='http://src.rosa.moe/hakurei/commit/?id=b5592633f5b980970808fc5be43b0fb4f4d4e784'/>
<id>urn:sha1:b5592633f5b980970808fc5be43b0fb4f4d4e784</id>
<content type='text'>
This enables messages to be received separately.

Signed-off-by: Ophestra &lt;cat@gensokyo.uk&gt;
</content>
</entry>
<entry>
<title>internal/netlink: set receive buffer size</title>
<updated>2026-03-29T17:14:47Z</updated>
<author>
<name>Ophestra</name>
<email>cat@gensokyo.uk</email>
</author>
<published>2026-03-29T17:14:47Z</published>
<link rel='alternate' type='text/html' href='http://src.rosa.moe/hakurei/commit/?id=584e30216896fd4de6301f9cf937829e16d22c49'/>
<id>urn:sha1:584e30216896fd4de6301f9cf937829e16d22c49</id>
<content type='text'>
This is done by both systemd sd-device and AOSP ueventd to improve robustness. Rosa OS will still handle ENOBUFS via coldboot but a big buffer should mitigate this as well.

Signed-off-by: Ophestra &lt;cat@gensokyo.uk&gt;
</content>
</entry>
<entry>
<title>internal/uevent: handle state divergence</title>
<updated>2026-03-29T16:50:09Z</updated>
<author>
<name>Ophestra</name>
<email>cat@gensokyo.uk</email>
</author>
<published>2026-03-29T16:48:20Z</published>
<link rel='alternate' type='text/html' href='http://src.rosa.moe/hakurei/commit/?id=141958656f8a83a4f5703bd4890389dd1f180e0a'/>
<id>urn:sha1:141958656f8a83a4f5703bd4890389dd1f180e0a</id>
<content type='text'>
This requires the caller to arrange for a coldboot to happen, some time after this error is encountered, and to resume event processing.

Signed-off-by: Ophestra &lt;cat@gensokyo.uk&gt;
</content>
</entry>
<entry>
<title>internal/netlink: switch to recvmsg/sendmsg</title>
<updated>2026-03-29T14:36:00Z</updated>
<author>
<name>Ophestra</name>
<email>cat@gensokyo.uk</email>
</author>
<published>2026-03-29T14:34:53Z</published>
<link rel='alternate' type='text/html' href='http://src.rosa.moe/hakurei/commit/?id=648079f42cd872f16110e571ce34fdbd90f7c476'/>
<id>urn:sha1:648079f42cd872f16110e571ce34fdbd90f7c476</id>
<content type='text'>
These are more flexible than recvfrom/sendto.

Signed-off-by: Ophestra &lt;cat@gensokyo.uk&gt;
</content>
</entry>
<entry>
<title>internal/uevent: consume kernel-originated events</title>
<updated>2026-03-28T06:39:16Z</updated>
<author>
<name>Ophestra</name>
<email>cat@gensokyo.uk</email>
</author>
<published>2026-03-27T16:06:17Z</published>
<link rel='alternate' type='text/html' href='http://src.rosa.moe/hakurei/commit/?id=ea014d6af2d1481ba05ffed2dddffeed370f6622'/>
<id>urn:sha1:ea014d6af2d1481ba05ffed2dddffeed370f6622</id>
<content type='text'>
These are not possible to cover outside integration vm. Extreme care is required when dealing with this method, so keep it simple.

Signed-off-by: Ophestra &lt;cat@gensokyo.uk&gt;
</content>
</entry>
</feed>
