Dockerどっかー使い方おかしかったんでしょうか。TOPPERS/SSP on RaspberryPi with Macintosh編:9つの関門

MacintoshのDockerでTOPPERS/FMPがコンパイルできた。
https://qiita.com/kaizen_nagoya/items/9c46c6da8ceb64d2d7af

じゃ、SSPってsmallest set profileで最小なんだから簡単なはず。

どっかーって、どっからどっかーか分かりにくい。
開いているコマンド、どっちがどっかーか分かりにくい。
コマンドプロンプトの前に数字が並んでいるのがどっかー。

目次

第一部 はじめに
 関門1 gitコマンド
第二部 docker構築
 関門2 Dockerアプリの起動
 関門3 Dockerのログイン?
 関門4 Dockerのどっか
第三部 コンフィギュレータ&クロスコンパイル ruby版
第四部 コンフィギュレータ&クロスコンパイル C++版
第五部 ファイルコピー
 関門5 dockerファイルのコピー
第六部 シリアルでモニタ
 関門6 USBシリアルドライバ
 関門7 minicom
第七部 ARM-USB-TINY-HとOpenOCD使ってデバッグ
 関門8 OpenOCDのコンパイル
 関門9 ARM-USB-TINY-HとGDB
第八部 対処したものをdockerにあげる
付録1 MacintoshのSDカード
付録2 失敗の記録
付録3 apt-utils
参考文献・URL

関門は5つ。

第一部 はじめに

1.1「名古屋のIoTは名古屋のOSで」

この資料は2017年Raspberry PIを使ったセミナ「名古屋のIoTは名古屋のOSで」の際に名古屋市工業研究所の斉藤直希が用意したものに基づいています。

情報源はこちら

https://github.com/nmiri-nagoya-nsaito/docker-toppers-ssp
Raspberry PIをraspbian以外でも使う実験を行います。
名古屋大学で設計されたTOPPERS/FMP, 杉本明加さんと名古屋市工業研究所で実装したTOPPERS/SSPなど名古屋のOSを試します。
ここではMacintoshで説明します。Windowsでも、同じようにDockerを利用することができます。下記を参考に実行してみてください。

1.3

6.6 Docker HUBからの利用

$ docker pull kaizenjapan/dockertoppersssp_ssp:latest
latest: Pulling from kaizenjapan/dockertoppersssp_ssp
Digest: sha256:aefd19f442a148d5f877b2811b9ca570c569cdc631c57b70f13dd895abc66b6b
Status: Image is up to date for kaizenjapan/dockertoppersssp_ssp:latest
KM-S03:~$ administrator$ docker run -it kaizenjapan/dockertoppersssp_ssp:latest /bin/bash
administrator@3e887bac2c72:~$ ls
scripts  workdir

「KM-S03:~$」がPC(Macintosh)のOSのコマンドプロンプト。「administrator@3e887bac2c72:~$」がdockerのコマンドプロンプト。docker run -it xxx /bin/bash が成功すれば、dockerの中で処理できる。Dockerの中は$$と表示する。

$$ ls
scripts  workdir
$$ cd workir
$$ sudo ../scripts/build_ssp_ruby.sh 
* snip *
$$ sudo ../scripts/build_ssp.sh
* snip *

さっきはsudoではなかった。sudoつけないとエラー?

1.2 git

関門1 gitコマンド

$ git clone https://github.com/nmiri-nagoya-nsaito/docker-toppers-ssp.git
-bash: git: No such file or directory

今時、gitの入っていないシステム少ないと思います。万が一、gitがなければ。

$ brew install git

そこから
https://github.com/nmiri-nagoya-nsaito/docker-toppers-ssp

$ git clone https://github.com/nmiri-nagoya-nsaito/docker-toppers-ssp.git
Cloning into 'docker-toppers-ssp'...
remote: Counting objects: 39, done.
remote: Total 39 (delta 0), reused 0 (delta 0), pack-reused 39
Unpacking objects: 100% (39/39), done.

$ cd docker-toppers-ssp
$ ls
README.md       docker-compose.yml  ssp         start_shell.sh

第二部 docker構築

関門2 Dockerアプリの起動

$  ./start_shell.sh
./start_shell.sh: line 7: docker-compose: command not found
./start_shell.sh: line 8: docker-compose: command not found

おお、Dockerアプリを起動していなかった。

関門3 Dockerのログイン?

$  ./start_shell.sh
ERROR: Bad response from Docker engine
Building ssp
ERROR: Bad response from Docker engine

Dockerアプリのログインをしてみた。

関門4 Dockerのどっか

$ cd work

$ git clone https://github.com/nmiri-nagoya-nsaito/docker-toppers-ssp.git
Cloning into 'docker-toppers-ssp'...
remote: Counting objects: 39, done.
remote: Total 39 (delta 0), reused 0 (delta 0), pack-reused 39
Unpacking objects: 100% (39/39), done.

$ ls
docker-toppers-ssp

$ cd docker-toppers-ssp/

$ ls
README.md       docker-compose.yml  ssp         start_shell.sh

$ ./start_shell.sh 
Building ssp
Step 1/16 : FROM ubuntu:xenial
 ---> 0458a4468cbc
Step 2/16 : MAINTAINER Naoki Saito <saito.naoki@nmiri.city.nagoya.jp>
 ---> Using cache
 ---> 8047ca89dbc1
Step 3/16 : RUN apt-get update
 ---> Using cache
 ---> 42eebc64fb8d
Step 4/16 : RUN DEBIAN_FRONTEND=noninteractive apt-get upgrade -y     && DEBIAN_FRONTEND=noninteractive apt-get install -y subversion git curl sudo vim man     && DEBIAN_FRONTEND=noninteractive apt-get install -y gcc-arm-none-eabi g++ make perl ruby     && DEBIAN_FRONTEND=noninteractive apt-get install -y libboost-dev libboost-system-dev          libboost-regex-dev libboost-filesystem-dev libboost-program-options-dev libxerces-c-dev
 ---> Running in 5a6d0aa5016a
Reading package lists...
Building dependency tree...
Reading state information...
Calculating upgrade...
The following packages will be upgraded:
  gcc-5-base libstdc++6 libsystemd0 libudev1 systemd systemd-sysv
6 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 4316 kB of archives.
After this operation, 5120 B of additional disk space will be used.
Get:1 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 libsystemd0 amd64 229-4ubuntu21.1 [205 kB]
Get:2 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 systemd amd64 229-4ubuntu21.1 [3634 kB]
Get:3 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 systemd-sysv amd64 229-4ubuntu21.1 [12.2 kB]
Get:4 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 libudev1 amd64 229-4ubuntu21.1 [54.9 kB]
Get:5 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 gcc-5-base amd64 5.4.0-6ubuntu1~16.04.6 [16.9 kB]
Get:6 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 libstdc++6 amd64 5.4.0-6ubuntu1~16.04.6 [393 kB]
debconf: delaying package configuration, since apt-utils is not installed

* snip *

記録(log)はこちら。
ssp raspberry pi 1/2
https://researchmap.jp/jox4rg62c-2000107/#_2000107
ssp raspberry pi 2/2
https://researchmap.jp/joyjf6ayh-2000107/#_2000107

なんとか。進んだ。さっきうまくいかなかった原因は不明。

第三部 コンフィギュレータ&クロスコンパイル ruby版

コマンドスクリプトで無事完了。

$$ cd workdir
$$ ../scripts/build_ssp_ruby.sh

$$で表示しているのは docker.
記録(log)はこちら
https://researchmap.jp/jo1inj7wp-2000107/#_2000107

$ ls
asp3  asp3-3.1.0.tar.gz  rubycfg_ssp  ssp-1.3.0.tar.gz  ssp_ruby

$ cd ssp_ruby

$ ls
MANIFEST  arch  build  cfg  configure  configure.rb  doc  extension  include  kernel  sample  syssvc  target  utils

$ cd build

$ ls
Makefile    cfg1_out.db         cfg2_out.db      eventflag.o   kernel_cfg.o          prc_config.o   ssp        sys_manage.o      task.o
alarm.o     cfg1_out.o          check.timestamp  exception.o   kernel_cfg.timestamp  prc_support.o  ssp.srec   syslog.o          task_manage.o
banner.o    cfg1_out.srec       cyclic.o         interrupt.o   libkernel.a           prc_timer.o    ssp.syms   target_config.o   time_event.o
cfg1_out    cfg1_out.syms       dataqueue.o      kernel_cfg.c  log_output.o          sample1.o      start.o    target_serial.o   time_manage.o
cfg1_out.c  cfg1_out.timestamp  deps             kernel_cfg.h  logtask.o             serial.o       startup.o  target_support.o  vasyslog.o

sspが出来上がり物。

第四部 コンフィギュレータ&クロスコンパイル C++版

コマンドスクリプトで無事完了。

$$ ../scripts/build_ssp.sh

記録(log)はこちら。
https://researchmap.jp/jojvcqz69-2000107/#_2000107

第五部 ファイルコピー

関門5 dockerファイルのコピー

ついついcpコマンドでコピーできるものと思っていた。

SDカードの根(root)にいるものとします。
SSPはdocker側のディレクトリ/home/administrator/workdir/ssp/build/ssp にあるものとします。すでにRaspbianの退避用フォルダが作ってあって、退避させている場合には次を飛ばしてください。

$ mkdir RB
$ cp *.* RB

$は入力促進記号(command prompt)です。$を入力する必要はありません。
入力促進記号の文字はOSの設定によって異なります。ここはdockerではありません。

dockerのIDの確認(Host OS:ここではMac OS)

$ docker ps
CONTAINER ID        IMAGE                       COMMAND             CREATED             STATUS              PORTS               NAMES
f6069be2d268        dockertoppersssp_ssp        "/bin/bash"         2 hours ago         Up 2 hours                              dockertoppersssp_ssp_1
2a02eaf04fef        dockertoppersfmprpi64_fmp   "/bin/bash"         12 days ago         Up 12 days                              dockertoppersfmprpi64_fmp_1

ssp用のフォルダも作っておきます。(sspを退避させる用)

$ mkdir ssp

ファイルの複写。ついでにfmpに合わせてssp.binにする。

$ docker cp f6069be2d268:/home/administrator/workdir/ssp/build/ssp /Volumes/boot/ssp/ssp.bin
$ cp ./ssp/* .

https://github.com/raspberrypi/firmware/tree/master/boot
からbootcode.bin, start.elfをダウンロードしてください。

最後のコマンドはsspフォルダに入れたものをコピー。

$ ls -al
total 5820
drwxrwxrwx  1 administrator  staff     1536  2 13 15:00 RP
-rwxrwxrwx@ 1 administrator  staff    52064  2 13 16:07 bootcode.bin
-rwxrwxrwx  1 administrator  staff       73  2  7 08:52 config.txt
drwxrwxrwx  1 administrator  staff      512  2 20 09:18 fmp
drwxrwxrwx  1 administrator  staff    10240 11 29 02:49 overlays
drwxrwxrwx  1 administrator  staff     1024  2 20 13:33 ssp
-rwxrwxrwx  1 administrator  staff   232420  2 20 13:34 ssp.bin
-rwxrwxrwx@ 1 administrator  staff  2821796  2 13 16:07 start.elf

念のために、中身を確認してください。特に、config.txt

$ cat config.txt
kernel=ssp.bin
arm_control=0x200
kernel_old=1
disable_commandline_tags=1

Raspberry Pi以外で操作している場合は、
SDを「取り出し」を選択して、SDカードをRaspberry Piに挿し直して電源投入。

Raspbianにいるのであれば、

$ reboot

でTOPPERS/SSPが起動します。

第六部 シリアルでモニタ

USB-シリアルピンのケーブルがあればモニタで確認できます。
https://www.amazon.co.jp/dp/B01KZWJRRE/
海外だったので2箇所に10本づつ発注。到着日時が同時だったのには驚き。
http://www.prolific.com.tw/US/ShowProduct.aspx?p_id=229&pcid=41

 関門6 USBシリアルドライバ

 関門7 minicom

第七部 ARM-USB-TINY-HとOpenOCD使ってデバッグ

 関門8 OpenOCDのコンパイル

道具類の導入と版

処理結果の記録(エラーのある時も、ない時も)

OSの違い、道具類の有無の違い、版の違いを確認する。

 関門9 ARM-USB-TINY-HとGDB

第八部 対処したものをdockerにあげる

せっかくうまく行ったら、dockerに変更したものをあげたい。
元がgitにあるのであれば、gitを更新するのがよい。

ただし、いろいろな確認をするために、自分用のdocker hubにあげて、いろんな人に試してもらうのもよい。

6.1 dockerの状況

$ docker ps -a
CONTAINER ID        IMAGE                       COMMAND                  CREATED             STATUS                          PORTS               NAMES
d16cdf58b5e5        dockertoppersfmprpi64_fmp   "/bin/bash"              About an hour ago   Exited (0) About a minute ago                       dockertoppersfmprpi64_fmp_1
8d864084ea72        ubuntu:xenial               "/bin/bash"              2 weeks ago         Exited (255) 2 weeks ago                            epic_lichterman

6.2 Docker HUBのID設定

すでにDocker HUBのIDをお持ちの方は読み飛ばしてください。
https://cloud.docker.com/

メールアドレス、パスワードを設定する。

メールが来る。

メールの中にURLをダブルクリックする。

(This link will expire in 2 days.)

2日は有効らしい。

6.3 Docker login and image name

docker ログイン

$ docker login
Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one.
Username (kaizenjapan): 
Password: 
Login Succeeded

 imageの名前

$ docker images
REPOSITORY                              TAG                 IMAGE ID            CREATED                  SIZE
dockertoppersssp_ssp                    latest              930a41ebf85a        5 hours ago              1.22GB
dockertoppersfmprpi64_fmp               latest              80dcd11ee9fd        13 days ago              1.22GB
kaizenjapan/dockertoppersfmprpi64_fmp   kaizenjapan         b329efb0b44b        13 days ago              1.24GB
ubuntu                                  xenial              0458a4468cbc        3 weeks ago              112MB
$ 

6.4 Docker Image の保存

$ docker commit f6069be2d268    kaizenjapan/dockertoppersssp_ssp 
sha256:ea33e497fa02427f09188e44d7b1de88929a83129c536320e0bd4faee2982307

$ docker images
REPOSITORY                              TAG                 IMAGE ID            CREATED                  SIZE
kaizenjapan/dockertoppersssp_ssp        latest              ea33e497fa02        Less than a second ago   1.23GB
kaizenjapan/dockertoppersfmprpi64_fmp   kaizenjapan         b329efb0b44b        13 days ago              1.24GB
ubuntu                                  xenial              0458a4468cbc        3 weeks ago              112MB 

6.5 Docker HUBへの登録

$ docker push kaizenjapan/dockertoppersssp_ssp:latest
The push refers to repository [docker.io/kaizenjapan/dockertoppersssp_ssp]
6a01e34d9a21: Pushed 
37c5b01ad7cf: Pushed 
d14f219aa6ce: Pushed 
bc9a88624c6a: Pushed 
9c1db7152d4e: Pushed 
02e0035303e2: Pushed 
132a00ced87b: Pushed 
dcdda9578391: Pushed 
468f183abebb: Pushed 
6f4ce6b88849: Pushed 
92914665e7f6: Pushed 
c98ef191df4b: Pushed 
9c7183e0ea88: Pushed 
ff986b10a018: Pushed 
latest: digest: sha256:aefd19f442a148d5f877b2811b9ca570c569cdc631c57b70f13dd895abc66b6b size: 3242

6.6 Docker HUBからの利用

KM-S03:~$ docker pull kaizenjapan/dockertoppersssp_ssp:latest
latest: Pulling from kaizenjapan/dockertoppersssp_ssp
Digest: sha256:aefd19f442a148d5f877b2811b9ca570c569cdc631c57b70f13dd895abc66b6b
Status: Image is up to date for kaizenjapan/dockertoppersssp_ssp:latest
KM-S03:~$ administrator$ docker run -it kaizenjapan/dockertoppersssp_ssp:latest /bin/bash
administrator@3e887bac2c72:~$ ls
scripts  workdir

「KM-S03:~$」がPC(Macintosh)のOSのコマンドプロンプト。「administrator@3e887bac2c72:~$」がdockerのコマンドプロンプト。docker run -it xxx /bin/bash が成功すれば、dockerの中で処理できる。Dockerの中は$$と表示する。

$$ ls
scripts  workdir
$$ cd worker
$$ sudo ../scripts/build_ssp_ruby.sh 
* snip *
$$ sudo ../scripts/build_ssp.sh
* snip *

さっきはsudoではなかった。sudoつけないとエラー?

付録1 MacintoshのSDカード

$ cd /Volumes/boot

でRaspbianのSDの根(root)に行けます。<bootという名前でSDを作成した場合>

dockerの中で、

$ cd /Volumes/boot
bash: cd: /Volumes/boot: そのようなファイルやディレクトリはありません

お、dockerの方だった。

付録2 失敗の記録

これは原因不明の失敗の記録です。多分、docker アプリの登録時のIDとパスワードが合っていないのかも。

$  ./start_shell.sh
Building ssp
Step 1/16 : FROM ubuntu:xenial
ERROR: Service 'ssp' failed to build: Get https://registry-1.docker.io/v2/library/ubuntu/manifests/xenial: unauthorized: incorrect username or password

何かがおかしいらしい。
./start_shell.shの中身を見る。

cat ./start_shell.sh
#!/usr/bin/env bash

set -eu

SERVICE=ssp

if [ "x$(docker-compose ps -q ${SERVICE})" = "x" ]; then
  docker-compose build ${SERVICE}
fi
docker-compose up -d ${SERVICE}
docker exec -i -t `docker-compose ps -q ${SERVICE}` bash --login

exit 0

順にコマンドを打ってみる。

docker-compose build ssp
Building ssp
Step 1/16 : FROM ubuntu:xenial
ERROR: Service 'ssp' failed to build: Get https://registry-1.docker.io/v2/library/ubuntu/manifests/xenial: unauthorized: incorrect username or password

Dockerファイルがどっかーにあるはず。

$ cd ssp
$ ls
Dockerfile  scripts

あった!中身確認。

$ cat Dockerfile
FROM ubuntu:xenial
MAINTAINER Naoki Saito <saito.naoki@nmiri.city.nagoya.jp>
RUN apt-get update
RUN DEBIAN_FRONTEND=noninteractive apt-get upgrade -y \
    && DEBIAN_FRONTEND=noninteractive apt-get install -y subversion git curl sudo vim man \
    && DEBIAN_FRONTEND=noninteractive apt-get install -y gcc-arm-none-eabi g++ make perl ruby \
    && DEBIAN_FRONTEND=noninteractive apt-get install -y libboost-dev libboost-system-dev \
         libboost-regex-dev libboost-filesystem-dev libboost-program-options-dev libxerces-c-dev

#
# create a user (UserID: ${USER} or "developer")
#
ARG USER
ENV user=${USER:-"developer"}
RUN adduser --gecos ",,," --disabled-password $user \
    && passwd -d $user \
    && usermod -G sudo $user \
    && echo $user ALL=NOPASSWD: ALL > /etc/sudoers.d/$user

###
### run custom scripts
###
USER root
WORKDIR /tmp
ADD ./scripts/root ./scripts
RUN chmod -R +x scripts \
    && ./scripts/setup_root.sh
WORKDIR /home/$user
ADD ./scripts/user ./scripts
RUN chown -R $user:$user ./scripts
USER $user
RUN chmod -R +x ./scripts \
    && ./scripts/setup_user.sh

fmpのDockerファイルと比べてみる。

$ cd ~/work
$ mkdir fmp
$ cd fmp
$  git clone https://github.com/nmiri-nagoya-nsaito/docker-toppers-fmp-rpi64.git
Cloning into 'docker-toppers-fmp-rpi64'...
remote: Counting objects: 43, done.
remote: Total 43 (delta 0), reused 0 (delta 0), pack-reused 43
Unpacking objects: 100% (43/43), done.
$ ls
docker-toppers-fmp-rpi64
$ cd docker-toppers-fmp-rpi64/
$ ls
README.md       fmp
docker-compose.yml  start_shell.sh
$ cd fmp
$ cat Dockerfile 
FROM ubuntu:xenial
MAINTAINER Naoki Saito <saito.naoki@nmiri.city.nagoya.jp>
RUN apt-get update
RUN DEBIAN_FRONTEND=noninteractive apt-get upgrade -y \
    && DEBIAN_FRONTEND=noninteractive apt-get install -y subversion git curl wget sudo vim man \
    && DEBIAN_FRONTEND=noninteractive apt-get install -y gcc-arm-none-eabi g++ make perl ruby \
    && DEBIAN_FRONTEND=noninteractive apt-get install -y libboost-dev libboost-system-dev \
         libboost-regex-dev libboost-filesystem-dev libboost-program-options-dev libxerces-c-dev

#
# create a user (UserID: ${USER} or "developer")
#
ARG USER
ENV user=${USER:-"developer"}
RUN adduser --gecos ",,," --disabled-password $user \
    && passwd -d $user \
    && usermod -G sudo $user \
    && echo $user ALL=NOPASSWD: ALL > /etc/sudoers.d/$user

###
### run custom scripts
###
USER root
WORKDIR /tmp
ADD ./scripts/root ./scripts
RUN chmod -R +x scripts \
    && sync \
    && ./scripts/setup_root.sh
WORKDIR /home/$user
ADD ./scripts/user ./scripts
RUN chown -R $user:$user ./scripts
USER $user
RUN chmod -R +x ./scripts \
    && sync \
    && ./scripts/setup_user.sh

起動スクリプト実行

./start_shell.sh 
Building fmp
Step 1/16 : FROM ubuntu:xenial
ERROR: Service 'fmp' failed to build: Get https://registry-1.docker.io/v2/library/ubuntu/manifests/xenial: unauthorized: incorrect username or password

あれ、同じエラー。そういや、今日は違う機材で作業してた。まずdocker関連のプロセスをみる。

$ ps -ax | grep docker 
25799 ??         0:00.01 /Library/PrivilegedHelperTools/com.docker.vmnetd
25812 ??         0:00.04 /Applications/Docker.app/Contents/MacOS/com.docker.supervisor -watchdog fd:0 -max-restarts 0 -restart-seconds 300
25813 ??         0:00.04 com.docker.osxfs serve --address fd:3 --connect /Users/administrator/Library/Containers/com.docker.docker/Data/connect --control fd:4
25814 ??         0:01.74 com.docker.vpnkit --ethernet fd:3 --port fd:4 --introspection fd:5 --diagnostics fd:6 --vsock-path /Users/administrator/Library/Containers/com.docker.docker/Data/connect --host-names docker.for.mac.localhost,docker.for.mac.host.internal --gateway-names docker.for.mac.gateway.internal,docker.for.mac.http.internal --listen-backlog 32 --mtu 1500 --allowed-bind-addresses 0.0.0.0 --http /Users/administrator/Library/Group Containers/group.com.docker/http_proxy.json --dhcp /Users/administrator/Library/Group Containers/group.com.docker/dhcp.json --port-max-idle-time 300 --max-connections 2000 --gateway-ip 192.168.65.1 --host-ip 192.168.65.2 --lowest-ip 192.168.65.3 --highest-ip 192.168.65.254 --log-destination asl
25815 ??         0:00.26 com.docker.driver.amd64-linux -addr fd:3 -debug
25819 ??         0:41.64 com.docker.hyperkit -A -u -F /Users/administrator/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/hyperkit.pid -c 2 -m 2048M -s 0:0,hostbridge -s 31,lpc -s 1:0,virtio-vpnkit,path=/Users/administrator/Library/Containers/com.docker.docker/Data/s50,uuid=acfd9c65-283c-4d61-b5e0-88ba250c8806 -s 2:0,ahci-hd,file:///Users/administrator/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/Docker.qcow2?sync=os&buffered=1,format=qcow,qcow-config=discard=true;compact_after_unmaps=262144;keep_erased=262144;runtime_asserts=false -s 3,virtio-sock,guest_cid=3,path=/Users/administrator/Library/Containers/com.docker.docker/Data,guest_forwards=2376;1525 -s 4,ahci-cd,/Applications/Docker.app/Contents/Resources/linuxkit/docker-for-mac.iso -s 5,ahci-cd,/Users/administrator/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/database.iso -s 6,virtio-rnd -s 7,virtio-9p,path=/Users/administrator/Library/Containers/com.docker.docker/Data/s51,tag=port -l com1,autopty=/Users/administrator/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/tty,log=/Users/administrator/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/console-ring -f bootrom,/Applications/Docker.app/Contents/Resources/uefi/UEFI.fd,,
26322 ttys004    0:00.00 grep docker

いっぺんお休みになってもらう。

$ kill 25812
$ kill 25813
-bash: kill: (25813) - No such process

dockererror.png

こりゃわからん。機材を変える。

付録3 apt-utils

apt-utilsの警告を事前に消すには

$$ sudo apt-get update
$$ sudo apt-get install apt-utils --fix-missing

記録(log)はこちら
https://researchmap.jp/joqfegmp9-2000107/#_2000107

まだうまくDockerfileへの組み込み方が分かっていない。
作業記録はこちら。
https://researchmap.jp/jobronm58-2000107/#_2000107

参考文献・URL

Dockerでホストとコンテナ間でのファイルコピー
https://qiita.com/gologo13/items/7e4e404af80377b48fd5

Raspberry PIのSDカードをRaspbian, TOPPERS/FMP, TOPPERS/SSP起動用に利用する
https://qiita.com/kaizen_nagoya/items/814cccdaa59dc09196e3

TOPPERS まとめ
https://qiita.com/kaizen_nagoya/items/9026c049cb0309b9d451

μITRON4.0仕様
http://www.ertl.jp/ITRON/SPEC/mitron4-j.html

docker

現在整理中

Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.