CxOSはLinuxカーネルなので、EFIへのインタフェースも兼ね備えていますが、これをいじる手段としての efibootmgr コマンドがありません。なので作りましたという話です。
端的には、以下の efibootmgr (16) のソースをコンパイルしたものです。
依存関係として、efivar (36) もコンパイルしました。
CxOSはミニマムに構成されていて、必要なヘッダやライブラリなどが揃っていないので、コンパイルオプションをああだこうだといじったのですが、たぶん環境によっても違うので、適度に苦戦してください。
手元の環境では Make.defaults ファイルの以下のオプションをいじりました。Chromebrewから popt を入れる必要があると思います。
LD_LIBRARY_PATH=/usr/lib64/:/usr/local/lib64/:$LD_LIBRARY_PATH
LDLIBS=$(foreach lib,$(LIBS),-l$(lib))
LDFLAGS = -L/usr/lib64/:/usr/local/lib64/ -lefiboot -lefivar -lpopt
パッチというほどのものではないので、このオプションでコンパイルしたバイナリ(x86_64用)を転がしておきます。
- https://www.dropbox.com/s/2be5pnmfomgp3uj/efibootmgr?dl=0
- https://www.dropbox.com/s/3z618pyc2olcnyk/efivar?dl=0
両方を /usr/sbin に入れる必要があるので、開発者モードへの移行と rootfs verification を切る必要があるはずです。
これによって、例えばMacBook Airのように(Windows以外の)他OSをデュアルブートで起動した際にmacOSのことを忘れてしまうクソEFIへの対処や、一部ChromebookのようにセキュアブートでEFIからChrome OSを起こしているような場合に他のOSを起動させることができるチャンスが産まれるかもしれません。あるいは何も産み出さないかもしれません。生かすも殺すもあなた次第です。
なお、過去に efibootmgr を使う事例を掲載しているので、参考まで。