インポートできたら,起動してみましょう.
まず,インポートした仮想PCを起動します. すると以下のようにログインプロンプトが出てきます.
login:以下でログインします.
ログイン名:user パスワード:userログインすると,以下のコマンドプロンプトが出てコマンド入力待ちになります.
user@vboximage:~>%とりあえず,lsコマンドでファイル一覧を表示させてみましょう.
user@vboximage:~>% ls ...(ファイル一覧が表示される)...さて,このVMイメージは,パスワードがザルになっています. まずはパスワードを変更しておきましょう.
以下を実行してスーパーユーザーになります. (スーパーユーザー(root)とは,管理用のAdminユーザーのことです.なんでもできて しまうので,普段の作業は一般ユーザー(user)で行って,システム変更は スーパーユーザーで行います)
user@vboximage:~>% su Password: (スーパーユーザーのパスワードを聞いてくるので,「root」と入力しEnter) vboximage# (スーパーユーザーになりました)passwd user でパスワード変更をします.
vboximage# passwd user Changing local password for user New Password: (新しいパスワードを入力します) Retype New Password: (もう一度入力) vboximage# (パスワード変更が完了しました)passwd root でスーパーユーザーのパスワードも変更します.
vboximage# passwd root Changing local password for root New Password: (新しいパスワードを入力します) Retype New Password: (もう一度入力) vboximage# (パスワード変更が完了しました)
FreeBSDでは「tcsh」というシェルがデフォルトになっています. bashを使いたいひとは,以下でbashに切り替えましょう.
user@vboximage:~>% bash [user@vboximage ~]$ (bashに切り替わりました)
screenという便利なコマンドがあります.
user@vboximage:~>% screenこれで画面を複数開けるようになります.
以下を試してみてください.(やってみるとわかります)
[Ctrl]+「j」 → 「c」 ... 新しい画面を作成 [Ctrl]+「j」 → 「p」 ... 前の画面に移動 [Ctrl]+「j」 → 「n」 ... 前の画面に移動複数の画面を開いて,切り替えて操作することができます. 実は文字列のカットアンドペーストとかもできます. やりたいひとは各自でググってください.
% ls ... ファイル一覧を表示 % ls -l % ls -l <ファイル名> ... ファイル一覧(詳細)を表示 % cd <ディレクトリ名> ... ディレクトリ移動 % cd .. ... ディレクトリをひとつ戻る % cd ~ ... ホームディレクトリに戻る % cat <ファイル名> ... ファイルの内容を表示 % rm <ファイル名> ... ファイルを削除 % cp <コピー元ファイル名> <コピー先ファイル名> ... ファイルのコピー % mv <コピー元ファイル名> <コピー先ファイル名> ... ファイルの移動 % mkdir <ディレクトリ名> ... ディレクトリ作成
% less <ファイル名>キー操作は,以下のとおりです.
% nano <ファイル名>
ZIP形式
% unzip sample.zip
tar.gz形式(tgz形式)
% tar xvzf sample.tar.gz
% hexedit <ファイル名>操作方法は以下です.
% su Password: # shutdown -p now
以下でプログラムをコンパイルして,実行モジュールを作成できます.
user@vboximage:~>% ls ... user@vboximage:~>% cd avr_03-hello user@vboximage:~/avr_03-hello>% ls ... user@vboximage:~/avr_03-hello>% cd os user@vboximage:~/avr_03-hello/os>% ls ... user@vboximage:~/avr_03-hello/os>% make clean (掃除) user@vboximage:~/avr_03-hello/os>% make (コンパイル) user@vboximage:~/avr_03-hello/os>% ls (kozos.elfが作成されていることを確認.これが実行モジュールです)
user@vboximage:~/avr_03-hello/os>% /usr/local/cross/bin/avr-elf-gdb -tui kozos.elf (TypeGDBが起動して,コマンドの入力待ちになっています.to continue, ... とか表示されていたらEnterを押して先に進めます) (gdb)
まずは,以下を実行します.
(gdb) target sim (gdb) loadloadを実行すると,/dev/pts/0 を開いたのでそこに繋げ,的なメッセージが 出てきます./dev/pts/1 だったり /dev/pts/2 だったりするかもしれません.
この状態で,別のコマンドプロンプトから以下を実行することで,
シミュレータ上で動作しているモジュールに仮想的にシリアル接続します.
※ screenコマンドを利用している場合は [Ctrl]+「j」 → 「c」 で別画面を
開けます.screenコマンドを利用していない場合は,Alt+F1〜Alt+F8で画面を
切替えられます.
user@vboximage:~>% su Password: vboximage# cu -l /dev/pts/0 (/dev/pts/1 と言われた場合はそっちに繋ぐ)これで接続できました.モジュールを起動してみましょう.
(gdb) runcuで接続している側に以下のように出力されれば成功です.おめでとう!
vboximage# cu -l /dev/pts/0 Hello World!終了は,以下のようにします.
user@vboximage:~>% cd avr_03-hello user@vboximage:~/avr_03-hello>% cd os user@vboximage:~/avr_03-hello/os>% nano main.c (「puts()」で文字列出力しているあたりを改造する) user@vboximage:~/avr_03-hello/os>% make (コンパイル) (あとは同様にしてシミュレータで実行してみます)まずは,自分の名前を出力してみましょう.
puts("\033[A") ... カーソルを上に移動 puts("\033[B") ... カーソルを下に移動 puts("\033[C") ... カーソルを右に移動 puts("\033[D") ... カーソルを左に移動 puts("\033[30m") ... 黒 puts("\033[31m") ... 赤 puts("\033[32m") ... 緑 puts("\033[33m") ... 黄 puts("\033[34m") ... 青 puts("\033[35m") ... 紫 puts("\033[36m") ... 水色 puts("\033[37m") ... 白 puts("\033[39m") ... 色を元に戻す puts("\033[40m") ... 背景を黒 puts("\033[41m") ... 背景を赤 ... puts("\033[49m") ... 背景色を元に戻す
「avr_03-hello」は文字列出力して終わりでしたが, 「avr_03-sim」ではコマンド入力ができます. 「echo hello」などと入力してみましょう.
資料はここまでです.あとはいろいろやってみよう!