「QEMUでGNU/Linuxを動かす」でQEMU上で起動するTiny Core Linuxの環境を構築した。その環境は本当に起動する所までしか整備していないため、何かしらの作業をするのであれば、もっと整備したい所だ。そこで今回はその環境でEmacsを起動できるようにしていく。
Tiny Core Linuxでは通常 tce-load
というパッケージマネージャを使う。しかし確認した所、配布しているパッケージの中にEmacsは無かった。仕方がないのでビルドできる環境を構築し、ソースコードから自分でビルドする。
何をするにしても、何かしらに依存しているものだ。Emacsのソースコードを取得するにしても、ダウンロードするためのツールが必要となる。今回はEmacsのソースコードをGitを使って取得するつもりであるため、 git
をインストールしておく。
tce-load -wi git
これは特筆する事はない。GNUが管理しているEmacsのリポジトリからGitでソースコードを取得する。
git clone --depth 1 https://git.savannah.gnu.org/git/emacs.git
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
スクリプトを実行するこの時に autoconf
や m4
などが必要になる。
./autogen.sh
正常に終了すると、 configure
ファイルが生成されている。そうしたら ./configure
を実行する。ただし GNU TLS
はインストールできていないため、 --with-gnutls=ifavailable
を指定する。
./configure --with-gnutls=ifavailable
正常に終了すると、 make
が実行できるような Makefile
が生成される。 make
コマンドを実行しビルドする。
make
これはおそらく結構時間がかかる。Cのコードのコンパイルにも時間がかかるけれど、それ以上にEmacs Lispのコンパイル(.elをバイトコードであるelcに変換する処理)に時間がかかっていた。夜間ビルドにした方がよいかもしれない。
とりあえずここまで環境を作ったけれど、再起動すると/homeディレクトリのデータは消えていた。 Tiny Core Linux
では /home
配下のデータは mydata.tgz
として保存されるが、手順を間違えていてこのファイルが空になっていた。
今回はTiny Core LinuxでEmacsをビルドして使えるようにした。またその手順を記載した。