For new age touch-based embedded devices, Android is becoming a popular OS going beyond mobile phones. With its roots from Embedded Linux, Android framework offers benefits in terms of rich libraries, open-source and multi-device support. Emertxe’s hands-on Embedded Android Training Course is designed to customize, build and deploy custom Embedded OS on ARM target. Rich set of projects will make your learning complete.
In order to understand HAL layers of Android Framework, having Linux device driver knowledge is important. Hence Day-2 of the workshop focuses on the same.
【de:code 2020】 Azure Red hat OpenShift (ARO) によるシステムアーキテクチャ構築の実践日本マイクロソフト株式会社
コンテナをベースとしたプラットフォーム上でのシステム構築において、システムアーキテクチャの設計、構築、運用を効率的に行うために、Kubernetes をラップしてデプロイや運用機能の付加機能をもつ OpenShift を利用することにしました。インフラ運用負荷を軽減する観点から、マイクロソフトのマネージドサービスである Azure Red Hat OpenShift (ARO) を使ってみました。本プラットフォームにおいて、エンタープライズレベルのシステムを稼働させるのに必要になる開発・運用を含めた全体アーキテクチャの概要、選定したソリューションや実現案を紹介します。
Implementing generic JNI hardware control for Kotlin based app on AOSPCheng Wig
With the popularity of Android phones, along with the success in the consumer field, the industrial Android platform is getting more and more popular in Europe.
An industrial grade Android OS usually requires hardware control such as GPIO, I2C, PWM, etc., however device vendors implement these functions in different ways, some may even compromise Android security function. In this session, the presenter will introduce how to implement packaged JNI API from common libraries of Linux OS for hardware controlling for Kotlin based app while fully matching the security architecture of Android OS through AOSP 12 BSP and Android-Studio IDE.
For new age touch-based embedded devices, Android is becoming a popular OS going beyond mobile phones. With its roots from Embedded Linux, Android framework offers benefits in terms of rich libraries, open-source and multi-device support. Emertxe’s hands-on Embedded Android Training Course is designed to customize, build and deploy custom Embedded OS on ARM target. Rich set of projects will make your learning complete.
In order to understand HAL layers of Android Framework, having Linux device driver knowledge is important. Hence Day-2 of the workshop focuses on the same.
【de:code 2020】 Azure Red hat OpenShift (ARO) によるシステムアーキテクチャ構築の実践日本マイクロソフト株式会社
コンテナをベースとしたプラットフォーム上でのシステム構築において、システムアーキテクチャの設計、構築、運用を効率的に行うために、Kubernetes をラップしてデプロイや運用機能の付加機能をもつ OpenShift を利用することにしました。インフラ運用負荷を軽減する観点から、マイクロソフトのマネージドサービスである Azure Red Hat OpenShift (ARO) を使ってみました。本プラットフォームにおいて、エンタープライズレベルのシステムを稼働させるのに必要になる開発・運用を含めた全体アーキテクチャの概要、選定したソリューションや実現案を紹介します。
Implementing generic JNI hardware control for Kotlin based app on AOSPCheng Wig
With the popularity of Android phones, along with the success in the consumer field, the industrial Android platform is getting more and more popular in Europe.
An industrial grade Android OS usually requires hardware control such as GPIO, I2C, PWM, etc., however device vendors implement these functions in different ways, some may even compromise Android security function. In this session, the presenter will introduce how to implement packaged JNI API from common libraries of Linux OS for hardware controlling for Kotlin based app while fully matching the security architecture of Android OS through AOSP 12 BSP and Android-Studio IDE.
2016.09.10 System Center User Group Japan 第15回勉強会のセッション資料です。サンプルコードは GitHub で公開します。
PowerShell DSC の概要(おさらい)と PowerShell DSC for Linux の利用方法、さらに Azure Automation DSC を使用した Aure VM の構成についてお話しました。PowerShell Core for Linux についても簡単にまとめています。
資料のアジェンダは、下記の通り。
Windows Server 2016 Hyper-V の新機能/改善点
最近のトピックから見るMicrosoft Loves Linux
主要な Linux ディストリビューション
Windows Server Hyper-VのLinuxサポート
System Center とLinux
OESF Education Consortium is an organization promotes global Android engineer education. This presentation shows what OESF Education Consortium is, and how you can become our partner.
OESF Authorized Training Course official textbook
Course: Android Application Development Advanced
FULL VERSION
Language: English
Contributed by
Created by: TOPGATE Inc.
Edited by: ISB Vietnam Co.,Ltd.
[Attention!]
This textbook is licensed under the Creative Commons License BY-NC-SA 4.0. It is prohibited to use this material for commercial use otherwise you are OESF member or OESF education consortium member.
OESF Authorized Training Course official textbook
Course: Android Application Development Basic
FULL VERSION
Language: English
Contributed by
Created by: UL Systems Inc.
Edited by: Leading Edge Co.,Ltd.
Translated by: ISB Vietnam Co.,Ltd.
[Attention!]
This textbook is licensed under the Creative Commons License BY-NC-SA 4.0. It is prohibited to use this material for commercial use otherwise you are OESF member or OESF education consortium member.
Android Application WebAPI Development TrainingOESF Education
OESF Authorized Training Course official textbook
Course: Android Application WebAPI Development Training
FULL VERSION
Language: English
Contributed by
Created by: Leading Edge Co.,Ltd.
Translated by: ISB Vietnam Co.,Ltd.
[Attention!]
This textbook is licensed under the Creative Commons License BY-NC-SA 4.0. It is prohibited to use this material for commercial use otherwise you are OESF member or OESF education consortium member.
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matchingharmonylab
公開URL:https://arxiv.org/pdf/2404.19174
出典:Guilherme Potje, Felipe Cadar, Andre Araujo, Renato Martins, Erickson R. ascimento: XFeat: Accelerated Features for Lightweight Image Matching, Proceedings of the 2024 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR) (2023)
概要:リソース効率に優れた特徴点マッチングのための軽量なアーキテクチャ「XFeat(Accelerated Features)」を提案します。手法は、局所的な特徴点の検出、抽出、マッチングのための畳み込みニューラルネットワークの基本的な設計を再検討します。特に、リソースが限られたデバイス向けに迅速かつ堅牢なアルゴリズムが必要とされるため、解像度を可能な限り高く保ちながら、ネットワークのチャネル数を制限します。さらに、スパース下でのマッチングを選択できる設計となっており、ナビゲーションやARなどのアプリケーションに適しています。XFeatは、高速かつ同等以上の精度を実現し、一般的なラップトップのCPU上でリアルタイムで動作します。
セル生産方式におけるロボットの活用には様々な問題があるが,その一つとして 3 体以上の物体の組み立てが挙げられる.一般に,複数物体を同時に組み立てる際は,対象の部品をそれぞれロボットアームまたは治具でそれぞれ独立に保持することで組み立てを遂行すると考えられる.ただし,この方法ではロボットアームや治具を部品数と同じ数だけ必要とし,部品数が多いほどコスト面や設置スペースの関係で無駄が多くなる.この課題に対して音𣷓らは組み立て対象物に働く接触力等の解析により,治具等で固定されていない対象物が組み立て作業中に運動しにくい状態となる条件を求めた.すなわち,環境中の非把持対象物のロバスト性を考慮して,組み立て作業条件を検討している.本研究ではこの方策に基づいて,複数物体の組み立て作業を単腕マニピュレータで実行することを目的とする.このとき,対象物のロバスト性を考慮することで,仮組状態の複数物体を同時に扱う手法を提案する.作業対象としてパイプジョイントの組み立てを挙げ,簡易な道具を用いることで単腕マニピュレータで複数物体を同時に把持できることを示す.さらに,作業成功率の向上のために RGB-D カメラを用いた物体の位置検出に基づくロボット制御及び動作計画を実装する.
This paper discusses assembly operations using a single manipulator and a parallel gripper to simultaneously
grasp multiple objects and hold the group of temporarily assembled objects. Multiple robots and jigs generally operate
assembly tasks by constraining the target objects mechanically or geometrically to prevent them from moving. It is
necessary to analyze the physical interaction between the objects for such constraints to achieve the tasks with a single
gripper. In this paper, we focus on assembling pipe joints as an example and discuss constraining the motion of the
objects. Our demonstration shows that a simple tool can facilitate holding multiple objects with a single gripper.
16. 組込みLinuxの特徴
• Linuxカーネルに少数のフリーソフトウェアを組み合わせ
たもの
• 組込みCPUアーキテクチャのサポート
• ARM、MIPS、X86など
• RAMや二次記憶装置などの容量が小さい
• 2MB以下のメモリで起動可能
• 組込み機器のアプリケーションや対象ハードウェアに必要
な機能に特化
• MMUユニット※のないCPUでも動作可能(CONFIG_MMU=n)
• シングルプロセッサに最適化可能(CONFIG_SMP=n)
• NANDの直接使用(JFFS2、UBIFS)
• ファイルシステム
• マウント速度が速い(YAFFS2など)
• 読み出し専用(romfs)
This material is licensed under the Creative Commons License BY-NC-SA 4.0.
※MMU:メモリ管理ユニット
0-15
15
17. 組込みLinuxのリアルタイム性能
•ソフトリアルタイム (CONFIG_PREEMPT)
•ハードリアルタイム (CONFIG_PREEMPT_RT patch set)
•他のカーネルとの組み合わせでリアルタイム性を向上
•RTAI (Adeos+Linux)
•RTLinux (Realtime executive+Linux)
•Linux on ITRON (ITRON+Linux)
•T-Linux (T-Engine+Linux)
•L4-Linux (L4+Linux)
•Litron (TOPPERS/JSPカーネル+Linux)
•Wind River Real-Time Core for Linux (Real-Time
Core+Linux)
参考:http://monoist.atmarkit.co.jp/mn/articles/0501/12/news113.
This material is licensed under the Creative Commons License BY-NC-SA 4.0.
0-16
16
18. 組込みLinuxの開発環境
•一般的なツール
•Eclipse C/C++ Development Tooling (CDT) :EclipseでのCやC++の開発
に必須
•Target Management (RSE)
•Linux Tools Project :プロファイラや動的解析などの機能を統合
•Tools for mobile Linux (TmL)
•EGit :バージョン管理システムの一つ、Gitの統合
•Mylyn :バグトラッカの統合
•特定のOSに特化したEclipseプラグイン
•Moblin Eclipse Plug-in
•Android Development Tools (ADT)
•その他の開発環境
•Qemu:エミュレータ
•distcc、icecc:分散コンパイル用コンパイラ
•専用の商用製品など
This material is licensed under the Creative Commons License BY-NC-SA 4.0.
0-17
17
19. 組込みLinuxに関わる団体
• Linux Foundation (CE Linux Forumを吸収)
• Linuxオペレーティングシステムの普及をサポートする非営利のコンソー
シアム
• 旧CE Linux Forumが開催する定期的な無料イベント開催
• 日本テクニカルジャンボリー
http://tree.celinuxforum.org/CelfPubWiki/JapanTechnicalJamboreeGuidance
• LiMo Foundation
• Linuxを使った携帯電話のアプリケーション環境の標準化団体
• モトローラ、NEC、パナソニック、サムスン電子、NTTドコモ、ボーダ
フォンなど
• Open Handset Alliance (OHA)
• Googleとともに携帯向けAndroidの開発推進を行うアライアンス
• Open Embedded Software Foundation (OESF)
• 組み込み機器向けAndroidに関わる企業間の協力を目的とした一般社団法
人
• Linaro
• ARMのチップベンダである参加企業の各SoCに最適化されたツール、カー
ネル、ミドルウェアを提供することなどを目的とした非営利団体
This material is licensed under the Creative Commons License BY-NC-SA 4.0.
0-18
18
41. アプリケーション開発環境
項目
必要な環境
OS
Windows XP, Windows Vista(32 / 64 bit)
Mac OS X 10.5.8以降(x86のみ)
Linux(Ubuntu Hardy Herson、Lucid Lynx にてテス
ト済)
Java JDK
Android開発ツール
統合開発環境
JDK 6
Android SDK
3.7(Indigo) 以降
Android Development Tools(ADT) Plug-in
テキストベース
開発環境
Apache Ant(Windows版は1.7, Mac/Linux版は1.6.5以
降)
*必要なマシンスペックは http://developer.android.com/intl/ja/sdk/requireme
This material is licensed under the Creative Commons License BY-NC-SA 4.0.
0-40
40
42. プラットフォーム開発環境
項目
必要な環境(共通)
スペック
CPU:2G以上、 メモリ:2G以上
ハードディスク空き容量:80G以上(プラットフォームひとつあたり20G
)
ネットワーク常時接続
ソースコード入手先
項目
Android Open Source Project (AOSP)
Froyo(2.2)より古いAndroidのソースコード取得やビルドに必要な環境
ホストOS
必要なツール
項目
ホストOS
必要なツール
Mac OS X 10.5.8以降(x86のみ)
32bit_Linux(Ubuntu 8.04 以上)(64bitLinuxの場合は下表参照)
Python 2.6 - 2.7、 git1.7以上、 GNU Make 3.81 -- 3.82、JDK5
git-core, gnupg, flex, bison, gperf, libsdl-dev, libesd0-dev,
libwxgtk2.6-dev, build-essential, zip, curl, libncurses5-dev,
zlib1g-dev, valgrind, libreadline5-dev, repo
Gingerbread(2.3)以上のAndroidのソースコード取得やビルドに必要な環
境
64bit_Linux(Ubuntu 10.04 以上)
Python 2.6 - 2.7、 git1.7以上、GNU Make 3.81 -- 3.82、 JDK6
git-core gnupg flex bison gperf build-essential zip curl zlib1gdev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev
ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32zdev
This material is licensed under the Creative Commons License BY-NC-SA 4.0.
0-41
41
53. android open source project
(AOSP)
http://source.android.com/
Androidのソースコードはgitプロジェクト単位(リポジトリ)にTree構
造となっている
コミッターは個々のリポジトリをフォークして変更を加え、本Treeにコ
ミットしている
AOSPのkernel以外の全リポジトリは
https://android.googlesource.com/platform/manifest
0-52
This material is licensed under the Creative Commons License BY-NC-SA 4.0.
で管理されている
52
54. Android のバージョン対応表
Androidの指定バージョンのソース
コードを取得する場合はAOSPの
BuildNumbersで記載されている
Code nameまたはTagを指定する
Code name
Version
API level
(no code name)
1.0
API level 1
(no code name)
1.1
API level 2
Cupcake
1.5
API level 3, NDK 1
Donut
1.6
API level 4, NDK 2
Eclair
2.0
API level 5
DMD64
android-1.6_r1.5
latest Donut version
Eclair
2.0.1
API level 6
EPF21B
android-2.1_r2.1p2
latest Eclair version
Eclair
2.1
API level 7, NDK 3
FRK76C
android-2.2.3_r2
latest Froyo version
Froyo
2.2.x
API level 8, NDK 4
GWK74
android-2.3.7_r1
Gingerbread
2.3 - 2.3.2
API level 9, NDK 5
latest Gingerbread version,
Nexus S 4G
ITL41D
android-4.0.1_r1
Gingerbread
2.3.3 - 2.3.7
API level 10
earliest IceCreamSandwich
version, Galaxy Nexus
Honeycomb
3.0
API level 11
ITL41D
android-4.0.1_r1.1
Galaxy Nexus
Honeycomb
3.1
API level 12, NDK
6
ITL41F
android-4.0.1_r1.2
Galaxy Nexus
ICL53F
android-4.0.2_r1
Galaxy Nexus
Honeycomb
3.2.x
API level 13
IceCreamSandwich
4.0.1 - 4.0.2
IceCreamSandwich
4.0.3
Build
Tag
IML74K
android-4.0.3_r1
API level 14, NDK
IML77
7
This material is licensed under the Creative Commons License BY-NC-SA 4.0.
API level 15
Notes
Nexus S
latest IceCreamSandwich
0-53
version
53
55. Androidのソースコード管理
(Git)
• Gitとは
– 分散型バージョン管理システム
– 複数リポジトリ間での変更履歴のやり取りが可能
– Linux kernelのソースコード管理に利用されている
【gitサーバにあるリポジトリのコピー】
$ git clone https://android.googlesource.com/platform/manifest +
project path
例1:フレームワーク関連の最新のソースコードを取得する場合
$ git clone https://android.googlesource.com/platform/frameworks/base.git
例2:フレームワーク関連のFroyoのソースコードを取得する場合
$ git clone https://android.googlesource.com/platform/frameworks/base.git –b
android-2.2.3_r2
または clone https://android.googlesource.com/platform/frameworks/base.git –b froyo
$ git
This material is licensed under the Creative Commons License BY-NC-SA 4.0.
0-54
54
91. Linuxコマンドの復習
pwd
現在のディレクトリパスを表示
cd
ディレクトリ間移動
cd ../ 一つ前のディレクトリに移動
ls –la
カレントディレクトリのファイルを
一覧表示
-l : ファイルの詳細も示す
-a : .ファイル(隠しファイル)も表示
cp A B
ファイルのコピー
A:コピー元ファイル名 B:コピー先ファイル名
mv A B
ファイルの移動、ファイル名の変更
A:元ファイルファイル名 B;移動先ファイル名
rm A
ファイル、ディレクトリの削除
-r –R :ディレクトリ内の削除
-f :警告メッセージを表示しない
-d:ディレクトリごと削除(スーパーユーザのみ)
mkdir A
ディレクトリの生成
-p:指定したディレクトリをサブディレクトリごと
作成する。ツリー状のディレクトリも作成可能
chmod モード A
パーミッションの変更
Aというファイルをモードで指定したパーミッショ
ンに変更
モード:777(全ユーザにrwxの権限)やa+x(全ユ
ーザに実行権限)
chown usr01 A
chown usr01:g1 A
ファイル所有者の変更
Aの所有者をuser01に変更
Aの所有者をuser01、所属グループg1に変更
-R :ディレクトリとその中野ファイルの所有者を
変更
fdisk
パーティションの作成、削除、変更
mkfs
ファイルシステムの作成(フォー
マット)
-t fstype 作成するファイル・システムを指定する
This material is licensed under the Creative Commons License BY-NC-SA 4.0.
0-90
92. Linuxコマンドの復習
mount A B
ファイルシステムのマウント
AをBにマウントする
umount B
ファイルシステムのアンマウント
Bをアンマウントする
ps
実行中プロセスの情報表示
top
プロセスの稼動状況などのリアルタイム
表示
env
環境変数の表示
export
環境変数の設定
exit
現在のユーザのログアウト
reboot
システムの再起動
sudo
別ユーザでコマンド実行
cat
テキストファイルの内容を閲覧、ファイ
ルの連結
less
ファイルの内容をページ単位で表示
gzip A
gzファイルに圧縮
Aを圧縮する
-d:圧縮ファイルを展開する
tar オプ
ション
A.tar (/A)
アーカイブの作成、展開やtarファイル
の圧縮、解凍
tar cvf A.tar /A:/Aディレクトリ以下をA.tarという名前で
アーカイブする
tar xvf A.tar:A.tarというアーカイブをすべて展開する(
処理経過表示)
ftp
コンピュータ間のファイルの送受信
ftp 192.168.1.11
ping
コンピュータ間の接続状態のテスト
ping 192.168.1.11
export <環境変数名>=<パス>
This material is licensed under the Creative Commons License BY-NC-SA 4.0.
0-91
108. KconfigとMakefile
具体例を見てみましょう。
USBメモリの機能を追加するためのパラメータ(オプション名)とそれに関連するドライバ
のソースコードを探す方法です。
USBメモリはストレージ設備(USB Mass Storage)なのでdrivers/usb/storage/ディレク
トリ内のKconfigを見てみます。
config USB_STORAGE_DATAFAB
bool "Datafab Compact Flash Reader support (EXPERIMENTAL)"
depends on USB_STORAGE && EXPERIMENTAL
help
Support for certain Datafab CompactFlash readers.
Datafab has a web page at <http://www.datafabusa.com/>.
⇒Datafab社製の製品でコンパクトフラッシュリーダーに関連
する機器
config USB_STORAGE_SDDR55
bool "SanDisk SDDR-55 SmartMedia support
(EXPERIMENTAL)"
depends on USB_STORAGE && EXPERIMENTAL
help
Say Y here to include additional code to support
the
Sandisk SDDR-55
SmartMedia reader in the USB Mass Storage driver.
⇒SanDisk社製の製品でスマートメディアカードに関連する機
器
config USB_STORAGE ←USBメモリの機能のオプション
tristate "USB Mass Storage support"
名
depends on USB && SCSI
---help--Say Y here if you want to connect
USB mass storage devices to your
computer's USB port. This is the driver you
need for USB
floppy drives, USB hard disks, USB tape drives,
USB CD-ROMs,
USB flash devices, and memory sticks, along
with
similar devices. This driver may also be used
for
some cameras
and card readers.
This option depends on 'SCSI' support being
enabled,
but you probably also need 'SCSI device
support:
SCSI disk support'
(BLK_DEV_SD) for most USB storage devices.
This material is licensed under the Creative Commons License BY-NC-SA 4.0.
0-107
To compile this driver as a module, choose M
107
109. KconfigとMakefile
次にMakefileを見てみます
# Makefile for the USB Mass Storage device drivers.
# 15 Aug 2000, Christoph Hellwig
# Rewritten to use lists instead of if-statements.
#
EXTRA_CFLAGS
:= -Idrivers/scsi
obj-$(CONFIG_USB_STORAGE)
+= usb-storage.o
usb-storage-obj-$(CONFIG_USB_STORAGE_DEBUG)
usb-storage-obj-$(CONFIG_USB_STORAGE_USBAT)
:
<省略>
usb-storage-obj-$(CONFIG_USB_STORAGE_KARMA)
usb-storage-objs :=
←このオプションに対するモジュール
+= debug.o
+= shuttle_usbat.o
+= karma.o
scsiglue.o protocol.o transport.o usb.o
←scsiglue.c、protocol.c、
initializers.o $(usb-storage-obj-y)transport.c、usb.c、
ifneq ($(CONFIG_USB_LIBUSUAL),)
obj-$(CONFIG_USB)
+= libusual.o
endif
initializers.c及びこれらと
同名のヘッダファイルがモ
ジュールの実体
であることがわかります
This material is licensed under the Creative Commons License BY-NC-SA 4.0.
0-108
108
110. 「.config」ファイルについて
.config
#
# Automatically generated make config: don’t edit
# :
# :
CONFIG_64BIT=y
#CONFIG_X86_32 is not set
CONFIG_X86_64BIT=y
CONFIG_X86=y
・・・
値
意味
=y
この項目に対応する機能は静的にカーネルに組込まれる
=m
この項目に対応する機能は、モジュールとしてコンパイルされ
る。機能の中にはモジュールとしてコンパイルできないものが
ある。その場合対応する設定項目がこの値をとることはない。
# CONFIG_* is not set
この項目に対応する機能はコンパイルされない。コメントアウ
ト。
カーネルをビルドするとこのファイルの設定値でカーネルが作られる
.configを直接手で編集してはいけない
ある機能が他の機能に依存している可能性がある
機能の依存関係はKconfigが把握している
This material is licensed under the Creative Commons License BY-NC-SA 4.0.
0-109
109
116. armadillo400_android_defconfig
# #MX25 Options
#
CONFIG_MACH_ARMADILLO420=y
CONFIG_MACH_ARMADILLO440=y
# #Armadillo-400 Board options
#
# CONFIG_ARMADILLO400_GPIO_A_B_GPIO is not set
CONFIG_ARMADILLO400_GPIO_A_B_I2C=y
# CONFIG_ARMADILLO400_GPIO_A_B_KEY is not set
CONFIG_ARMADILLO400_GPIO_C_D_GPIO=y
# CONFIG_ARMADILLO400_GPIO_C_D_I2C is not set
## Select wakeup source
#
CONFIG_ARMADILLO400_UART2_WAKE_SRC_SELECT=y
# CONFIG_ARMADILLO400_UART3_WAKE_SRC_SELECT is not set
# CONFIG_ARMADILLO400_UART5_WAKE_SRC_SELECT is not set
CONFIG_ARMADILLO400_TOUCHSCREEN_WAKE_SRC_SELECT=y
CONFIG_ARMADILLO400_TOUCHSCREEN_IS_WAKE_SRC=1
CONFIG_ARMADILLO400_GPIO_KEYS_WAKE_SRC_SELECT=y
CONFIG_ARMADILLO400_GPIO_KEYS_IS_WAKE_SRC=1
CONFIG_UTMI_MXC=y
# #Mapping drivers for chip access
#
CONFIG_MTD_ARMADILLO=y
# #Display device support
#
CONFIG_LOGO=y
CONFIG_LOGO_ARMADILLO_CLUT224=y
## System on Chip audio support
#
CONFIG_SND_SOC=y
CONFIG_SND_MXC_SOC=y
CONFIG_SND_MXC_SOC_SSI=y
CONFIG_SND_SOC_ARMADILLO440_WM8978=y
#NFS設定
## Miscellaneous filesystems
#
CONFIG_NETWORK_FILESYSTEMS=y
CONFIG_NFS_FS=y
CONFIG_NFS_V3=y
CONFIG_NFS_V3_ACL=y
CONFIG_ROOT_NFS=y
CONFIG_LOCKD=y
CONFIG_LOCKD_V4=y
CONFIG_NFS_ACL_SUPPORT=y
CONFIG_NFS_COMMON=y
CONFIG_SUNRPC=y
This material is licensed under the Creative Commons License BY-NC-SA 4.0.
0-115
115
117. 参
考
makeコマンド関連
[host_pc~] > make
カーネルのコンパイルをする。ソースツリーのルートディレクトリで実行。
[host_pc~] > make␣modules_install
コンパイルされたモジュールを/lib/modulesにインストール。
[host_pc~] > make␣install
カーネルバイナリイメージを/boot以下にインストールされる。
Fedora系ではブート時初期化ファイルシステムイメージも作成される。
[host_pc~] > update-initramfs␣–c␣–k␣<カーネルバージョン
>
Debian系においてブート時初期化ファイルシステムイメージも作成する際に使用するコマンド
ファイルまたはディレクトリ名
内容
/lib/modules/<カーネルバージョン>/
モジュールが配置されるディレクトリ
/boot/vmlinuz-<カーネルバージョン>
カーネルイメージファイル
/boot/initramfs-<カーネルバージョン> または
/boot/initrd.img-<カーネルバージョン>
ブート時初期化用ファイルシステムイメージ
/boot/Systemmap-<カーネルバージョン>
アドレス情報ファイル
This material is licensed under the Creative Commons License BY-NC-SA 4.0.
0-116
116
131. 実
習
microSDのパーティションと初期化
パーティションのイメージ
mmcblk0p1
FAT 1-100M
mmcblk0p2
microSD
4G
ext3
残り全部の容量
[armadillo ~] # fdisk␣/dev/mmcblk0
The number of cylinders for this disk is set to 30656.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Command (m for help): d //削除コマンド
Selected partition 1 //パーティション1を指定(不要なパーティションが残っていた
場合念のため削除)
This material is licensed under the Creative Commons License BY-NC-SA 4.0.
0-130
130
132. 実
習
microSDのパーティションと初期化
Command (m for help): n //新規パーティション追加コマンド
Command action
e
extended
p
primary partition (1-4)
p //パーティション
Partition number (1-4): 1 //パーティション1を選択
First cylinder (1-30656, default 1): リターン(default 1) //シリンダの開始値
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-30656, default 30656): +100M //シ
リンダの終了値
Command (m for help): n //新規パーティション追加コマンド
Command action
e
extended
p
primary partition (1-4)
p //パーティション
Partition number (1-4): 2 //パーティション2を選択
This material is licensed under the Creative Commons License BY-NC-SA 4.0.
0-131
131
133. 実
習
microSDのパーティションと初期化
First cylinder (3054-30656, default 3054):リターン(default 3054 ) //シリンダの開
始値
Using default value 3054
Last cylinder or +size or +sizeM or +sizeK (3054-30656, default 30656): ):
リターン(default 30656 ) //シリンダの終了値
Using default value 30656
Command (m for help): w //パーティション作成実行して終了
The partition table has been altered!
Calling ioctl() to re-read partition table.
mmcblk0: p1 p2
mmcblk0: p1 p2
Syncing disks.
[armadillo ~] # mkdosfs␣/dev/mmcblk0p1
↑パーティション1(データ保存領域) はWindowsとのデータ交換を考え
てDOS用
ファイルシステムFATでフォーマット
[armadillo ~] # mke2fs␣-j␣/dev/mmcblk0p2
↑パーティション2(Android ユーザーランド領域) はEXT3 でフォー
マット
This material is licensed under the Creative Commons License BY-NC-SA 4.0.
0-132
132