این دوره ی کاربردی و تخصصی ویژه ی سازمان ها یا متخصانی است که تمایل دارند که سیستم Embedded Linux خود را ایجاد نمایند.

Buildroot یک ابزار متن باز ساده و کارآمد است که پروسه ساخت یک لینوکس کامل و قابل بوت را در سیستم های Embedded خودکار می کند.


مرور اجمالی:

Introduction to Buildroot -

Managing and building the configuration -

Buildroot source and build trees -

Toolchains in Buildroot -

Managing the Linux kernel configuration -

Root filesystem -

Download infrastructure -

GNU Make 101 -

Integrating new packages -

Advanced package aspects -

Analyzing the build -

Advanced topics -

Application development with Buildroot -

Understanding the Buildroot internals -

Buildroot community: support and contribution -

?What’s new in Buildroot -

 مدت دوره: 30 ساعت

 تاریخ برگزاری: لطفا به تقویم آموزشی مراجعه بفرمایید.

مدرس: دکتر ناصر افشین

مخاطبین: متخصص های که یا از buildroot استفاده می کنند یا تمایل دارند که سیستم Embedded Linux خود را ایجاد نمایند.

پیش نیاز: دوره Embedded Level 1 بصورت الزامی و Embedded level 2 بصورت پیشنهادی

 

مشخصات سخت افزار:

Apex-V210

S5PV210 (Cortex-A8) CPU from Samsung, which features:

512 MB DDR2 RAM

256 MB NAND flash

1 Ethernet ports (10/100 Mbit)

2 USB 2.0 host ports

1 USB OTG port

1 MMC/SD slot

4 serial port

2 x RS232 ports

2 x RS422 ports

ISA Port

I2C, SPI ports

Compact Flash

Analog Video (CVBS) IN/OUT

LCD/VGA ports

Misc: JTAG, Optically isolated GPIOs,LEDs

 

Embedded Linux and build system introduction

The general architecture of an embedded Linux system -

Build systems vs. binary distributions -

Role of a build system -

Comparison of existing build systems -

 

Introduction to bulidroot

Key facts about the project -

Getting Buildroot -

Basic configuration of Buildroot -

Doing a first build -

 

Basic Buildroot usage

Getting and setting up Buildroot -

Configuring and building a basic system with Buildroot for the Apex-V210 -

Flash and test the generated system on the Apex-V210 -

 

Managing the build and configuration

Out of tree build -

Using and creating defconfigs -

Defconfig fragments -

Other building tips -

 

Buildroot source and build trees

Details about the Buildroot source code organization -

Details about the Buildroot build tree -

 

Toolchains in Builtroot

The different choices for using toolchains in Buildroot -

Overview of the toolchain options -

Using existing binary toolchains, such as Sourcery CodeBench toolchains, understanding multilib capabilities and integration of toolchains in Buildroot -

Generating custom toolchains with Crosstool-NG, and re-use them as external -

Toolchains -

 

Managing the Linux kernel configuration

Loading, changing and saving the kernel configuration -

 

Root filesystem construction in Buildroot

Understand how Buildroot builds the root filesystem: skeleton, installation of packages, overlays, post-build and post-image scripts -

Customization of the root filesystem contents -

System configuration: console selection, various /dev management methods, the different init -

implementations, etc -

 

Understand how Buildroot generates filesystem images

Rootfile systems customization -

Explore the build output -

Customize the root filesystem using a rootfs overlay -

Customize the kernel with patches and additional configuration options -

Add more packages -

Use defconfig files and out of tree build -

 

Download infrastructure in Buildroot

Downloading logic -

Primary site and backup site, doing offline builds -

VCS download, integrity checking -

Download-related make targets -

 

GNU Make 101

Basics of make rules -

Defining and referencing variables -

Conditions, functions -

Writing recipes -

 

Integrating new packages in Buildroot

How to integrate new packages in the Buildroot configuration system -

Understand the different package infrastructures: for generic, autotools, CMake, Python packages and more. -

Writing a package Config.in file: how to express dependencies on other packages, on -

toolchain options, etc -

Details on writing a package recipe: describing the package source code location, download -

method, configuration, build and installation steps, handling dependencies, etc -

New packages in Buildroot -

Create a new package for nInvaders -

Understand how to add dependencies -

Add patches to nInvaders for Nunchuk support -

 

Advanced package aspects

Licensing report -

Patching support: patch ordering and format, global patch directory, etc -

User, permission, device tables -

Init scripts and systemd unit files -

Config scripts -

Understanding hooks -

Overriding commands -

Legacy handling -

Virtual packages -

 

Advanced packages

Package an application with a mandatory dependency and an optional dependency -

Package a library, hosted on GitHub -

Use hooks to tweak packages -

Add a patch to a package -

 

Analyzing the build: licensing, dependencies, build time

Usage of the legal information infrastructure -

Graphing dependencies of packages -

Collecting and graphing build time information -

 

Advanced topics

BR2_EXTERNAL to store customizations outside of the Buildroot sources -

Package-specific targets -

Understanding rebuilds -

Tips for building faster -

 

Advanced aspects in action

Use build time graphing capabilities -

Use dependency graphing capabilities -

Use licensing report generation, and add licensing information to your own packages -

Use BR2_EXTERNAL -

 

Application development with Buildroot

Using Buildroot during application development -

Usage of the Buildroot environment to build applications outside of Buildroot -

Generate an SDK for other developers -

Remote debugging with Buildroot -

 

Application development with Buildroot in action

Build and run your own application -

Remote debug your application -

Use <pkg>_OVERRIDE_SRCDIR -

Set up Eclipse for Buildroot application development -

 

Understanding Buildroot internals

Detailed description of the Buildroot build process: toolchain, packages, root filesystem construction, stamp files, etc -

Understanding virtual packages -

 

Getting support and contributing, what’s new in Buildroot

Getting support: Bugzilla, mailing list, IRC -

Contributing: understanding the development process, how to submit patches -

What’s new in Buildroot: summary of the major changes since the last two years -