文書の過去の版を表示しています。
カーネルは 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 形式のイメージを作成するときに必要になりますので、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 を導入します。
user1@mas1xx-devel:~$ sudo apt install squashfs-tools パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 以下の追加パッケージがインストールされます: liblzo2-2 以下のパッケージが新たにインストールされます: liblzo2-2 squashfs-tools アップグレード: 0 個、新規インストール: 2 個、削除: 0 個、保留: 0 個。 172 kB のアーカイブを取得する必要があります。 この操作後に追加で 544 kB のディスク容量が消費されます。 続行しますか? [Y/n]
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]
ソースをダウンロードするディレクトリを作成しておきます。
user1@mas1xx-devel:~$ mkdir src user1@mas1xx-devel:~$ cd src/ user1@mas1xx-devel:~/src$
“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$