目次

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

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

GitHub


パッケージの導入

git の導入

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

user1@max3xx-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@max3xx-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@max3xx-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@max3xx-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@max3xx-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@max3xx-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@max3xx-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@max3xx-devel:~$ mkdir src
user1@max3xx-devel:~$ cd src/
user1@max3xx-devel:~/src$ 


リポジトリの clone

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

user1@max3xx-devel:~/src$ git clone https://github.com/centurysys/linux-kernel-MAE.git linux-kernel
Cloning into 'linux-kernel'...
remote: Enumerating objects: 10235021, done.
remote: Counting objects: 100% (325226/325226), done.
remote: Compressing objects: 100% (61208/61208), done.
remote: Total 10235021 (delta 263333), reused 324941 (delta 263233), pack-reused 9909795
Receiving objects: 100% (10235021/10235021), 2.24 GiB | 25.89 MiB/s, done.
Resolving deltas: 100% (8707229/8707229), done.
Updating files: 100% (71202/71202), done.
user1@max3xx-devel:~/src$ 


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

user1@max3xx-devel:~/src$ ls -l
total 4
drwxrwxr-x 27 user1 user1 4096 Apr 12 16:57 linux-kernel
user1@max3xx-devel:~/src$ 


ブランチの確認

ダウンロードした時点では、デフォルトのブランチが MA-X3xx シリーズ用になっているはずですが、一応確認しておきます。

user1@max3xx-devel:~/src/linux-kernel$ git branch
* MAX3xx/ti-linux-5.10.y <--- MA-X3xx 用だが、古い branch になっている。
user1@max3xx-devel:~/src/linux-kernel$ 
user1@max3xx-devel:~/src/linux-kernel$ git branch -a|grep MAX3
* MAX3xx/ti-linux-5.10.y
  remotes/origin/HEAD -> origin/MAX3xx/ti-linux-5.10.y
  remotes/origin/MAX3xx/ti-linux-5.10.y
  remotes/origin/MAX3xx/ti-linux-6.1.y <--- この branch が新しい
user1@max3xx-devel:~/src/linux-kernel$ git checkout MAX3xx/ti-linux-6.1.y
Updating files: 100% (53484/53484), done.
Branch 'MAX3xx/ti-linux-6.1.y' set up to track remote branch 'MAX3xx/ti-linux-6.1.y' from 'origin'.
Switched to a new branch 'MAX3xx/ti-linux-6.1.y'
user1@max3xx-devel:~/src/linux-kernel$