Changes between Version 2 and Version 3 of ssp_rpi3
- Timestamp:
- Mar 10, 2020, 6:02:08 PM (4 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
ssp_rpi3
v2 v3 7 7 == 動作確認に必要なもの 8 8 9 * Docker : Docker上のコンテナ(仮想環境)を動かすために使います.Ubuntu cosmic(18.10) ベースのLinuxシステムをお使いの場合は手順2.のスクリプトだけを実行することもできます.9 * Docker : Docker上のコンテナ(仮想環境)を動かすために使います.Ubuntu cosmic(18.10) 以降のLinuxシステムをお使いの場合は手順2.のスクリプトだけを実行することもできます. 10 10 * Git : Dockerのスクリプトを取得するのに使います. 11 11 * コマンドライン環境:コマンドの実行にbashシェルを使います.Mac ならターミナルアプリ,Windowsなら MinGW など. 12 12 13 13 == Dockerを用いた動作確認手順 14 以下では MacOSのターミナルアプリで作業する際の様子を示します.他のホストOSで使用する場合もほぼ同様と思います.14 以下では Linux の bashシェルで作業する際の様子を示します.他のホストOSで使用する場合もほぼ同様と思います. 15 15 16 16 === 1. Dockerコンテナの構築およびシェルの起動 17 {{{ 18 # (1-1) Dockerスクリプトの取得(カレントディレクトリに docker-toppers というディレクトリが作成される) 19 17 ==== (1-1) Dockerスクリプトの取得(カレントディレクトリに docker-toppers というディレクトリが作成される) 18 {{{ 20 19 $ git clone https://github.com/nmiri-nagoya-nsaito/docker-toppers.git 21 20 Cloning into 'docker-toppers'... 22 remote: Enumerating objects: 85, done. 23 remote: Total 85 (delta 0), reused 0 (delta 0), pack-reused 85 24 Unpacking objects: 100% (85/85), done. 25 26 # (1-2) スクリプトのディレクトリへ移動し,コンテナのシェルを起動する(詳細はスクリプト参照) 27 21 remote: Enumerating objects: 9, done. 22 remote: Counting objects: 100% (9/9), done. 23 remote: Compressing objects: 100% (9/9), done. 24 remote: Total 122 (delta 0), reused 8 (delta 0), pack-reused 113 25 Receiving objects: 100% (122/122), 16.83 KiB | 3.37 MiB/s, done. 26 Resolving deltas: 100% (46/46), done. 27 }}} 28 ==== (1-2) スクリプトのディレクトリへ移動し,コンテナのシェルを起動する(詳細はスクリプト参照) 29 {{{ 28 30 $ cd docker-toppers 29 $ ./start_shell.sh ubuntu-cosmic 30 specified service: ubuntu-cosmic 31 Building ubuntu-cosmic 32 Step 1/16 : FROM ubuntu:cosmic 33 ---> b977ae81df17 34 Step 2/16 : MAINTAINER Naoki Saito <saito.naoki@nmiri.city.nagoya.jp> 35 ---> Using cache 36 ---> 4d27716048ed 37 Step 3/16 : RUN apt-get update 38 ---> Using cache 39 ---> 9373f2e420a1 40 Step 4/16 : RUN DEBIAN_FRONTEND=noninteractive apt-get upgrade -y && DEBIAN_FRONTEND=noninteractive apt-get install -y subversion git curl wget netcat && DEBIAN_FRONTEND=noninteractive apt-get install -y g++ make perl ruby python && DEBUAN_FRONTEND=noninteractive apt-get install -y sudo vim nano man 41 ---> Using cache 42 ---> 1bcd20d5e748 31 $ ./start_shell.sh ubuntu-focal 32 specified service: ubuntu-focal 33 Building ubuntu-focal 34 Step 1/17 : FROM ubuntu:focal 35 ---> 2a4d239ad3cc 43 36 (中略) 44 Step 16/16 : RUN chmod -R +x ./scripts && sync && ./scripts/setup_user.sh 45 ---> Using cache 46 ---> 73eb8df2cb24 47 Successfully built 73eb8df2cb24 48 Successfully tagged test-docker-toppers_ubuntu-cosmic:latest 49 Creating network "test-docker-toppers_default" with the default driver 50 Creating test-docker-toppers_ubuntu-cosmic_1 ... done 51 To run a command as administrator (user "root"), use "sudo <command>". 52 See "man sudo_root" for details. 53 54 saito@20a9a0a8857c:~$ 37 Step 17/17 : ENTRYPOINT ["sh", "-c", "./scripts/entrypoint.sh"] 38 ---> Running in a889fa84e8da 39 Removing intermediate container a889fa84e8da 40 ---> 2c06a4aefc19 41 Successfully built 2c06a4aefc19 42 Successfully tagged ssprpi3b_ubuntu-focal:latest 43 Creating network "ssprpi3b_default" with the default driver 44 Creating ssprpi3b_ubuntu-focal_1 ... 45 Creating ssprpi3b_ubuntu-focal_1 ... done 46 saito@3b8b7cd91353:~$ 55 47 }}} 56 48 … … 58 50 59 51 === 2. ソースコードのセットアップおよびビルド 60 61 {{{ 62 # (2-1) 作業ディレクトリへ移動 (dockerの設定にて ~/workdir ディレクトリをホストと共有している) 63 saito@20a9a0a8857c:~/workdir$ cd workdir 64 65 # (2-2) 本パッケージをダウンロード 66 saito@20a9a0a8857c:~/workdir$ svn co http://dev.toppers.jp/svn_user/contrib/ssp_rpi3/trunk ssp_rpi3 67 52 ==== (2-1) 作業ディレクトリへ移動 (dockerの設定にて ~/workdir ディレクトリをホストと共有している) 53 {{{ 54 saito@3b8b7cd91353:~$ cd workdir/ 55 }}} 56 ==== (2-2) 本パッケージをダウンロード 57 {{{ 58 saito@3b8b7cd91353:~/workdir$ svn co http://dev.toppers.jp/svn_user/contrib/ssp_rpi3/trunk ssp_rpi3 68 59 A ssp_rpi3/install.sh 69 60 A ssp_rpi3/target 70 61 A ssp_rpi3/target/rpi_arm64_gcc 71 A ssp_rpi3/target/rpi_arm64_gcc/target_sil.h72 A ssp_rpi3/target/rpi_arm64_gcc/target_serial.cfg73 A ssp_rpi3/target/rpi_arm64_gcc/target_timer.cfg74 62 (中略) 75 A ssp_rpi3/arch/arm64_gcc/common/core_kernel.h76 63 A ssp_rpi3/arch/arm64_gcc/common/core_timer.h 77 64 A ssp_rpi3/build_ssp.sh 78 リビジョン 384 をチェックアウトしました。 79 80 # (2-3) SSPカーネルコードのセットアップ及びビルド 81 # このスクリプトは$HOME/workdirが存在することを仮定. 82 # dockerを使わずにスクリプトを実行する場合は,カレントディレクトリに 83 # toppers_workdirというディレクトリが作成され,作業が継続される. 84 85 saito@20a9a0a8857c:~/workdir$ ssp_rpi3/build_ssp.sh 86 --2019-04-16 20:03:25-- https://releases.linaro.org/components/toolchain/binaries/7.2-2017.11/aarch64-elf/gcc-linaro-7.2.1-2017.11-x86_64_aarch64-elf.tar.xz 65 Checked out revision 406. 66 }}} 67 68 ==== (2-3) SSPカーネルコードのセットアップ及びビルド 69 * このスクリプトは$HOME/workdirが存在することを仮定. 70 * dockerを使わずにスクリプトを実行する場合,カレントディレクトリに toppers_workdirというディレクトリが作成され,作業が継続される. 71 72 {{{ 73 saito@3b8b7cd91353:~/workdir$ ssp_rpi3/build_ssp.sh 74 --2020-03-10 17:47:37-- https://releases.linaro.org/components/toolchain/binaries/7.2-2017.11/aarch64-elf/gcc-linaro-7.2.1-2017.11-x86_64_aarch64-elf.tar.xz 87 75 releases.linaro.org (releases.linaro.org) をDNSに問いあわせています... 13.228.101.204 88 76 releases.linaro.org (releases.linaro.org)|13.228.101.204|:443 に接続しています... 接続しました。 … … 97 85 --rom-symbol ssp.syms --rom-image ssp.srec 98 86 configuration check passed 99 saito@20a9a0a8857c:~/workdir$100 87 }}} 101 88 … … 165 152 166 153 ==== 3.2 QEMUでの実行確認 167 {{{ 168 # (3-1) QEMU で実行開始 169 saito@ 4e396ad0381d:~/workdir$ cd ssp/build/170 saito@ 4e396ad0381d:~/workdir/ssp/build$ qemu-system-aarch64 -M raspi3 -display none -serial stdio -kernel ssp171 172 TOPPERS/SSP Kernel 1.3.0 for RPI_ARM64 ( Apr 16 2019 , 20:05:38)154 ==== (3-1) 実行開始 155 {{{ 156 saito@3b8b7cd91353:~/workdir$ cd ssp/build/ 157 saito@3b8b7cd91353:~/workdir/ssp/build$ qemu-system-aarch64 -M raspi3 -display none -serial stdio -kernel ssp 158 159 TOPPERS/SSP Kernel 1.3.0 for RPI_ARM64 (Mar 10 2020 , 17:49:07) 173 160 Copyright (C) 2010 by Meika Sugimoto 174 161 Copyright (C) 2010 by Naoki Saito … … 184 171 }}} 185 172 173 ==== (3-2) 実行終了 186 174 QEMUを終了するには,Ctrl-c を押します. 187 175 188 176 {{{ 189 177 # (Ctrl-c を押す) 190 QEMU: Terminated 178 qemu-system-aarch64: terminating on signal 2 179 saito@3b8b7cd91353:~/workdir/ssp/build$ 191 180 }}} 192 181 193 182 コンテナのシェルを抜ける場合は exit を実行します. 194 183 195 {{{ 196 # シェルを終了する 197 saito@ 4e396ad0381d:~/workdir/ssp/build$ exit184 ==== (3-3) シェルを終了する 185 {{{ 186 saito@3b8b7cd91353:~/workdir/ssp/build$ exit 198 187 ログアウト 199 188 $ … … 204 193 {{{ 205 194 # 再度シェルを立ち上げる(引数を忘れない) 206 $ ./start_shell.sh ubuntu- cosmic207 specified service: ubuntu- cosmic208 test-docker-toppers_ubuntu-cosmic_1 is up-to-date209 saito@ 4e396ad0381d:~$195 $ ./start_shell.sh ubuntu-focal 196 specified service: ubuntu-focal 197 ssprpi3b_ubuntu-focal_1 is up-to-date 198 saito@3b8b7cd91353:~$ 210 199 }}} 211 200