Armadilloの標準イメージには、viエディタが入っています。しかしviエディタは操作方法が特殊であり使いにくいという人もいます。 そのため、Debian GNU/Linuxでも標準のエディタになっているnanoをAtmark Distに追加してみました。
以下、nanoをAtmark Distに追加した際の手順を紹介します。ディレクトリ等の環境によって異なる部分については、使用環境に読み替えてください。
1. nanoのソースコードを取得
ATDE上で、apt-get sourceコマンドを実行し、nanoのソースコードを取得します。
[atde ~]$ mkdir nano [atde ~]$ cd nano [atde ~/nano]$ apt-get source nano [atde ~/nano]$ ls nano-2.2.6 nano_2.2.6-1.dsc nano_2.2.6-1.debian.tar.gz nano_2.2.6.orig.tar.gz
2. nanoをAtmark Distに配置
Atmark Distに含まれるアプリケーションは、atmark-dist/userディレクトリに配置されています。 そのため、以下のコマンドを実行し、nanoのソースコードをatmark-dist/user/nanoディレクトリに配置します。
[atde ~/nano]$ cd [atde ~]$ cd atmark-dist/user [atde ~/atmark-dist/user]$ mkdir nano [atde ~/atmark-dist/user]$ cd nano [atde ~/atmark-dist/user/nano]$ tar zxf ~/nano/nano_2.2.6.orig.tar.gz [atde ~/atmark-dist/user/nano]$ ls nano-2.2.6
3. Atmark Distのユーザーランドコンフィギュレーションにnanoの項目を追加
nanoをユーザーランドコンフィギュレーションで選択できるようにするために、 以下のようにconfig/config.inファイルを編集します。
comment 'Editors' bool 'nano' CONFIG_USER_NANO_NANO ←この行を追加 bool 'vi (leevee)' CONFIG_USER_LEVEE_VI bool 'vi (elvis-tiny)' CONFIG_USER_ELVISTINY_V
上記変更で、以下のユーザーランドコンフィギューレションの項目が追加されます。
Userland Configuration Miscellaneous Applications ---> [*] nano ← nanoを追加する場合は、この項目を有効化
前述の手順で、CONFIG_USER_NANO_NANOが追加されたため、 nanoを有効にされた場合、nanoをビルドするために、atmark-dist/user/Makefileを 以下のように修正します。
dir_$(CONFIG_USER_MP3PLAY_MP3PLAY) += mp3play dir_$(CONFIG_USER_MSNTP_MSNTP) += msntp dir_$(CONFIG_USER_MUSICBOX_MUSICBOX) += musicbox dir_$(CONFIG_USER_NANO_NANO) += nano ← この行を追加 dir_$(CONFIG_USER_NESSUS_NASL) += nessus dir_$(CONFIG_USER_NETCAT_NETCAT) += netcat dir_$(CONFIG_USER_NETFLASH_NETFLASH) += netflash
上記変更により、nanoを有効化した場合は、atmark-dist/user/nano/Makefileの内容を元に nanoがビルドされるようになります。
4. nanoをビルドするための修正を行う
この状態では、nanoをビルドするためのMakefileができていないため、nanoをビルドすることができません。
そのため、atmark-dist/user/nano/Makefileを以下の内容で作成します。
SRC_DIR = nano-2.2.6 CONF_BUILD = $(shell $(SRC_DIR)/config.guess) CONF_HOST = $(shell $(SRC_DIR)/config.sub $(CROSS:-=)) BUILD_DIR = builddir CONFIGURE_OPT = --build=$(CONF_BUILD) \ --host=$(CONF_HOST) \ --prefix=/usr \ --enable-tiny \ --disable-nls all: build $(BUILD_DIR)/Makefile: mkdir -p $(BUILD_DIR) (cd $(BUILD_DIR); ../$(SRC_DIR)/configure $(CONFIGURE_OPT)) build: $(BUILD_DIR)/Makefile make -C $(BUILD_DIR) romfs: build $(ROMFSINST) $(BUILD_DIR)/src/nano /usr/bin/ clean: make -C $(BUILD_DIR) clean distclean: clean rm -rf $(BUILD_DIR)
- ※1: CONFIGURE_OPTは、ビルドされるファイルが最小限になるよう設定
- ※2: このMakefileはatmark-dist/user/curl/Makefileを参考に作成(ほぼ同じ構成のため)
参考
このブログで紹介した手順を実行したパッチを添付します。(ファイル名: atmark-dist-20150127-add-nano.patch)