the-machine-hall / openbsd-sgi

This is an effort do keep the sgi port of OpenBSD alive.
1 stars 0 forks source link
indigo2 indy ip22 ip27 ip28 ip30 ip32 o2 octane octane2 openbsd openbsd-sgi origin200 sgi silicon-graphics

OpenBSD/sgi is alive!

Planned since a while - actually since OpenBSD retired the sgi platform in 2021 with the release of OpenBSD 7.0 - and finally in the works since late November 2022, this is an effort to keep OpenBSD/sgi alive and working.

Releases

For a start the releases usually only provide the kernels because those can be used with OpenBSD/octeon file systems, too. But for OpenBSD/sgi 7.0 to 7.3 I managed to also build the usual release files (with some exceptions), see the respective release pages for details.

Branches

Kernel branches

For each OpenBSD release I start with the release commit and apply the list of sgi related commits of the last release on top and then try to build each kernel and make adaptations based on changes made in OpenBSD between the last and the current release until the kernel builds work through. Then follows the testing of the kernels on real hardware which sometimes uncovers missing but needed changes I need to find and adapt for the sgi platform, too.

Release branches

The release branches since 7.1 are forked from the current sgi-never-retired-* branch after the respective release commit and include changes for the builds to complete successfully and in an adequate time (e.g. omit building LLVM/clang).

Special branch

This branch is special in that it "pretends" that the sgi platform was never retired, by skipping the commits that removed sgi related code, cherry-picking the remaining commits and adapting specific commits that - now that the sgi related code is still there - also need to be applied for the sgi platform. The relevant commits for skipping and adapting are identified in the kernel branches. Instead of the other branches this branch can be used for bisecting (e.g. it was used successfully to find the reason for #1 and it was also helpful in solving #2).

For each cherry-picked commit the commit message also logs the commit hash of the original commit in the OpenBSD master branch providing a relation between both branches.

Whenever I need to rewrite the history of an already published sgi-never-retired branch, I create a new one and increment the number at the end.