目次

カーネルおよび各種パッケージの準備

MA-S1xx シリーズ用のカーネルも MA-E3xx シリーズと同様、GitHub1) で公開しています。

GitHub


パッケージの導入

git の導入

カーネルは git で管理されていますので、ソースコードを取得するために git を導入します。

user1@mas1xx-devel:~$ sudo apt install git
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
以下の追加パッケージがインストールされます:
  git-man libbrotli1 libcurl3-gnutls liberror-perl libnghttp2-14 libpsl5 librtmp1 libssh-4 publicsuffix
提案パッケージ:
  gettext-base git-daemon-run | git-daemon-sysvinit git-doc git-el git-email git-gui gitk gitweb git-cvs
  git-mediawiki git-svn
以下のパッケージが新たにインストールされます:
  git git-man libbrotli1 libcurl3-gnutls liberror-perl libnghttp2-14 libpsl5 librtmp1 libssh-4 publicsuffix
アップグレード: 0 個、新規インストール: 10 個、削除: 0 個、保留: 0 個。
6,431 kB のアーカイブを取得する必要があります。
この操作後に追加で 41.2 MB のディスク容量が消費されます。
続行しますか? [Y/n] 


u-boot-tools の導入

u-boot 形式のイメージを作成するときに必要になりますので、u-boot-tools を導入します。

user1@mas1xx-devel:~$ sudo apt install u-boot-tools
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
以下の追加パッケージがインストールされます:
  device-tree-compiler libfdt1
以下のパッケージが新たにインストールされます:
  device-tree-compiler libfdt1 u-boot-tools
アップグレード: 0 個、新規インストール: 3 個、削除: 0 個、保留: 0 個。
432 kB のアーカイブを取得する必要があります。
この操作後に追加で 1,281 kB のディスク容量が消費されます。
続行しますか? [Y/n] 


squashfs-tools の導入

ファイルシステムのイメージを作成するときに必要となりますので、squashfs-tools を導入します。

user1@mas1xx-devel:~$ sudo apt install squashfs-tools
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
以下の追加パッケージがインストールされます:
  liblzo2-2
以下のパッケージが新たにインストールされます:
  liblzo2-2 squashfs-tools
アップグレード: 0 個、新規インストール: 2 個、削除: 0 個、保留: 0 個。
172 kB のアーカイブを取得する必要があります。
この操作後に追加で 544 kB のディスク容量が消費されます。
続行しますか? [Y/n] 


bison, flex の導入

Kernel の config 時に必要となりますので、bison および flex を導入します。

user1@mas1xx-devel:~/work$ sudo apt install bison flex
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
以下の追加パッケージがインストールされます:
  libfl-dev libfl2 libsigsegv2 m4
提案パッケージ:
  bison-doc flex-doc m4-doc
以下のパッケージが新たにインストールされます:
  bison flex libfl-dev libfl2 libsigsegv2 m4
アップグレード: 0 個、新規インストール: 6 個、削除: 0 個、保留: 0 個。
1,204 kB のアーカイブを取得する必要があります。
この操作後に追加で 3,557 kB のディスク容量が消費されます。
続行しますか? [Y/n] 


libssl-dev の導入

Kernel の script で必要になりますので、OpenSSL の開発用パッケージを導入します。

user1@mas1xx-devel:~$ sudo apt install libssl-dev
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
提案パッケージ:
  libssl-doc
以下のパッケージが新たにインストールされます:
  libssl-dev
アップグレード: 0 個、新規インストール: 1 個、削除: 0 個、保留: 0 個。
1,582 kB のアーカイブを取得する必要があります。
この操作後に追加で 8,005 kB のディスク容量が消費されます。
取得:1 http://ftp.riken.go.jp/Linux/ubuntu focal/main amd64 libssl-dev amd64 1.1.1f-1ubuntu2 [1,582 kB]
1,582 kB を 0秒 で取得しました (6,113 kB/s)
以前に未選択のパッケージ libssl-dev:amd64 を選択しています。
(データベースを読み込んでいます ... 現在 28755 個のファイルとディレクトリがインストールされています。)
.../libssl-dev_1.1.1f-1ubuntu2_amd64.deb を展開する準備をしています ...
libssl-dev:amd64 (1.1.1f-1ubuntu2) を展開しています...
libssl-dev:amd64 (1.1.1f-1ubuntu2) を設定しています ...


bc の導入

user1@mas1xx-devel:~$ sudo apt install bc
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
以下のパッケージが新たにインストールされます:
  bc
アップグレード: 0 個、新規インストール: 1 個、削除: 0 個、保留: 0 個。
86.3 kB のアーカイブを取得する必要があります。
この操作後に追加で 231 kB のディスク容量が消費されます。
取得:1 http://ftp.riken.go.jp/Linux/ubuntu focal/main amd64 bc amd64 1.07.1-2build1 [86.3 kB]
86.3 kB を 0秒 で取得しました (872 kB/s)
以前に未選択のパッケージ bc を選択しています。
(データベースを読み込んでいます ... 現在 28872 個のファイルとディレクトリがインストールされています。)
.../bc_1.07.1-2build1_amd64.deb を展開する準備をしています ...
bc (1.07.1-2build1) を展開しています...
bc (1.07.1-2build1) を設定しています ...


圧縮ツール類の導入

lz4, zip, unzip を導入しておきます。

user1@mas1xx-devel:~$ sudo apt install lz4 zip unzip
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
以下のパッケージが新たにインストールされます:
  lz4 unzip zip
アップグレード: 0 個、新規インストール: 3 個、削除: 0 個、保留: 0 個。
419 kB のアーカイブを取得する必要があります。
この操作後に追加で 1,458 kB のディスク容量が消費されます。
取得:1 http://ftp.riken.go.jp/Linux/ubuntu focal/main amd64 lz4 amd64 1.9.2-2 [82.7 kB]
取得:2 http://ftp.riken.go.jp/Linux/ubuntu focal/main amd64 unzip amd64 6.0-25ubuntu1 [169 kB]
取得:3 http://ftp.riken.go.jp/Linux/ubuntu focal/main amd64 zip amd64 3.0-11build1 [167 kB]
419 kB を 0秒 で取得しました (1,608 kB/s)
以前に未選択のパッケージ lz4 を選択しています。
(データベースを読み込んでいます ... 現在 28889 個のファイルとディレクトリがインストールされています。)
.../archives/lz4_1.9.2-2_amd64.deb を展開する準備をしています ...
lz4 (1.9.2-2) を展開しています...
以前に未選択のパッケージ unzip を選択しています。
.../unzip_6.0-25ubuntu1_amd64.deb を展開する準備をしています ...
unzip (6.0-25ubuntu1) を展開しています...
以前に未選択のパッケージ zip を選択しています。
.../zip_3.0-11build1_amd64.deb を展開する準備をしています ...
zip (3.0-11build1) を展開しています...
unzip (6.0-25ubuntu1) を設定しています ...
zip (3.0-11build1) を設定しています ...
lz4 (1.9.2-2) を設定しています ...
mime-support (3.64ubuntu1) のトリガを処理しています ...


カーネルの準備

ソース用ディレクトリの作成

ソースをダウンロードするディレクトリを作成しておきます。

user1@mas1xx-devel:~$ mkdir src
user1@mas1xx-devel:~$ cd src/
user1@mas1xx-devel:~/src$ 


リポジトリの clone

“git clone” により、カーネルスースのリポジトリをローカルに clone します。

user1@mas1xx-devel:~/src$ git clone https://github.com/centurysys/linux-kernel-MAE.git linux-kernel
Cloning into 'linux-kernel'...
remote: Enumerating objects: 5776, done.
remote: Counting objects: 100% (5776/5776), done.
remote: Compressing objects: 100% (2159/2159), done.
remote: Total 7404640 (delta 4297), reused 4480 (delta 3614), pack-reused 7398864
Receiving objects: 100% (7404640/7404640), 1.56 GiB | 18.95 MiB/s, done.
Resolving deltas: 100% (6278904/6278904), done.
Updating files: 100% (62199/62199), done.
user1@mas1xx-devel:~/src$ 


ソースコードが以下の通り取得できました。

user1@mas1xx-devel:~/src$ ls -l
合計 4
drwxrwxr-x 27 user1 user1 4096  7月 29 06:58 linux-kernel
user1@mas1xx-devel:~/src$ 


ブランチの変更

ダウンロードした時点では、デフォルトのブランチが MA-E3xx シリーズ用になっていますので、git checkout によりブランチを切り替えます。

user1@mas1xx-devel:~/src$ cd linux-kernel/
user1@mas1xx-devel:~/src/linux-kernel$ git branch 
* MA-E3xx/ti-linux-WireGuard-4.19.y-20200128  <---- MA-E3xx シリーズ用になっている
user1@mas1xx-devel:~/src/linux-kernel$ git branch -a|grep MAS
  remotes/origin/MAS1xx/linux-kernel-at91-5.4.y
  remotes/origin/MAS1xx/linux-kernel-at91-WireGuard-5.4.y-20200712
user1@mas1xx-devel:~/src/linux-kernel$ git checkout MAS1xx/linux-kernel-at91-WireGuard-5.4.y-20200712
Updating files: 100% (50375/50375), done.
Branch 'MAS1xx/linux-kernel-at91-WireGuard-5.4.y-20200712' set up to track remote branch 'MAS1xx/linux-kernel-at91-WireGuard-5.4.y-20200712' from 'origin'.
Switched to a new branch 'MAS1xx/linux-kernel-at91-WireGuard-5.4.y-20200712'
user1@mas1xx-devel:~/src/linux-kernel$