【MSX】AndroidでMSXクロス開発環境を構築する(1)
はじめに
今回から数回に分けて、Android端末にMSX開発環境を構築する手順を紹介します。
とは言え、AndroidにMSX開発用のアプリという都合のいいものはないので、AndroidにPCと同様の開発環境(※1)を構築することにします。
具体的には、gitでソースのバージョン管理、VSCodeでソースの編集、z88dkでZ80のCまたはアセンブラソースからromファイルを作成、WebMSXで実行という構成になります。
宜しければお試しください。
※1
ほぼ同様で、違いと言えば実行環境がPCほど選べない(アプリで提供されているMSXエミュレータかWebMSXが選択肢となる)のと、デバッグ環境が無いところだけが違いです。
とはいえ、このデバッグ環境がないのが、結構ツラいところですが・・・
全体の流れ
全体の流れは、以下になります。
- Android端末上にLinux(ubuntu)環境を構築する
- ubuntuにgitをインストール、GitHubとSSH通信する設定を行う
- ubuntuにz88dkをインストールする
- ubuntuにcode serverをインストールする
- テストプログラムをコンパイルし、MSXエミュレータ上で実行する
今回は、「1. Android端末上にLinux(ubuntu)環境を構築する」部分について記載します。
1.AndroidにLinux環境を構築する
(1) Termuxのインストール
まず、AndroidにLinux環境を構築します。
これにはroot権限不要でLinux環境を構築できる「Termux」というアプリを使用します。
詳細については以下リンク先を参照してください。
Termux wiki
なお、以前はPlayストアで配信されていましたが、現在はF-Droidで配信されているものを使用することになっています。(Android7.0以降に対応)
F-Froid / Termux
基本的には、apkをダウンロードしてインストールするだけです。
ここで、自分のAndroid端末へのapkのインストール方法が判らない場合は、この先に進むのは止めた方が良いと思います。
(2) Termuxの設定
ダウンロード後の最初の起動時に権限を求められるので、それぞれ許可してください。
その後、コマンドプロンプトが表示されます。
Termuxは基本的にシングルユーザーのため、rootで使用します。特にユーザーの追加などは不要です。
まず、TermuxからSDカードなどにアクセスできるよう、以下のコマンドを入力します。
pkg update && pkg install termux-setup-storage
この結果、ホームディレクトリに storage
ディレクトリが作成され、内部ストレージやSDカードにアクセスできるようになります。
以下は、pkg install後のディレクトリ内容を確認した例です。
~ $ ls -al total 24 drwx------ 4 u0_a245 u0_a245 4096 Mar 5 22:38 . drwxrwx--x 4 u0_a245 u0_a245 4096 Feb 20 19:06 .. -rw------- 1 u0_a245 u0_a245 302 Mar 5 22:25 .bash_history -rw------- 1 u0_a245 u0_a245 26 Feb 20 19:22 .bashrc drwx------ 2 u0_a245 u0_a245 4096 Feb 20 19:06 .termux drwx------ 2 u0_a245 u0_a245 4096 Feb 23 00:44 storage ~ $ cd storage/ ~/storage $ ls -al total 8 drwx------ 2 u0_a245 u0_a245 4096 Feb 23 00:44 . drwx------ 4 u0_a245 u0_a245 4096 Mar 5 22:38 .. lrwxrwxrwx 1 u0_a245 u0_a245 24 Feb 23 00:44 dcim -> /storage/emulated/0/DCIM lrwxrwxrwx 1 u0_a245 u0_a245 28 Feb 23 00:44 downloads -> /storage/emulated/0/Download lrwxrwxrwx 1 u0_a245 u0_a245 48 Feb 23 00:44 external-1 -> /storage/129B-6156/Android/data/com.termux/files lrwxrwxrwx 1 u0_a245 u0_a245 26 Feb 23 00:44 movies -> /storage/emulated/0/Movies lrwxrwxrwx 1 u0_a245 u0_a245 25 Feb 23 00:44 music -> /storage/emulated/0/Music lrwxrwxrwx 1 u0_a245 u0_a245 28 Feb 23 00:44 pictures -> /storage/emulated/0/Pictures lrwxrwxrwx 1 u0_a245 u0_a245 19 Feb 23 00:44 shared -> /storage/emulated/0 ~/storage $
(3) ubuntuのインストール
上記でインストールしたTermuxはDebianベースのLinux環境ですが、若干使い勝手が悪いため、ubuntu環境を使えるようにします。
PCでもubuntuを使っているという場合は、同じコマンドを使えるので、この方が便利だと思います。
もしDebianに慣れている場合は、以降はスキップしても問題ありません。
ます、コンソールで以下のコマンドを実行し、proot
とproot-distro
をインストールします。
pkg install proot proot-distro
その後、以下コマンドで、ubuntuをインストールします。
proot-distro install ubuntu
インストールが完了したら、以下コマンドで確認します。
proot-distro list
ubuntu
のstatus
がinstalled
になっていれば、インストールが成功して利用可能な状態となります。
インストール後は、以下のコマンドで、ubuntuを開始できます。
proot-distro login ubuntu
ログインできたことを確認したら、一度exit
としてubuntuから抜け、以下のコマンドを実行します。
echo 'proot-distro login ubuntu' >> ~/.bashrc
これで、次回からコマンドを実行しなくても、Termux起動後に自動的にubuntuにログインした状態になります。
(4) ubuntuの基本設定
ここまででインストールしたubuntuは、一般的にPCにインストールされるものと違い、必要最低限なものです。
GUI環境でもありませんし、日本語にも対応しておらず、wgetなどもインストールされていません。
また、シングルユーザー(root)の状態ですので、まずはubuntuの基本設定を進めていきます。
日本語ロケールへの変更
まずは日本語ロケールに変更します。
これは全ユーザーに適用されても問題ないので、root(デフォルトのユーザー)のままで行います。
pkg update && pkg upgrade -y apt install language-pack-ja -y locale -a
3つ目のコマンドの実行結果で、ja_JP.utf8
が表示されていればインストール完了です。
引き続き、以下のコマンドを実行し、システムの設定を変更します。
echo 'export LANG=ja_JP.UTF-8' >> ~/.bashrc echo 'export LANGUAGE="ja_JP:ja"' >> ~/.bashrc source ~/.bashrc
一般ユーザーの追加
現状ではrootでの作業となり危険ですので、一般ユーザーを追加します。
まず、sudo
がないため、以下コマンドを実行します。
apt update apt dist-upgrade apt install sudo
その後、ユーザーを追加し、sudo
グループに追加します。
adduser <ユーザー名> gpasswd -a <ユーザー名> sudo
最後に、シェル起動時のスクリプトにsu
するコマンドを追加し、実行します。
echo 'su <ユーザー名>' >> ~/.bashrc source ~/.bashrc
ここで、プロンプトが以下の表示になっていれば成功です。
<ユーザー名>@localhost:/root$
ただし、sudo
コマンドが使えない場合があります。(少なくとも私は使えなかった)
その場合は一度exit
してroot
に戻り、以下コマンドを実行して、設定ファイルを編集します。
一行目は初回のみ必要なものです。
apt install vim visudo
vim
の画面になるので、以下の行を追加します。
: root ALL=(ALL:ALL) ALL <ユーザー名> ALL=(ALL:ALL) ALL ←この行を追加 :
この後、su <ユーザー名>
とすると、sudo
が使えるようになっていると思います。
意味的にはrootと同じ権限をユーザーに与えるということなので、実際はユーザーを切り替える必要性はあまりありません。 しかし、一般的な情報にある手順は
sudo
コマンドを使うものですので、読み替えしなくても使えるというメリットはあります。
なお、su
した後のカレントディレクトリがroot
のホームディレクトリになっています。
これをユーザーのホームディレクトリに変更するには、一般ユーザーでログインした状態で以下のようにします。
echo 'cd ~' > ~/.bashrc source ~/.bashrc
以上で、Termuxにubuntuをインストールし、必要最低限の設定を行いました。
次回はgit
をインストールし、GitHubとSSH通信するための設定を行います。