Changes between Version 2 and Version 3 of ssp_rpi3


Ignore:
Timestamp:
Mar 10, 2020, 6:02:08 PM (4 years ago)
Author:
nmir-saito
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ssp_rpi3

    v2 v3  
    77== 動作確認に必要なもの
    88
    9 * Docker : Docker上のコンテナ(仮想環境)を動かすために使います.Ubuntu cosmic(18.10) ベースのLinuxシステムをお使いの場合は手順2.のスクリプトだけを実行することもできます.
     9* Docker : Docker上のコンテナ(仮想環境)を動かすために使います.Ubuntu cosmic(18.10) 以降のLinuxシステムをお使いの場合は手順2.のスクリプトだけを実行することもできます.
    1010* Git : Dockerのスクリプトを取得するのに使います.
    1111* コマンドライン環境:コマンドの実行にbashシェルを使います.Mac ならターミナルアプリ,Windowsなら MinGW など.
    1212
    1313== Dockerを用いた動作確認手順
    14 以下ではMacOSのターミナルアプリで作業する際の様子を示します.他のホストOSで使用する場合もほぼ同様と思います.
     14以下では Linux の bashシェルで作業する際の様子を示します.他のホストOSで使用する場合もほぼ同様と思います.
    1515
    1616=== 1. Dockerコンテナの構築およびシェルの起動
    17 {{{
    18 # (1-1) Dockerスクリプトの取得(カレントディレクトリに docker-toppers というディレクトリが作成される)
    19 
     17==== (1-1) Dockerスクリプトの取得(カレントディレクトリに docker-toppers というディレクトリが作成される)
     18{{{
    2019$ git clone https://github.com/nmiri-nagoya-nsaito/docker-toppers.git
    2120Cloning 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 
     21remote: Enumerating objects: 9, done.
     22remote: Counting objects: 100% (9/9), done.
     23remote: Compressing objects: 100% (9/9), done.
     24remote: Total 122 (delta 0), reused 8 (delta 0), pack-reused 113
     25Receiving objects: 100% (122/122), 16.83 KiB | 3.37 MiB/s, done.
     26Resolving deltas: 100% (46/46), done.
     27}}}
     28==== (1-2) スクリプトのディレクトリへ移動し,コンテナのシェルを起動する(詳細はスクリプト参照)
     29{{{
    2830$ 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
     32specified service: ubuntu-focal
     33Building ubuntu-focal
     34Step 1/17 : FROM ubuntu:focal
     35 ---> 2a4d239ad3cc
    4336(中略)
    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:~$
     37Step 17/17 : ENTRYPOINT ["sh", "-c", "./scripts/entrypoint.sh"]
     38 ---> Running in a889fa84e8da
     39Removing intermediate container a889fa84e8da
     40 ---> 2c06a4aefc19
     41Successfully built 2c06a4aefc19
     42Successfully tagged ssprpi3b_ubuntu-focal:latest
     43Creating network "ssprpi3b_default" with the default driver
     44Creating ssprpi3b_ubuntu-focal_1 ...
     45Creating ssprpi3b_ubuntu-focal_1 ... done
     46saito@3b8b7cd91353:~$
    5547}}}
    5648
     
    5850
    5951=== 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{{{
     54saito@3b8b7cd91353:~$ cd workdir/
     55}}}
     56==== (2-2) 本パッケージをダウンロード
     57{{{
     58saito@3b8b7cd91353:~/workdir$ svn co http://dev.toppers.jp/svn_user/contrib/ssp_rpi3/trunk ssp_rpi3
    6859A    ssp_rpi3/install.sh
    6960A    ssp_rpi3/target
    7061A    ssp_rpi3/target/rpi_arm64_gcc
    71 A    ssp_rpi3/target/rpi_arm64_gcc/target_sil.h
    72 A    ssp_rpi3/target/rpi_arm64_gcc/target_serial.cfg
    73 A    ssp_rpi3/target/rpi_arm64_gcc/target_timer.cfg
    7462(中略)
    75 A    ssp_rpi3/arch/arm64_gcc/common/core_kernel.h
    7663A    ssp_rpi3/arch/arm64_gcc/common/core_timer.h
    7764A    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
     65Checked out revision 406.
     66}}}
     67
     68==== (2-3) SSPカーネルコードのセットアップ及びビルド
     69* このスクリプトは$HOME/workdirが存在することを仮定.
     70* dockerを使わずにスクリプトを実行する場合,カレントディレクトリに toppers_workdirというディレクトリが作成され,作業が継続される.
     71
     72{{{
     73saito@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
    8775releases.linaro.org (releases.linaro.org) をDNSに問いあわせています... 13.228.101.204
    8876releases.linaro.org (releases.linaro.org)|13.228.101.204|:443 に接続しています... 接続しました。
     
    9785                        --rom-symbol ssp.syms --rom-image ssp.srec
    9886configuration check passed
    99 saito@20a9a0a8857c:~/workdir$
    10087}}}
    10188
     
    165152
    166153==== 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 ssp
    171 
    172 TOPPERS/SSP Kernel 1.3.0  for RPI_ARM64 (Apr 16 2019 , 20:05:38)
     154==== (3-1) 実行開始
     155{{{
     156saito@3b8b7cd91353:~/workdir$ cd ssp/build/
     157saito@3b8b7cd91353:~/workdir/ssp/build$ qemu-system-aarch64 -M raspi3 -display none -serial stdio -kernel ssp
     158
     159TOPPERS/SSP Kernel 1.3.0  for RPI_ARM64 (Mar 10 2020 , 17:49:07)
    173160Copyright (C) 2010 by Meika Sugimoto
    174161Copyright (C) 2010 by Naoki Saito
     
    184171}}}
    185172
     173==== (3-2) 実行終了
    186174QEMUを終了するには,Ctrl-c を押します.
    187175
    188176{{{
    189177# (Ctrl-c を押す)
    190 QEMU: Terminated
     178qemu-system-aarch64: terminating on signal 2
     179saito@3b8b7cd91353:~/workdir/ssp/build$
    191180}}}
    192181
    193182コンテナのシェルを抜ける場合は exit を実行します.
    194183
    195 {{{
    196 # シェルを終了する
    197 saito@4e396ad0381d:~/workdir/ssp/build$ exit
     184==== (3-3) シェルを終了する
     185{{{
     186saito@3b8b7cd91353:~/workdir/ssp/build$ exit
    198187ログアウト
    199188$
     
    204193{{{
    205194# 再度シェルを立ち上げる(引数を忘れない)
    206 $ ./start_shell.sh ubuntu-cosmic
    207 specified service: ubuntu-cosmic
    208 test-docker-toppers_ubuntu-cosmic_1 is up-to-date
    209 saito@4e396ad0381d:~$
     195$ ./start_shell.sh ubuntu-focal
     196specified service: ubuntu-focal
     197ssprpi3b_ubuntu-focal_1 is up-to-date
     198saito@3b8b7cd91353:~$
    210199}}}
    211200