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)