SlideShare une entreprise Scribd logo
1  sur  10
Building u-boot for
Zynqberry
a.amagai
1
Feb. 2018
本スライドの位置づけ
• u-boot-xlnx を使って zynqberry用のu-boot の構
築を行う
• https://github.com/Xilinx/u-boot-xlnx
• どこを,なんで書き変えるかの備忘録
2
前提条件と目標
• uImage形式のカーネルを対象
• initramfsがカーネルに結合されているものとする
• SD/QSPIの両方に対応させる
• SDが挿入されている場合には,SDを優先する
• SD上のuEnv.txtも読み込む
3
作成が必要なファイル
• デバイスツリー
• arch/arm/dts/zynq-zynqberry.dts
• defconfigファイル
• configs/zynq_zynqberry_defconfig
• includeファイル
• include/configs/zynq_zynqberry.h
4
デバイスツリーの作成
• zyboのdtsをベースにする
• 雛型としてコピーする
• デバイスツリーは arch/arm/dts にある
• cp zynq-zybo.dts zynq-zynqberry.dts
• 書き換えポイント
• model名 (お好みで)
• ethernetを無効にする
• mmc0をsdhci1にする
• PSの周波数を 33333333 にする
5
defconfigファイルの作成
• zyboのdefconfigをベースにする
• 雛型としてコピーする
• ファイルはconfigsにある
• cp zynq_zybo_defconfig zynq_zynqberry_defconfig
• 書き換えポイント
• CONFIG_SYS_CONFIG_NAME="zynq_zynqberry"
• ONFIG_DEFAULT_DEVICE_TREE="zynq-
zynqberry"
• CONFIG_ZYNQ_GEM=n
6
includeファイルの作成
• zyboのincludeファイルをベースにする
• 雛型としてコピーする
• inlcudeファイルは include/configs にある
• cp zynq_zybo.h zynq_zynqberry.h
• 書き換えポイント
• CONFIG_ZYNQ_PS_CLK_FREQを33333333に
• #include <configs/zynq-common.h> の前に,
CONFIG_EXTRA_ENV_SETTINGSの定義を追加す
る
7
CONFIG_EXTRA_ENV_SETT
INGS の定義
• まず,configs/zynq-common.h の中の #define
CONFIG_EXTRA_ENV_SETTINGS の部分を丸ご
とコピーし, zynq_zynqberry.h の #include
<configs/zynq-common.h> の前にペーストする
• 編集の要点:
• kernel_size= 等の各種定数を自分の構成に合わせる
• 最初にSDカードからuEnv.txtの読み込みを試みる
• preboot= の行
• 読み込めなかった場合にQSPIブートに切り替わるようにす
る
• set modeboot qspiboot; する
• QSPIの周波数を明示的に設定する
• sf probe 0 0 0 → sf probe 0 50000000 0
8
例 (抜粋)
"preboot=if env run sd_uEnvtxt_existence_test; " 
"then if env run loadbootenv; " 
"then env run importbootenv; " 
"fi; " 
"set modeboot sdboot; " 
"else " 
"echo No SD card; " 
"set modeboot qspiboot; " 
"fi; 0" 
9
"qspiboot=echo Copying Linux from QSPI flash to RAM... && " 
"sf probe 0 50000000 0 && " 
"sf read ${kernel_load_address} 0x300000 ${kernel_size} && " 
"sf read ${devicetree_load_address} 0xf00000 ${devicetree_size} && " 
"bootm ${kernel_load_address} - ${devicetree_load_address}0" 
#define CONFIG_ZYNQ_PS_CLK_FREQ 33333333UL
#define CONFIG_EXTRA_ENV_SETTINGS
ビルドして書き込む
• make zynq_zynqberry_config
• make
• u-bootというファイルができるので,必要に応じ
て .elfのような拡張子をくっつける
• Xilinx SDKでFSBL及びbitファイルと結合して
boot.bin にする.
• Xilinx SDKでflashに書き込む
10
おわり
メモ:zynqberryはSDカードからはboot.binを読み込まない

Contenu connexe

Tendances

Gitコマンド勉強会 第2回 stash
Gitコマンド勉強会 第2回 stashGitコマンド勉強会 第2回 stash
Gitコマンド勉強会 第2回 stash
Kazuki Sakai
 
20130222 osc13tk osc.cms
20130222 osc13tk osc.cms20130222 osc13tk osc.cms
20130222 osc13tk osc.cms
usptomo
 
SSD+Squidで画像をキャッシュしなイカ?
SSD+Squidで画像をキャッシュしなイカ?SSD+Squidで画像をキャッシュしなイカ?
SSD+Squidで画像をキャッシュしなイカ?
Kazutoshi Fujimoto
 

Tendances (20)

Gitコマンド勉強会 第2回 stash
Gitコマンド勉強会 第2回 stashGitコマンド勉強会 第2回 stash
Gitコマンド勉強会 第2回 stash
 
pbuilder, cowbuilder, lxcで作るお手軽サンドボックス
pbuilder, cowbuilder, lxcで作るお手軽サンドボックスpbuilder, cowbuilder, lxcで作るお手軽サンドボックス
pbuilder, cowbuilder, lxcで作るお手軽サンドボックス
 
OSC2017 Hokkaido. MySQL今こそインストールを極めよう~改めて考える環境構築~
OSC2017 Hokkaido. MySQL今こそインストールを極めよう~改めて考える環境構築~OSC2017 Hokkaido. MySQL今こそインストールを極めよう~改めて考える環境構築~
OSC2017 Hokkaido. MySQL今こそインストールを極めよう~改めて考える環境構築~
 
Oss dev-04
Oss dev-04Oss dev-04
Oss dev-04
 
DatabaseDevelopment
DatabaseDevelopmentDatabaseDevelopment
DatabaseDevelopment
 
AWSのRedHatにMySQL最速インストール
AWSのRedHatにMySQL最速インストールAWSのRedHatにMySQL最速インストール
AWSのRedHatにMySQL最速インストール
 
hs_spider_hs_something_20110906
hs_spider_hs_something_20110906hs_spider_hs_something_20110906
hs_spider_hs_something_20110906
 
OS development beginner version 20160611
OS development beginner version 20160611OS development beginner version 20160611
OS development beginner version 20160611
 
Ec2でのdisk拡張方法
Ec2でのdisk拡張方法Ec2でのdisk拡張方法
Ec2でのdisk拡張方法
 
Linuxの基礎勉強会
Linuxの基礎勉強会Linuxの基礎勉強会
Linuxの基礎勉強会
 
アーカイブ・リポジトリシステムで遊ぼう!
アーカイブ・リポジトリシステムで遊ぼう!アーカイブ・リポジトリシステムで遊ぼう!
アーカイブ・リポジトリシステムで遊ぼう!
 
localstackによるAWS Lambdaの開発環境を、miniconda上でつくったら簡単便利だった話
localstackによるAWS Lambdaの開発環境を、miniconda上でつくったら簡単便利だった話localstackによるAWS Lambdaの開発環境を、miniconda上でつくったら簡単便利だった話
localstackによるAWS Lambdaの開発環境を、miniconda上でつくったら簡単便利だった話
 
講座Linux入門・サーバOSとしてのLinux
講座Linux入門・サーバOSとしてのLinux講座Linux入門・サーバOSとしてのLinux
講座Linux入門・サーバOSとしてのLinux
 
自宅サーバ仮想化
自宅サーバ仮想化自宅サーバ仮想化
自宅サーバ仮想化
 
VPSもDesktopもYaSTを使ってLinuxをらくらく設定―ファイルサーバー構築・管理編
VPSもDesktopもYaSTを使ってLinuxをらくらく設定―ファイルサーバー構築・管理編VPSもDesktopもYaSTを使ってLinuxをらくらく設定―ファイルサーバー構築・管理編
VPSもDesktopもYaSTを使ってLinuxをらくらく設定―ファイルサーバー構築・管理編
 
Making Editor written in Ruby version 20160611
Making Editor written in Ruby version 20160611Making Editor written in Ruby version 20160611
Making Editor written in Ruby version 20160611
 
FreeBSDのススメ
FreeBSDのススメFreeBSDのススメ
FreeBSDのススメ
 
20130222 osc13tk osc.cms
20130222 osc13tk osc.cms20130222 osc13tk osc.cms
20130222 osc13tk osc.cms
 
SSD+Squidで画像をキャッシュしなイカ?
SSD+Squidで画像をキャッシュしなイカ?SSD+Squidで画像をキャッシュしなイカ?
SSD+Squidで画像をキャッシュしなイカ?
 
qpstudy05 lignhing talk - virtio
qpstudy05 lignhing talk - virtioqpstudy05 lignhing talk - virtio
qpstudy05 lignhing talk - virtio
 

Similaire à U boot-for-zynqberry

Webサーバ勉強会4 nginx で php-fpm を動かしてみた
Webサーバ勉強会4 nginx で php-fpm を動かしてみたWebサーバ勉強会4 nginx で php-fpm を動かしてみた
Webサーバ勉強会4 nginx で php-fpm を動かしてみた
do_aki
 
OSC2011Tokyo/Fall OpenStack Swift入門
OSC2011Tokyo/Fall OpenStack Swift入門OSC2011Tokyo/Fall OpenStack Swift入門
OSC2011Tokyo/Fall OpenStack Swift入門
irix_jp
 
OSC2012 Nagoya - OpenStack - Storage System; Overview
OSC2012 Nagoya - OpenStack - Storage System; OverviewOSC2012 Nagoya - OpenStack - Storage System; Overview
OSC2012 Nagoya - OpenStack - Storage System; Overview
irix_jp
 
Djangoとweb2pyをapacheに組込む
Djangoとweb2pyをapacheに組込むDjangoとweb2pyをapacheに組込む
Djangoとweb2pyをapacheに組込む
2bo 2bo
 
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
Takashi Uemura
 
OpenStack Object Storage; Overview
OpenStack Object Storage; OverviewOpenStack Object Storage; Overview
OpenStack Object Storage; Overview
irix_jp
 

Similaire à U boot-for-zynqberry (20)

Grunt入門
Grunt入門Grunt入門
Grunt入門
 
dodaiのProvisioning周辺探訪 - dodai勉強会 #4
dodaiのProvisioning周辺探訪 - dodai勉強会 #4dodaiのProvisioning周辺探訪 - dodai勉強会 #4
dodaiのProvisioning周辺探訪 - dodai勉強会 #4
 
Webサーバ勉強会4 nginx で php-fpm を動かしてみた
Webサーバ勉強会4 nginx で php-fpm を動かしてみたWebサーバ勉強会4 nginx で php-fpm を動かしてみた
Webサーバ勉強会4 nginx で php-fpm を動かしてみた
 
200527 ur
200527 ur200527 ur
200527 ur
 
Dockerの仕組みとIIJ社内での利用例
Dockerの仕組みとIIJ社内での利用例Dockerの仕組みとIIJ社内での利用例
Dockerの仕組みとIIJ社内での利用例
 
Deep Learningハンズオン勉強会「Caffeで画像分類を試してみようの会」
Deep Learningハンズオン勉強会「Caffeで画像分類を試してみようの会」Deep Learningハンズオン勉強会「Caffeで画像分類を試してみようの会」
Deep Learningハンズオン勉強会「Caffeで画像分類を試してみようの会」
 
Yocto Project ハンズオン プレゼン用資料
Yocto Project ハンズオン プレゼン用資料Yocto Project ハンズオン プレゼン用資料
Yocto Project ハンズオン プレゼン用資料
 
OSC2011Tokyo/Fall OpenStack Swift入門
OSC2011Tokyo/Fall OpenStack Swift入門OSC2011Tokyo/Fall OpenStack Swift入門
OSC2011Tokyo/Fall OpenStack Swift入門
 
Osoljp201210 oi swift
Osoljp201210 oi swiftOsoljp201210 oi swift
Osoljp201210 oi swift
 
OSC2012 Nagoya - OpenStack - Storage System; Overview
OSC2012 Nagoya - OpenStack - Storage System; OverviewOSC2012 Nagoya - OpenStack - Storage System; Overview
OSC2012 Nagoya - OpenStack - Storage System; Overview
 
明日から使えるコーディングツール
明日から使えるコーディングツール明日から使えるコーディングツール
明日から使えるコーディングツール
 
Osoljp201204
Osoljp201204Osoljp201204
Osoljp201204
 
Raspberry pi で始める v sphere 7 超入門
Raspberry pi で始める v sphere 7 超入門Raspberry pi で始める v sphere 7 超入門
Raspberry pi で始める v sphere 7 超入門
 
2015年度の自宅NAS環境
2015年度の自宅NAS環境2015年度の自宅NAS環境
2015年度の自宅NAS環境
 
Red Hat OpenShift Container Storage
Red Hat OpenShift Container StorageRed Hat OpenShift Container Storage
Red Hat OpenShift Container Storage
 
初心者がOpenIndianaで自宅サーバを作ったよって話
初心者がOpenIndianaで自宅サーバを作ったよって話初心者がOpenIndianaで自宅サーバを作ったよって話
初心者がOpenIndianaで自宅サーバを作ったよって話
 
Products.PloneOrg
Products.PloneOrgProducts.PloneOrg
Products.PloneOrg
 
Djangoとweb2pyをapacheに組込む
Djangoとweb2pyをapacheに組込むDjangoとweb2pyをapacheに組込む
Djangoとweb2pyをapacheに組込む
 
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
 
OpenStack Object Storage; Overview
OpenStack Object Storage; OverviewOpenStack Object Storage; Overview
OpenStack Object Storage; Overview
 

U boot-for-zynqberry