• 検索結果がありません。

2 ビルド手順 KZM-CA9-01 用の Linux カーネル クロスツールチェイン ユーザーランドをビルドする手順を以下に示します 2.1 buildroot 環境の準備 ビルドに必要なパッケージをインストールします HOSTPC# apt-get install bison flex gett

N/A
N/A
Protected

Academic year: 2021

シェア "2 ビルド手順 KZM-CA9-01 用の Linux カーネル クロスツールチェイン ユーザーランドをビルドする手順を以下に示します 2.1 buildroot 環境の準備 ビルドに必要なパッケージをインストールします HOSTPC# apt-get install bison flex gett"

Copied!
10
0
0

読み込み中.... (全文を見る)

全文

(1)

KZM-CA9-01 Linux 開発環境の構築方法

KZM-CA9-01 用 Linux は buildroot を使用して、カーネル、クロスツールチェイン、ユーザーランド

を提供しています。本書は

KZM-CA9-01 用 Linux のビルド、ブートなどの方法を記述しています。

用法

本書でのコマンド記述を以下に示します。

HOSTPC$

ホスト

PC 上での一般ユーザのコマンド

HOSTPC#

ホスト

PC 上での管理者のコマンド

U-BOOT$

u-boot 上のコマンド

WINPC>

PARTNER-Jet を利用する WindowsPC のコマンド

PT>

PARTNER-Jet のコマンド

1 Linux ビルド環境

KZM-CA9-01 用の Linux ビルド環境を構築するには、ホスト PC として LinuxPC が必要です。

カーネルビルドやクロスツールチェイン、ユーザーランドのビルド時には、以下のパッケージが導

入されている必要があります。また、ビルドエラーが発生した場合は不足しているパッケージを導

入してください。

主なパッケージ(パッケージ名は各ディストリビューションによって違います)

make gcc g++ bison flex gettext zlib-dev ncurses

この説明書で説明しているディストリビューションは

Ubuntu です。固有のコマンドは各ディストリ

ビューションのコマンドに置き換えてください。

(2)

2 ビルド手順

KZM-CA9-01 用の Linux カーネル、クロスツールチェイン、ユーザーランドをビルドする手順を以

下に示します。

2.1 buildroot 環境の準備

ビルドに必要なパッケージをインストールします。

HOSTPC# apt-get install bison flex gettext g++ zlib1g-dev 注意)ビルド時にエラーになる場合は、不足しているパッケージを追加してください。

提供されている

buildroot の tarball を展開します。

HOSTPC$ tar xvzf KZMCA9_buildroot-XXXXXX.tgz

クロスツール用ディレクトリの準備を行います。

HOSTPC# mkdir /opt/KMC HOSTPC# chmod a+w /opt/KMC

2.2 KZM-CA9-01 用のデフォルトコンフィグの適用

KZM-CA9-01 用のコンフィグレーションを適用します。

HOSTPC$ cd KZMCA9_buildroot HOSTPC$ make kzm-ca9_defconfig

2.3 buildroot でのビルド

ビルドを開始します。

(3)

2.4 buildroot で生成される主なファイル

buildroot で生成される主なファイルは以下の通りです。

/opt/KMC/kzmca9/staging

クロスツールチェイン

KZMCA9_buildroot/output/images/uImage

Linux カーネルバイナリイメージ

KZMCA9_buildroot/output/images/u-boot.bin

u-boot バイナリイメージ

KZMCA9_buildroot/output/images/rootfs.arm.cramfs

cramfs ユーザーランドバイナリイメージ

KZMCA9_buildroot/output/images/rootfs.arm.ext2

ext2 ユーザーランドバイナリイメージ

2.5 クロスツールチェインの使い方

生成されたクロスツールチェインを使用するには、PATH 変数に設定する必要があります。

.bash_profile 等、スクリプトに追加すると便利です。

(4)

3 Linux ブート方法

KZM-CA9-01 での Linux のブート方法について主な方法を説明します。

HOSTPC の IP アドレスは 192.168.0.20 、KZM-CA9-01 の IP アドレスは 192.168.0.10 として記述

しています。

3.1 はじめに

KZM-CA9-01 にネットワークとターミナルを接続してください。

KZM-CA9-01 とターミナルを接続するには、COM1 にクロス(インターリンク)ケーブルで接続

(115200bps)してください。

3.2 u-boot の初期設定

KZM-CA9-01 に初めて電源を投入するときに、ネットワークの設定を行います。

いずれかのキーを押して、プロンプト表示状態にし、ネットワーク関連の設定を行います。

ethaddr の設定値については、KZM-CA9-01 ボード上に記述している値を設定してください。

U-Boot 2009.03-rc1-00250-g1b432b1-dirty (12 月 02 2009 - 17:17:06) Board: A9TC board

DRAM: 256 MB Flash: 64 MB In: serial Out: serial Err: serial

Hit any key to stop autoboot: 3

<--- いずれかのキーを押す U-BOOT$ setenv ethaddr XX:XX:XX:XX:XX:XX

U-BOOT$ ipaddr 192.168.0.10 U-BOOT$ serverip 192.168.0.20 U-BOOT$ saveenv

Saving Environment to Flash... . done

Un-Protected 1 sectors Erasing Flash...

(5)

3.3 ネットワークを利用してブート

Linux カーネルを tftp サーバーからダウンロードし、ルートファイルシステムを nfs サーバーからマ

ウントするシステムとしてブートします。

tftp

サーバを立ち上げる

HOSTPC# apt-get install tftpd HOSTPC# vi /etc/inetd.conf

tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.ftpd /home/foo/KZMCA9_buildroot/output/images

HOSTPC# chmod 777 /home/foo/KZMCA9_buildroot/output/images HOSTPC# service openbsd-inetd restart

nfs

サーバーを立ち上げる

HOSTPC$ mkdir /opt/KMC/kzmca9/nfsroot HOSTPC# apt-get install nfs-kernel-server HOSTPC# vi /etc/exports

/opt/KMC/kzmca9/nfsroot *(rw,no_root_squash,no_subtree_check) HOSTPC# service nfs-kernel-server restart

HOSTPC# mount -t ext2 -o loop

/home/foo/KZMCA9_buildroot/output/images/rootfs.arm.ext2 /opt/KMC/kzmca9/nfsroot

注意)ext2 イメージを再ビルドする前には必ず unmount を行ってください。 HOSTPC# umount -l -d /opt/KMC/nfsroot

u-boot

の設定

U-BOOT$ setenv bootargs root=/dev/nfs init/initrc mem=192M console=ttyAMA0,115200 ip=192.168.0.10:192.168.0.20::255.255.255.0 nfsroot=192.168.0.20:/opt/KMC/kzmca9/nfsroot U-BOOT$ saveenv

Linux

カーネルのブート

U-BOOT$ tftpboot U-BOOT$ bootm

(6)

3.4 フラッシュメモリを利用してブート

Linux カーネル、ルートファイルシステムをフラッシュメモリに書き込んだものを利用してブートしま

す。

『4.1 フラッシュメモリの更新方法』を参照して、uImage,cramfs ルートファイルシステムをフラッシュメ

モリに書き込みます。

u-boot

の設定

U-BOOT$ setenv bootargs root=/dev/null init/initrc mem=192M console=ttyAMA0,115200 ip=192.168.0.10 rootflags=physaddr=0x00400000 U-BOOT$ saveenv

Linux

カーネルのブート

U-BOOT$ bootm 00100000

3.5 PARTNER-Jet を利用してブート

HOSTPC の Samba サーバーを利用してカーネルファイル(vmlinux)を PARTNER-Jet から

KZM-CA9-01 の DRAM 領域にダウンロードしてブートします。

Samba

サーバーの設定

HOSTPC# apt-get samba HOSTPC# vi /etc/samba.conf

[foo]

comment = foo volume path = /home/foo read only = No

HOSTPC# service samba restart

Samba

ボリュームのマウント

(7)

core0\init.mcr

内の

load_linux

の編集

WINPC にマウントしたドライブに合わせて、core0\init.mcr 内の load_linux 部分を変更します。

また、KERNEL_CMDLINE.opt ファイルのパス部分を変更します。

l W :\KZMCA9_buildroot\output\build\linux-2.6.28\ vmlinux ,/offs=0xa0000000 rd C:\WORK\KZMCA9_SMP\core0\KERNEL_CMDLINE.bin,default_command_line+0xa00 00000

KERNEL_CMDLINE.opt

の編集

Linux カーネルのカーネルコマンドラインを、KERNEL_CMDLINE.opt ファイル内に記述します。

root=/dev/nfs nfsroot=192.168.0.20:/opt/KMC/kzmca9/nfsroot ip=192.168.0.10:192.168.1.20::255.255.255.0:kzmca9 console=ttyAMA0,115200 mem=192M

PARTNER-Jet

での

Linux

カーネルのブート

KZM-CA9-01 用のプロジェクトで PARTNER-Jet を起動して下記のコマンドを入力すると、Linux

カーネルがブートします。

PT> load_linux PT> g

(8)

4 補足事項

4.1 フラッシュメモリの更新方法

フラッシュメモリ内容の更新について

u-boot を使う方法と、PARTNER-Jet を使う方法の両方を説

明します。

ブートローダー

u-boot

の更新

u-boot

を使用

U-BOOT$ tftpboot 0x60000000 u-boot.bin SMSC9118 is identified successfully.

TFTP from server 192.168.0.20; our IP address is 192.168.0.10 Filename 'u-boot.bin'.

Load address: 0x60000000

Loading: ####################### done

Bytes transferred = 115040 (1c160 hex) U-BOOT$ protect off 0x40000000 +0x1c160 . done Un-Protected 1 sectors U-BOOT$ erase 0x40000000 +0x1c160 . done Erased 1 sectors U-BOOT$ cp.b 0x60000000 0x40000000 0x1c160 Copy to Flash... done

U-BOOT$ protect on 0x40000000 +0x1c160 . done Protected 1 sectors

PARTNER-Jet(ARM)

を使用

PT> rd w:\KZMCA9_buildroot\output\images\u-boot.bin,0 Read w:\KZMCA9_buildroot\output\images\u-boot.bin 00000000 - 0000EFFF Complete

(9)

カーネルイメージ

uImage

の更新

u-boot

を使用

U-BOOT$ tftpboot 0x60000000 uImage SMSC9118 is identified successfully.

TFTP from server 192.168.0.20; our IP address is 192.168.0.10 Filename 'uImage'.

Load address: 0x60000000

Loading: ########################################################## done

Bytes transferred = 2961696 (2d3120 hex) U-BOOT$ erase 0x40100000 +0x2d3120

... done Erase 12 sectors

U-BOOT$ cp.b 0x60000000 0x40100000 0x2d3120 Copy to Flash... done

PARTNER-Jet(ARM)

を使用

PT> rd w:\KZMCA9_buildroot\output\images\uImage,00100000 Read w:\KZMCA9_buildroot\output\images\uImage

00100000 - 003C0FFF Complete

Read memory : 71.261 sec 2892 Kbyte (40 Kbyte/sec)

cramfs

ルートファイルシステムの更新

u-boot

を使用

U-BOOT$ tftpboot 0x60000000 rootfs.arm.cramfs

TFTP from server 192.168.0.20; our IP address is 192.168.0.10 Filename 'rootfs.arm.cramfs'.

Load address: 0x60000000

Loading: ########################################################## done

Bytes transferred = 1089536 (10a000 hex) U-BOOT$ erase 0x40400000 +0x10a000

... done Erase 4 sectors

U-BOOT$ cp.b 0x60000000 0x40400000 0x10a000 Copy to Flash... done

PARTNER-Jet(ARM)

を使用

PT> rd w:\KZMCA9_buildroot\output\images\rootfs.arm.cramfs,00400000 Read w:\KZMCA9_buildroot\output\images\rootfs.arm.cramfs

(10)

4.2 buildroot コンフィグレーションの補足

シングルコア版

Linux

カーネルの生成

buildroot のコンフィグレーション項目[KZM-CA9 SMP mode]を OFF に設定してください。

Target options ---> KMC KZM-CA9 ---> KZM-CA9 SMP mode

デバッグ情報付きライブラリの生成

buildroot のコンフィグレーション項目[uClibc configuration file]を以下の様に設定してください。

Toolchain --->

uClibc configuration file

参照

関連したドキュメント

◆Secure Encryption を使用してドライブを暗号化するには、Smart アレイ E208 / P408 / P816 コントローラーと、Secure Encryption ライセンスが必要

SVF Migration Tool の動作を制御するための設定を設定ファイルに記述します。Windows 環境 の場合は「SVF Migration Tool の動作設定 (p. 20)」を、UNIX/Linux

週に 1 回、1 時間程度の使用頻度の場合、2 年に一度を目安に点検をお勧め

本節では本研究で実際にスレッドのトレースを行うた めに用いた Linux ftrace 及び ftrace を利用する Android Systrace について説明する.. 2.1

LicenseManager, JobCenter MG/SV および JobCenter CL/Win のインストール方法を 説明します。次の手順に従って作業を行ってください。.. …

(※)Microsoft Edge については、2020 年 1 月 15 日以降に Microsoft 社が提供しているメジャーバージョンが 79 以降の Microsoft Edge を対象としています。2020 年 1

5 タンク、タンクキ ップ、ワイパー ッド、 ーター ッド、スプレー ボトル、ボトルキ ップ 洗い する.

入力用フォーム(調査票)を開くためには、登録した Gmail アドレスに届いたメールを受信 し、本文中の URL