diff --git a/README.md b/README.md new file mode 100644 index 0000000..cf0d343 --- /dev/null +++ b/README.md @@ -0,0 +1,53 @@ +# Cross Complie 環境 (Docker + crosstool-ng) + +Cross Complie 環境の Docker Image を作成します。 + +# 作成方法 + +## 事前準備 +docker, docker-compose をインストールしておくこと。 + +## ビルド用の yml, Dockerfile をダウンロードする。 +下記、実行する。 +``` +git clone https://ehobby.jp/gitbucket/git/kei-n/cross-compiler.git +``` + +## Docker イメージ作成 + +### crosstool-ng のイメージ作成 +次のコマンドを実行する。 +約 700MB 程度のイメージが作成されます。 +``` +docker-compose build crosstool-ng +``` + +### aarch64-rpi3-linux-gnu のクロスコンパイラが入ったイメージ作成 +次のコマンドを実行する。 +約 15GB 程度のイメージが作成されます。ビルドに時間かかります。(マシンスペックによるが 1Hr 程度) +``` +docker-compose build aarch64-rpi3-linux-gnu +``` + +# 使い方 + +## コンテナ起動 +次のコマンドで aarch64-rpi3-linux-gnu のコンテナを起動します。 +``` +docker-compose up -d +``` + +## ビルド +1. ビルド対象のソースを target 配下に格納します。(コンテナ内の target になります) +2. 次のコマンドでコンテナにログインし、ビルドします。 +``` +# は、docker ps により出力される aarch64-rpi3-linux-gnu の CONTAINER ID。 +docker exec -it /bin/bash +``` +次のコマンドでも可 +``` +docker exec -it `docker ps | sed -n -e "s/^\(.*\)\s\+aarch64-rpi3-linux-gnu.*/\1/p"` /bin/bash +``` + +参照: https://ehobby.jp/~kei-n/wiki/?cmd=e + diff --git a/README.md b/README.md new file mode 100644 index 0000000..cf0d343 --- /dev/null +++ b/README.md @@ -0,0 +1,53 @@ +# Cross Complie 環境 (Docker + crosstool-ng) + +Cross Complie 環境の Docker Image を作成します。 + +# 作成方法 + +## 事前準備 +docker, docker-compose をインストールしておくこと。 + +## ビルド用の yml, Dockerfile をダウンロードする。 +下記、実行する。 +``` +git clone https://ehobby.jp/gitbucket/git/kei-n/cross-compiler.git +``` + +## Docker イメージ作成 + +### crosstool-ng のイメージ作成 +次のコマンドを実行する。 +約 700MB 程度のイメージが作成されます。 +``` +docker-compose build crosstool-ng +``` + +### aarch64-rpi3-linux-gnu のクロスコンパイラが入ったイメージ作成 +次のコマンドを実行する。 +約 15GB 程度のイメージが作成されます。ビルドに時間かかります。(マシンスペックによるが 1Hr 程度) +``` +docker-compose build aarch64-rpi3-linux-gnu +``` + +# 使い方 + +## コンテナ起動 +次のコマンドで aarch64-rpi3-linux-gnu のコンテナを起動します。 +``` +docker-compose up -d +``` + +## ビルド +1. ビルド対象のソースを target 配下に格納します。(コンテナ内の target になります) +2. 次のコマンドでコンテナにログインし、ビルドします。 +``` +# は、docker ps により出力される aarch64-rpi3-linux-gnu の CONTAINER ID。 +docker exec -it /bin/bash +``` +次のコマンドでも可 +``` +docker exec -it `docker ps | sed -n -e "s/^\(.*\)\s\+aarch64-rpi3-linux-gnu.*/\1/p"` /bin/bash +``` + +参照: https://ehobby.jp/~kei-n/wiki/?cmd=e + diff --git a/aarch64-rpi3-linux-gnu/Dockerfile b/aarch64-rpi3-linux-gnu/Dockerfile new file mode 100644 index 0000000..15a9b10 --- /dev/null +++ b/aarch64-rpi3-linux-gnu/Dockerfile @@ -0,0 +1,12 @@ +FROM crosstool-ng:latest + +WORKDIR /home/crosstool-ng + +RUN \ + ct-ng aarch64-rpi3-linux-gnu && \ + ct-ng build + +ENV PATH $PATH:/home/crosstool-ng/x-tools/aarch64-rpi3-linux-gnu/bin + +CMD ["bash"] + diff --git a/README.md b/README.md new file mode 100644 index 0000000..cf0d343 --- /dev/null +++ b/README.md @@ -0,0 +1,53 @@ +# Cross Complie 環境 (Docker + crosstool-ng) + +Cross Complie 環境の Docker Image を作成します。 + +# 作成方法 + +## 事前準備 +docker, docker-compose をインストールしておくこと。 + +## ビルド用の yml, Dockerfile をダウンロードする。 +下記、実行する。 +``` +git clone https://ehobby.jp/gitbucket/git/kei-n/cross-compiler.git +``` + +## Docker イメージ作成 + +### crosstool-ng のイメージ作成 +次のコマンドを実行する。 +約 700MB 程度のイメージが作成されます。 +``` +docker-compose build crosstool-ng +``` + +### aarch64-rpi3-linux-gnu のクロスコンパイラが入ったイメージ作成 +次のコマンドを実行する。 +約 15GB 程度のイメージが作成されます。ビルドに時間かかります。(マシンスペックによるが 1Hr 程度) +``` +docker-compose build aarch64-rpi3-linux-gnu +``` + +# 使い方 + +## コンテナ起動 +次のコマンドで aarch64-rpi3-linux-gnu のコンテナを起動します。 +``` +docker-compose up -d +``` + +## ビルド +1. ビルド対象のソースを target 配下に格納します。(コンテナ内の target になります) +2. 次のコマンドでコンテナにログインし、ビルドします。 +``` +# は、docker ps により出力される aarch64-rpi3-linux-gnu の CONTAINER ID。 +docker exec -it /bin/bash +``` +次のコマンドでも可 +``` +docker exec -it `docker ps | sed -n -e "s/^\(.*\)\s\+aarch64-rpi3-linux-gnu.*/\1/p"` /bin/bash +``` + +参照: https://ehobby.jp/~kei-n/wiki/?cmd=e + diff --git a/aarch64-rpi3-linux-gnu/Dockerfile b/aarch64-rpi3-linux-gnu/Dockerfile new file mode 100644 index 0000000..15a9b10 --- /dev/null +++ b/aarch64-rpi3-linux-gnu/Dockerfile @@ -0,0 +1,12 @@ +FROM crosstool-ng:latest + +WORKDIR /home/crosstool-ng + +RUN \ + ct-ng aarch64-rpi3-linux-gnu && \ + ct-ng build + +ENV PATH $PATH:/home/crosstool-ng/x-tools/aarch64-rpi3-linux-gnu/bin + +CMD ["bash"] + diff --git a/crosstool-ng/Dockerfile b/crosstool-ng/Dockerfile new file mode 100644 index 0000000..dda1733 --- /dev/null +++ b/crosstool-ng/Dockerfile @@ -0,0 +1,50 @@ +FROM debian:latest + +ENV DEBIAN_FRONTEND noninteractive + +WORKDIR /usr/local/src + +RUN \ + apt-get update && \ + apt-get -y upgrade && \ + apt-get install -y \ + sudo \ + python3 \ + python3-dev \ + wget \ + build-essential \ + binutils \ + gperf \ + bison \ + flex \ + texinfo \ + gawk \ + libtool \ + libtool-bin \ + automake \ + libncurses5-dev \ + libexpat1-dev \ + unzip \ + musl-dev \ + libnewlib-dev \ + mold \ + help2man && \ + rm -rf /var/lib/apt/lists/* + +RUN \ + wget http://crosstool-ng.org/download/crosstool-ng/crosstool-ng-1.27.0.tar.bz2 && \ + tar xf crosstool-ng-*.tar.* && \ + cd crosstool-ng-* && \ + ./configure && \ + make install + +RUN \ + useradd -m crosstool-ng && \ + echo "crosstool-ng ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/crosstool-ng + +USER crosstool-ng + +WORKDIR /home/crosstool-ng + +CMD ["bash"] + diff --git a/README.md b/README.md new file mode 100644 index 0000000..cf0d343 --- /dev/null +++ b/README.md @@ -0,0 +1,53 @@ +# Cross Complie 環境 (Docker + crosstool-ng) + +Cross Complie 環境の Docker Image を作成します。 + +# 作成方法 + +## 事前準備 +docker, docker-compose をインストールしておくこと。 + +## ビルド用の yml, Dockerfile をダウンロードする。 +下記、実行する。 +``` +git clone https://ehobby.jp/gitbucket/git/kei-n/cross-compiler.git +``` + +## Docker イメージ作成 + +### crosstool-ng のイメージ作成 +次のコマンドを実行する。 +約 700MB 程度のイメージが作成されます。 +``` +docker-compose build crosstool-ng +``` + +### aarch64-rpi3-linux-gnu のクロスコンパイラが入ったイメージ作成 +次のコマンドを実行する。 +約 15GB 程度のイメージが作成されます。ビルドに時間かかります。(マシンスペックによるが 1Hr 程度) +``` +docker-compose build aarch64-rpi3-linux-gnu +``` + +# 使い方 + +## コンテナ起動 +次のコマンドで aarch64-rpi3-linux-gnu のコンテナを起動します。 +``` +docker-compose up -d +``` + +## ビルド +1. ビルド対象のソースを target 配下に格納します。(コンテナ内の target になります) +2. 次のコマンドでコンテナにログインし、ビルドします。 +``` +# は、docker ps により出力される aarch64-rpi3-linux-gnu の CONTAINER ID。 +docker exec -it /bin/bash +``` +次のコマンドでも可 +``` +docker exec -it `docker ps | sed -n -e "s/^\(.*\)\s\+aarch64-rpi3-linux-gnu.*/\1/p"` /bin/bash +``` + +参照: https://ehobby.jp/~kei-n/wiki/?cmd=e + diff --git a/aarch64-rpi3-linux-gnu/Dockerfile b/aarch64-rpi3-linux-gnu/Dockerfile new file mode 100644 index 0000000..15a9b10 --- /dev/null +++ b/aarch64-rpi3-linux-gnu/Dockerfile @@ -0,0 +1,12 @@ +FROM crosstool-ng:latest + +WORKDIR /home/crosstool-ng + +RUN \ + ct-ng aarch64-rpi3-linux-gnu && \ + ct-ng build + +ENV PATH $PATH:/home/crosstool-ng/x-tools/aarch64-rpi3-linux-gnu/bin + +CMD ["bash"] + diff --git a/crosstool-ng/Dockerfile b/crosstool-ng/Dockerfile new file mode 100644 index 0000000..dda1733 --- /dev/null +++ b/crosstool-ng/Dockerfile @@ -0,0 +1,50 @@ +FROM debian:latest + +ENV DEBIAN_FRONTEND noninteractive + +WORKDIR /usr/local/src + +RUN \ + apt-get update && \ + apt-get -y upgrade && \ + apt-get install -y \ + sudo \ + python3 \ + python3-dev \ + wget \ + build-essential \ + binutils \ + gperf \ + bison \ + flex \ + texinfo \ + gawk \ + libtool \ + libtool-bin \ + automake \ + libncurses5-dev \ + libexpat1-dev \ + unzip \ + musl-dev \ + libnewlib-dev \ + mold \ + help2man && \ + rm -rf /var/lib/apt/lists/* + +RUN \ + wget http://crosstool-ng.org/download/crosstool-ng/crosstool-ng-1.27.0.tar.bz2 && \ + tar xf crosstool-ng-*.tar.* && \ + cd crosstool-ng-* && \ + ./configure && \ + make install + +RUN \ + useradd -m crosstool-ng && \ + echo "crosstool-ng ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/crosstool-ng + +USER crosstool-ng + +WORKDIR /home/crosstool-ng + +CMD ["bash"] + diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..6f0b520 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,15 @@ +version: '3' +services: + crosstool-ng: + build: ./crosstool-ng + image: crosstool-ng + tty: true + profiles: ["crosstool-ng"] + + aarch64-rpi3-linux-gnu: + build: ./aarch64-rpi3-linux-gnu + image: aarch64-rpi3-linux-gnu + tty: true + volumes: + - ./target:/home/crosstool-ng/target + diff --git a/README.md b/README.md new file mode 100644 index 0000000..cf0d343 --- /dev/null +++ b/README.md @@ -0,0 +1,53 @@ +# Cross Complie 環境 (Docker + crosstool-ng) + +Cross Complie 環境の Docker Image を作成します。 + +# 作成方法 + +## 事前準備 +docker, docker-compose をインストールしておくこと。 + +## ビルド用の yml, Dockerfile をダウンロードする。 +下記、実行する。 +``` +git clone https://ehobby.jp/gitbucket/git/kei-n/cross-compiler.git +``` + +## Docker イメージ作成 + +### crosstool-ng のイメージ作成 +次のコマンドを実行する。 +約 700MB 程度のイメージが作成されます。 +``` +docker-compose build crosstool-ng +``` + +### aarch64-rpi3-linux-gnu のクロスコンパイラが入ったイメージ作成 +次のコマンドを実行する。 +約 15GB 程度のイメージが作成されます。ビルドに時間かかります。(マシンスペックによるが 1Hr 程度) +``` +docker-compose build aarch64-rpi3-linux-gnu +``` + +# 使い方 + +## コンテナ起動 +次のコマンドで aarch64-rpi3-linux-gnu のコンテナを起動します。 +``` +docker-compose up -d +``` + +## ビルド +1. ビルド対象のソースを target 配下に格納します。(コンテナ内の target になります) +2. 次のコマンドでコンテナにログインし、ビルドします。 +``` +# は、docker ps により出力される aarch64-rpi3-linux-gnu の CONTAINER ID。 +docker exec -it /bin/bash +``` +次のコマンドでも可 +``` +docker exec -it `docker ps | sed -n -e "s/^\(.*\)\s\+aarch64-rpi3-linux-gnu.*/\1/p"` /bin/bash +``` + +参照: https://ehobby.jp/~kei-n/wiki/?cmd=e + diff --git a/aarch64-rpi3-linux-gnu/Dockerfile b/aarch64-rpi3-linux-gnu/Dockerfile new file mode 100644 index 0000000..15a9b10 --- /dev/null +++ b/aarch64-rpi3-linux-gnu/Dockerfile @@ -0,0 +1,12 @@ +FROM crosstool-ng:latest + +WORKDIR /home/crosstool-ng + +RUN \ + ct-ng aarch64-rpi3-linux-gnu && \ + ct-ng build + +ENV PATH $PATH:/home/crosstool-ng/x-tools/aarch64-rpi3-linux-gnu/bin + +CMD ["bash"] + diff --git a/crosstool-ng/Dockerfile b/crosstool-ng/Dockerfile new file mode 100644 index 0000000..dda1733 --- /dev/null +++ b/crosstool-ng/Dockerfile @@ -0,0 +1,50 @@ +FROM debian:latest + +ENV DEBIAN_FRONTEND noninteractive + +WORKDIR /usr/local/src + +RUN \ + apt-get update && \ + apt-get -y upgrade && \ + apt-get install -y \ + sudo \ + python3 \ + python3-dev \ + wget \ + build-essential \ + binutils \ + gperf \ + bison \ + flex \ + texinfo \ + gawk \ + libtool \ + libtool-bin \ + automake \ + libncurses5-dev \ + libexpat1-dev \ + unzip \ + musl-dev \ + libnewlib-dev \ + mold \ + help2man && \ + rm -rf /var/lib/apt/lists/* + +RUN \ + wget http://crosstool-ng.org/download/crosstool-ng/crosstool-ng-1.27.0.tar.bz2 && \ + tar xf crosstool-ng-*.tar.* && \ + cd crosstool-ng-* && \ + ./configure && \ + make install + +RUN \ + useradd -m crosstool-ng && \ + echo "crosstool-ng ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/crosstool-ng + +USER crosstool-ng + +WORKDIR /home/crosstool-ng + +CMD ["bash"] + diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..6f0b520 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,15 @@ +version: '3' +services: + crosstool-ng: + build: ./crosstool-ng + image: crosstool-ng + tty: true + profiles: ["crosstool-ng"] + + aarch64-rpi3-linux-gnu: + build: ./aarch64-rpi3-linux-gnu + image: aarch64-rpi3-linux-gnu + tty: true + volumes: + - ./target:/home/crosstool-ng/target + diff --git a/target/.bash_history b/target/.bash_history new file mode 100644 index 0000000..0eee24b --- /dev/null +++ b/target/.bash_history @@ -0,0 +1,2 @@ +ls +exit diff --git a/README.md b/README.md new file mode 100644 index 0000000..cf0d343 --- /dev/null +++ b/README.md @@ -0,0 +1,53 @@ +# Cross Complie 環境 (Docker + crosstool-ng) + +Cross Complie 環境の Docker Image を作成します。 + +# 作成方法 + +## 事前準備 +docker, docker-compose をインストールしておくこと。 + +## ビルド用の yml, Dockerfile をダウンロードする。 +下記、実行する。 +``` +git clone https://ehobby.jp/gitbucket/git/kei-n/cross-compiler.git +``` + +## Docker イメージ作成 + +### crosstool-ng のイメージ作成 +次のコマンドを実行する。 +約 700MB 程度のイメージが作成されます。 +``` +docker-compose build crosstool-ng +``` + +### aarch64-rpi3-linux-gnu のクロスコンパイラが入ったイメージ作成 +次のコマンドを実行する。 +約 15GB 程度のイメージが作成されます。ビルドに時間かかります。(マシンスペックによるが 1Hr 程度) +``` +docker-compose build aarch64-rpi3-linux-gnu +``` + +# 使い方 + +## コンテナ起動 +次のコマンドで aarch64-rpi3-linux-gnu のコンテナを起動します。 +``` +docker-compose up -d +``` + +## ビルド +1. ビルド対象のソースを target 配下に格納します。(コンテナ内の target になります) +2. 次のコマンドでコンテナにログインし、ビルドします。 +``` +# は、docker ps により出力される aarch64-rpi3-linux-gnu の CONTAINER ID。 +docker exec -it /bin/bash +``` +次のコマンドでも可 +``` +docker exec -it `docker ps | sed -n -e "s/^\(.*\)\s\+aarch64-rpi3-linux-gnu.*/\1/p"` /bin/bash +``` + +参照: https://ehobby.jp/~kei-n/wiki/?cmd=e + diff --git a/aarch64-rpi3-linux-gnu/Dockerfile b/aarch64-rpi3-linux-gnu/Dockerfile new file mode 100644 index 0000000..15a9b10 --- /dev/null +++ b/aarch64-rpi3-linux-gnu/Dockerfile @@ -0,0 +1,12 @@ +FROM crosstool-ng:latest + +WORKDIR /home/crosstool-ng + +RUN \ + ct-ng aarch64-rpi3-linux-gnu && \ + ct-ng build + +ENV PATH $PATH:/home/crosstool-ng/x-tools/aarch64-rpi3-linux-gnu/bin + +CMD ["bash"] + diff --git a/crosstool-ng/Dockerfile b/crosstool-ng/Dockerfile new file mode 100644 index 0000000..dda1733 --- /dev/null +++ b/crosstool-ng/Dockerfile @@ -0,0 +1,50 @@ +FROM debian:latest + +ENV DEBIAN_FRONTEND noninteractive + +WORKDIR /usr/local/src + +RUN \ + apt-get update && \ + apt-get -y upgrade && \ + apt-get install -y \ + sudo \ + python3 \ + python3-dev \ + wget \ + build-essential \ + binutils \ + gperf \ + bison \ + flex \ + texinfo \ + gawk \ + libtool \ + libtool-bin \ + automake \ + libncurses5-dev \ + libexpat1-dev \ + unzip \ + musl-dev \ + libnewlib-dev \ + mold \ + help2man && \ + rm -rf /var/lib/apt/lists/* + +RUN \ + wget http://crosstool-ng.org/download/crosstool-ng/crosstool-ng-1.27.0.tar.bz2 && \ + tar xf crosstool-ng-*.tar.* && \ + cd crosstool-ng-* && \ + ./configure && \ + make install + +RUN \ + useradd -m crosstool-ng && \ + echo "crosstool-ng ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/crosstool-ng + +USER crosstool-ng + +WORKDIR /home/crosstool-ng + +CMD ["bash"] + diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..6f0b520 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,15 @@ +version: '3' +services: + crosstool-ng: + build: ./crosstool-ng + image: crosstool-ng + tty: true + profiles: ["crosstool-ng"] + + aarch64-rpi3-linux-gnu: + build: ./aarch64-rpi3-linux-gnu + image: aarch64-rpi3-linux-gnu + tty: true + volumes: + - ./target:/home/crosstool-ng/target + diff --git a/target/.bash_history b/target/.bash_history new file mode 100644 index 0000000..0eee24b --- /dev/null +++ b/target/.bash_history @@ -0,0 +1,2 @@ +ls +exit diff --git a/target/.gitkeep b/target/.gitkeep new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/target/.gitkeep