QEMU上のTiny Core LinuxでEmacsを起動する

しむどん 2025-03-01

QEMUでGNU/Linuxを動かす」でQEMU上で起動するTiny Core Linuxの環境を構築した。その環境は本当に起動する所までしか整備していないため、何かしらの作業をするのであれば、もっと整備したい所だ。そこで今回はその環境でEmacsを起動できるようにしていく。

Tiny Core Linuxでは通常 tce-load というパッケージマネージャを使う。しかし確認した所、配布しているパッケージの中にEmacsは無かった。仕方がないのでビルドできる環境を構築し、ソースコードから自分でビルドする。

依存パッケージのインストール: その1

何をするにしても、何かしらに依存しているものだ。Emacsのソースコードを取得するにしても、ダウンロードするためのツールが必要となる。今回はEmacsのソースコードをGitを使って取得するつもりであるため、 git をインストールしておく。

tce-load -wi git

Emacsのソースコードを取得する

これは特筆する事はない。GNUが管理しているEmacsのリポジトリからGitでソースコードを取得する。

git clone --depth 1 https://git.savannah.gnu.org/git/emacs.git

依存パッケージのインストール: その2

tce-load でインストールできるビルドに必要なツールやファイルなどを取得していく。

tce-load -wi autoconf \
             gcc \
             glibc_add_lib \
             glibc_apps \
             glibc_base-dev \
             linux_5.15_api_headers \
             m4 \
             make \
             texinfo

ビルドする

それではEmacsをビルドしていく。手順は基本的には通常の方法とさほど変わらない。まずはソースのあるディレクトリに移動する。

cd emacs

次に autogen.sh スクリプトを実行するこの時に autoconfm4 などが必要になる。

./autogen.sh

正常に終了すると、 configure ファイルが生成されている。そうしたら ./configure を実行する。ただし GNU TLS はインストールできていないため、 --with-gnutls=ifavailable を指定する。

./configure --with-gnutls=ifavailable

正常に終了すると、 make が実行できるような Makefile が生成される。 make コマンドを実行しビルドする。

make

これはおそらく結構時間がかかる。Cのコードのコンパイルにも時間がかかるけれど、それ以上にEmacs Lispのコンパイル(.elをバイトコードであるelcに変換する処理)に時間がかかっていた。夜間ビルドにした方がよいかもしれない。

https://pub.symdon.info/39/c9/39c9c60390f2dcbd38135cf1f5b14b660808b510e158bb9dd71e38d7cc67bd2f.png

注意

とりあえずここまで環境を作ったけれど、再起動すると/homeディレクトリのデータは消えていた。 Tiny Core Linux では /home 配下のデータは mydata.tgz として保存されるが、手順を間違えていてこのファイルが空になっていた。

まとめ

今回はTiny Core LinuxでEmacsをビルドして使えるようにした。またその手順を記載した。