SlideShare ist ein Scribd-Unternehmen logo
1 von 13
Downloaden Sie, um offline zu lesen
2013-09-25 (C) 2013 Yann E. MORIN 1
Kernel Recipes – September 2013 - crosstool-NG
Crosstool-NG
A (cross-)toolchain generator
Yann E. MORIN
yann.morin.1998@free.fr
http://ymorin.is-a-geek.org/
2013-09-25 (C) 2013 Yann E. MORIN 2
History
2006-11-09 : cleanup-pass proposal
2007-02-08 : cleanup-pass ended in rewrite
2007-04-10 : first public release : 0.0.1
2008-01-16 : first stable release : 1.0.0
1.1.0
1.2.0
1.3.0
1.4.0
1.5.0
1.6.0
1.7.0
1.8.0
1.9.0
2009-07-01 : Mercurial repository
2006 2008 2009 20102007 2011
1.10.01.11.0
1.12.01.13.01.14.0
➢2005..2006 : working with crosstool
➢Needed newer versions
➢Needed uClibc support
2012 2013
1.15.01.16.01.17.01.18.0
1.19.0
?
git?
X
X
Kernel Recipes – September 2013 - crosstool-NG
2013-09-25 (C) 2013 Yann E. MORIN 3
Purpose
➢Build toolchains
➢Only build toolchains
➢Easy to use
➢Easy to maintain
➢Easy to enhance
➢Act as a tutorial
Goals
Kernel Recipes – September 2013 - crosstool-NG
2013-09-25 (C) 2013 Yann E. MORIN 4
Make it easy to use :
standard behaviour
➢Standard package
➢ ./configure
➢ make
➢ make install
➢Toolchain configuration
➢ menuconfig
➢ samples
➢Toolchain build
➢ step by step
➢ simplified log
Kernel Recipes – September 2013 - crosstool-NG
2013-09-25 (C) 2013 Yann E. MORIN 5
[INFO ] =============================================================
[INFO ] Installing shared core C compiler
[EXTRA] Configuring shared core C compiler
[EXTRA] Building shared core C compiler
[EXTRA] Installing shared core C compiler
[INFO ] Installing shared core C compiler: done in 109.49s (at 06:43)
[INFO ] =============================================================
[INFO ] Installing C library
[EXTRA] Copying sources to build dir
[EXTRA] Applying configuration
[EXTRA] Building C library
[EXTRA] Installing C library
[INFO ] Installing C library: done in 39.96s (at 07:23)
[INFO ] =============================================================
[INFO ] Installing final compiler
[EXTRA] Configuring final compiler
[EXTRA] Building final compiler
[EXTRA] Installing final compiler
[INFO ] Installing final compiler: done in 144.12s (at 09:48)
[INFO ] =============================================================
[INFO ] Cleaning-up the toolchain's directory
[INFO ] Stripping all toolchain executables
[EXTRA] Installing the populate helper
[EXTRA] Installing a cross-ldd helper
[EXTRA] Creating toolchain aliases
[EXTRA] Removing access to the build system tools
[EXTRA] Removing installed documentation
[INFO ] Cleaning-up the toolchain's directory: done in 1.88s (at 09:49)
[INFO ] Build completed at 20101023.172433
[INFO ] (elapsed: 9:49.65)
[INFO ] Finishing installation (may take a few seconds)...
Kernel Recipes – September 2013 - crosstool-NG
2013-09-25 (C) 2013 Yann E. MORIN 6
Easy to maintain & enhance :
modular design
➢Isolate components
➢ One config file
➢ One build script
➢ One patchset
➢Define an API
➢ Generic: download, extract and patch
➢ Specific (component categories):
➢C library: headers & start-files, full
➢Compiler: bootstrap 1, bootstrap 2, final
➢Add alternatives
➢ Architectures
➢ C libraries
➢ Kernels
➢ ...
Kernel Recipes – September 2013 - crosstool-NG
2013-09-25 (C) 2013 Yann E. MORIN 7
Goodies
➢Companion libraries
➢ gmp, mpfr, ppl, CLooG/ppl, mpc, libelf, isl
➢Companion tools
➢ auto-stuff et al.
➢Debug tools
– gdb, gdbserver
– ltrace, strace
– dmalloc, D.U.M.A
➢Pre-configured sample toolchains
Kernel Recipes – September 2013 - crosstool-NG
2013-09-25 (C) 2013 Yann E. MORIN 8
➢Different systems involved
➢build system that builds the toolchain
➢host system that runs the toolchain
➢target system the toolchain generates code for
➢Native build == host == target 
➢Cross build == host != target 
➢Cross-native build != host == target 
➢Canadian build != host != target 
Toolchain types
Kernel Recipes – September 2013 - crosstool-NG
2013-09-25 (C) 2013 Yann E. MORIN 9
➢12 Archs
➢5 C libraries
➢2 binary utilities
➢2 kernels
➢1 compiler
➢patchset
➢ required by many components to build
➢ controversy
Status : what's already in?
Kernel Recipes – September 2013 - crosstool-NG
2013-09-25 (C) 2013 Yann E. MORIN 10
➢Your choice of components versions
➢Optimised for your processor
➢Known patchset (if any)
➢Upstream fixes easy to apply
➢Same sources for all targets
➢Reproducible
➢Fits your build-system
Pros
Kernel Recipes – September 2013 - crosstool-NG
2013-09-25 (C) 2013 Yann E. MORIN 11
➢Compile-test for others architectures
➢endiannes, bitness...
➢drivers, filesystems, core changes
➢Test newer tools
➢Latest optimisations
➢New diagnostics
➢Quickly bring up a minimal target system
crosstool-NG for
kernel developpers
Kernel Recipes – September 2013 - crosstool-NG
2013-09-25 (C) 2013 Yann E. MORIN 12
➢Add latest component versions
➢gcc, Linux, C libraries...
➢Consolidate or drop backend-mode
➢currently only used by buildroot, dropping
➢Consolidate canadian-crosses
➢needed before cross-native, and native
➢Look at LLVM / Clang
➢see how it all fits together
➢...
Future : short- and long-term plans
Kernel Recipes – September 2013 - crosstool-NG
2013-09-25 (C) 2013 Yann E. MORIN 13
Thank you!
Questions?
Yann E. MORIN
yann.morin.1998@free.fr
http://ymorin.is-a-geek.org/
License for this paper: Creative Commons BY-SA 3.0
Source for this paper: http://ymorin.is-a-geek.org/publis/KernelRecipes/2013
Kernel Recipes – September 2013 - crosstool-NG

Weitere ähnliche Inhalte

Was ist angesagt?

linux minimal os tutorial - by shatrix
linux minimal os tutorial - by shatrixlinux minimal os tutorial - by shatrix
linux minimal os tutorial - by shatrix
Sherif Mousa
 
Uboot startup sequence
Uboot startup sequenceUboot startup sequence
Uboot startup sequence
Houcheng Lin
 

Was ist angesagt? (20)

OpenWRT guide and memo
OpenWRT guide and memoOpenWRT guide and memo
OpenWRT guide and memo
 
Build your own embedded linux distributions by yocto project
Build your own embedded linux distributions by yocto projectBuild your own embedded linux distributions by yocto project
Build your own embedded linux distributions by yocto project
 
A Journey to Boot Linux on Raspberry Pi
A Journey to Boot Linux on Raspberry PiA Journey to Boot Linux on Raspberry Pi
A Journey to Boot Linux on Raspberry Pi
 
Eclipse IDE Yocto Plugin
Eclipse IDE Yocto PluginEclipse IDE Yocto Plugin
Eclipse IDE Yocto Plugin
 
Openwrt startup
Openwrt startupOpenwrt startup
Openwrt startup
 
Tutorial: Cross-compiling Linux Kernels on x86_64
Tutorial: Cross-compiling Linux Kernels on x86_64Tutorial: Cross-compiling Linux Kernels on x86_64
Tutorial: Cross-compiling Linux Kernels on x86_64
 
Build Your Own Android Tablet
Build Your Own Android TabletBuild Your Own Android Tablet
Build Your Own Android Tablet
 
linux minimal os tutorial - by shatrix
linux minimal os tutorial - by shatrixlinux minimal os tutorial - by shatrix
linux minimal os tutorial - by shatrix
 
Debian on ARM - Gnunify2015
Debian on ARM - Gnunify2015Debian on ARM - Gnunify2015
Debian on ARM - Gnunify2015
 
Firmware hacking, slash the pineapple for fun
Firmware hacking, slash the pineapple for funFirmware hacking, slash the pineapple for fun
Firmware hacking, slash the pineapple for fun
 
Beagleboard xm-setup
Beagleboard xm-setupBeagleboard xm-setup
Beagleboard xm-setup
 
Arm device tree and linux device drivers
Arm device tree and linux device driversArm device tree and linux device drivers
Arm device tree and linux device drivers
 
U Boot or Universal Bootloader
U Boot or Universal BootloaderU Boot or Universal Bootloader
U Boot or Universal Bootloader
 
U-Boot presentation 2013
U-Boot presentation  2013U-Boot presentation  2013
U-Boot presentation 2013
 
Embedded Linux Odp
Embedded Linux OdpEmbedded Linux Odp
Embedded Linux Odp
 
UP Board AI Core Configuration memo
UP Board AI Core Configuration memoUP Board AI Core Configuration memo
UP Board AI Core Configuration memo
 
There is more to C
There is more to CThere is more to C
There is more to C
 
Uboot startup sequence
Uboot startup sequenceUboot startup sequence
Uboot startup sequence
 
Marco Cavallini @ LinuxLab 2018 : Workshop Yocto Project, an automatic genera...
Marco Cavallini @ LinuxLab 2018 : Workshop Yocto Project, an automatic genera...Marco Cavallini @ LinuxLab 2018 : Workshop Yocto Project, an automatic genera...
Marco Cavallini @ LinuxLab 2018 : Workshop Yocto Project, an automatic genera...
 
Embedded Fest 2019. Wei Fu. Linux on RISC-V--Fedora and Firmware in practice
Embedded Fest 2019. Wei Fu. Linux on RISC-V--Fedora and Firmware in practiceEmbedded Fest 2019. Wei Fu. Linux on RISC-V--Fedora and Firmware in practice
Embedded Fest 2019. Wei Fu. Linux on RISC-V--Fedora and Firmware in practice
 

Andere mochten auch (6)

Distro Recipes 2013: What’s new in gcc 4.8?
Distro Recipes 2013: What’s new in gcc 4.8?Distro Recipes 2013: What’s new in gcc 4.8?
Distro Recipes 2013: What’s new in gcc 4.8?
 
Distro Recipes 2013 : Contribution of RDF metadata for traceability among pro...
Distro Recipes 2013 : Contribution of RDF metadata for traceability among pro...Distro Recipes 2013 : Contribution of RDF metadata for traceability among pro...
Distro Recipes 2013 : Contribution of RDF metadata for traceability among pro...
 
Kernel Recipes 2013 - Persistent logs using UBI
Kernel Recipes 2013 - Persistent logs using UBIKernel Recipes 2013 - Persistent logs using UBI
Kernel Recipes 2013 - Persistent logs using UBI
 
HyperKitty, or how to get the best from mailing lists and forums
HyperKitty, or how to get the best from mailing lists and forumsHyperKitty, or how to get the best from mailing lists and forums
HyperKitty, or how to get the best from mailing lists and forums
 
Kernel Recipes 2013 - Make your own LED panel
Kernel Recipes 2013 - Make your own LED panelKernel Recipes 2013 - Make your own LED panel
Kernel Recipes 2013 - Make your own LED panel
 
Kernel Recipes 2016 - New hwmon device registration API - Jean Delvare
Kernel Recipes 2016 -  New hwmon device registration API - Jean DelvareKernel Recipes 2016 -  New hwmon device registration API - Jean Delvare
Kernel Recipes 2016 - New hwmon device registration API - Jean Delvare
 

Ähnlich wie Kernel Recipes 2013 - Crosstool-NG, a cross-toolchain generator

OpenNebulaConf 2013 - Hands-on Tutorial: 2. Installing and Basic Usage
OpenNebulaConf 2013 - Hands-on Tutorial: 2. Installing and Basic UsageOpenNebulaConf 2013 - Hands-on Tutorial: 2. Installing and Basic Usage
OpenNebulaConf 2013 - Hands-on Tutorial: 2. Installing and Basic Usage
OpenNebula Project
 
OpenNebulaConf 2014 - CentOS, QA and OpenNebula - Christoph Galuschka
OpenNebulaConf 2014 - CentOS, QA and OpenNebula - Christoph GaluschkaOpenNebulaConf 2014 - CentOS, QA and OpenNebula - Christoph Galuschka
OpenNebulaConf 2014 - CentOS, QA and OpenNebula - Christoph Galuschka
OpenNebula Project
 
OpenNebula Conf 2014: CentOS, QA an OpenNebula - Christoph Galuschka
OpenNebula Conf 2014: CentOS, QA an OpenNebula - Christoph GaluschkaOpenNebula Conf 2014: CentOS, QA an OpenNebula - Christoph Galuschka
OpenNebula Conf 2014: CentOS, QA an OpenNebula - Christoph Galuschka
NETWAYS
 
NanoQplus Installation Guide - for Windows
NanoQplus Installation Guide - for WindowsNanoQplus Installation Guide - for Windows
NanoQplus Installation Guide - for Windows
Jongsoo Jeong
 

Ähnlich wie Kernel Recipes 2013 - Crosstool-NG, a cross-toolchain generator (20)

Intro to Kernel Debugging - Just make the crashing stop!
Intro to Kernel Debugging - Just make the crashing stop!Intro to Kernel Debugging - Just make the crashing stop!
Intro to Kernel Debugging - Just make the crashing stop!
 
OpenNebulaConf 2013 - Hands-on Tutorial: 2. Installing and Basic Usage
OpenNebulaConf 2013 - Hands-on Tutorial: 2. Installing and Basic UsageOpenNebulaConf 2013 - Hands-on Tutorial: 2. Installing and Basic Usage
OpenNebulaConf 2013 - Hands-on Tutorial: 2. Installing and Basic Usage
 
RDO-Packstack Workshop
RDO-Packstack Workshop RDO-Packstack Workshop
RDO-Packstack Workshop
 
1 session installation
1 session installation1 session installation
1 session installation
 
Creating a Benchmarking Infrastructure That Just Works
Creating a Benchmarking Infrastructure That Just WorksCreating a Benchmarking Infrastructure That Just Works
Creating a Benchmarking Infrastructure That Just Works
 
Real-World Docker: 10 Things We've Learned
Real-World Docker: 10 Things We've Learned  Real-World Docker: 10 Things We've Learned
Real-World Docker: 10 Things We've Learned
 
stackconf 2022: Cluster Management: Heterogeneous, Lightweight, Safe. Pick Three
stackconf 2022: Cluster Management: Heterogeneous, Lightweight, Safe. Pick Threestackconf 2022: Cluster Management: Heterogeneous, Lightweight, Safe. Pick Three
stackconf 2022: Cluster Management: Heterogeneous, Lightweight, Safe. Pick Three
 
OpenNebulaConf 2014 - CentOS, QA and OpenNebula - Christoph Galuschka
OpenNebulaConf 2014 - CentOS, QA and OpenNebula - Christoph GaluschkaOpenNebulaConf 2014 - CentOS, QA and OpenNebula - Christoph Galuschka
OpenNebulaConf 2014 - CentOS, QA and OpenNebula - Christoph Galuschka
 
OpenNebula Conf 2014: CentOS, QA an OpenNebula - Christoph Galuschka
OpenNebula Conf 2014: CentOS, QA an OpenNebula - Christoph GaluschkaOpenNebula Conf 2014: CentOS, QA an OpenNebula - Christoph Galuschka
OpenNebula Conf 2014: CentOS, QA an OpenNebula - Christoph Galuschka
 
Red Hat Satellite 6 - Automation with Puppet
Red Hat Satellite 6 - Automation with PuppetRed Hat Satellite 6 - Automation with Puppet
Red Hat Satellite 6 - Automation with Puppet
 
Scaling Docker Containers using Kubernetes and Azure Container Service
Scaling Docker Containers using Kubernetes and Azure Container ServiceScaling Docker Containers using Kubernetes and Azure Container Service
Scaling Docker Containers using Kubernetes and Azure Container Service
 
DCSF 19 Building Your Development Pipeline
DCSF 19 Building Your Development Pipeline  DCSF 19 Building Your Development Pipeline
DCSF 19 Building Your Development Pipeline
 
Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to docker
 
Install .Net Core, SQL Server V-Next on Linux and deploy .Net core applicatio...
Install .Net Core, SQL Server V-Next on Linux and deploy .Net core applicatio...Install .Net Core, SQL Server V-Next on Linux and deploy .Net core applicatio...
Install .Net Core, SQL Server V-Next on Linux and deploy .Net core applicatio...
 
NFD9 - Matt Peterson, Data Center Operations
NFD9 - Matt Peterson, Data Center OperationsNFD9 - Matt Peterson, Data Center Operations
NFD9 - Matt Peterson, Data Center Operations
 
NanoQplus Installation Guide - for Windows
NanoQplus Installation Guide - for WindowsNanoQplus Installation Guide - for Windows
NanoQplus Installation Guide - for Windows
 
Satellite 6 - Pupet Introduction
Satellite 6 - Pupet IntroductionSatellite 6 - Pupet Introduction
Satellite 6 - Pupet Introduction
 
Kubernetes: training micro-dragons for a serious battle
Kubernetes: training micro-dragons for a serious battleKubernetes: training micro-dragons for a serious battle
Kubernetes: training micro-dragons for a serious battle
 
OpenNebulaConf 2016 - Storage Hands-on Workshop by Javier Fontán, OpenNebula
OpenNebulaConf 2016 - Storage Hands-on Workshop by Javier Fontán, OpenNebulaOpenNebulaConf 2016 - Storage Hands-on Workshop by Javier Fontán, OpenNebula
OpenNebulaConf 2016 - Storage Hands-on Workshop by Javier Fontán, OpenNebula
 
Simplify and run your development environments with Vagrant on OpenStack
Simplify and run your development environments with Vagrant on OpenStackSimplify and run your development environments with Vagrant on OpenStack
Simplify and run your development environments with Vagrant on OpenStack
 

Mehr von Anne Nicolas

Kernel Recipes 2019 - GNU poke, an extensible editor for structured binary data
Kernel Recipes 2019 - GNU poke, an extensible editor for structured binary dataKernel Recipes 2019 - GNU poke, an extensible editor for structured binary data
Kernel Recipes 2019 - GNU poke, an extensible editor for structured binary data
Anne Nicolas
 

Mehr von Anne Nicolas (20)

Kernel Recipes 2019 - Driving the industry toward upstream first
Kernel Recipes 2019 - Driving the industry toward upstream firstKernel Recipes 2019 - Driving the industry toward upstream first
Kernel Recipes 2019 - Driving the industry toward upstream first
 
Kernel Recipes 2019 - No NMI? No Problem! – Implementing Arm64 Pseudo-NMI
Kernel Recipes 2019 - No NMI? No Problem! – Implementing Arm64 Pseudo-NMIKernel Recipes 2019 - No NMI? No Problem! – Implementing Arm64 Pseudo-NMI
Kernel Recipes 2019 - No NMI? No Problem! – Implementing Arm64 Pseudo-NMI
 
Kernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernel
Kernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernelKernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernel
Kernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernel
 
Kernel Recipes 2019 - Metrics are money
Kernel Recipes 2019 - Metrics are moneyKernel Recipes 2019 - Metrics are money
Kernel Recipes 2019 - Metrics are money
 
Kernel Recipes 2019 - Kernel documentation: past, present, and future
Kernel Recipes 2019 - Kernel documentation: past, present, and futureKernel Recipes 2019 - Kernel documentation: past, present, and future
Kernel Recipes 2019 - Kernel documentation: past, present, and future
 
Embedded Recipes 2019 - Knowing your ARM from your ARSE: wading through the t...
Embedded Recipes 2019 - Knowing your ARM from your ARSE: wading through the t...Embedded Recipes 2019 - Knowing your ARM from your ARSE: wading through the t...
Embedded Recipes 2019 - Knowing your ARM from your ARSE: wading through the t...
 
Kernel Recipes 2019 - GNU poke, an extensible editor for structured binary data
Kernel Recipes 2019 - GNU poke, an extensible editor for structured binary dataKernel Recipes 2019 - GNU poke, an extensible editor for structured binary data
Kernel Recipes 2019 - GNU poke, an extensible editor for structured binary data
 
Kernel Recipes 2019 - Analyzing changes to the binary interface exposed by th...
Kernel Recipes 2019 - Analyzing changes to the binary interface exposed by th...Kernel Recipes 2019 - Analyzing changes to the binary interface exposed by th...
Kernel Recipes 2019 - Analyzing changes to the binary interface exposed by th...
 
Embedded Recipes 2019 - Remote update adventures with RAUC, Yocto and Barebox
Embedded Recipes 2019 - Remote update adventures with RAUC, Yocto and BareboxEmbedded Recipes 2019 - Remote update adventures with RAUC, Yocto and Barebox
Embedded Recipes 2019 - Remote update adventures with RAUC, Yocto and Barebox
 
Embedded Recipes 2019 - Making embedded graphics less special
Embedded Recipes 2019 - Making embedded graphics less specialEmbedded Recipes 2019 - Making embedded graphics less special
Embedded Recipes 2019 - Making embedded graphics less special
 
Embedded Recipes 2019 - Linux on Open Source Hardware and Libre Silicon
Embedded Recipes 2019 - Linux on Open Source Hardware and Libre SiliconEmbedded Recipes 2019 - Linux on Open Source Hardware and Libre Silicon
Embedded Recipes 2019 - Linux on Open Source Hardware and Libre Silicon
 
Embedded Recipes 2019 - From maintaining I2C to the big (embedded) picture
Embedded Recipes 2019 - From maintaining I2C to the big (embedded) pictureEmbedded Recipes 2019 - From maintaining I2C to the big (embedded) picture
Embedded Recipes 2019 - From maintaining I2C to the big (embedded) picture
 
Embedded Recipes 2019 - Testing firmware the devops way
Embedded Recipes 2019 - Testing firmware the devops wayEmbedded Recipes 2019 - Testing firmware the devops way
Embedded Recipes 2019 - Testing firmware the devops way
 
Embedded Recipes 2019 - Herd your socs become a matchmaker
Embedded Recipes 2019 - Herd your socs become a matchmakerEmbedded Recipes 2019 - Herd your socs become a matchmaker
Embedded Recipes 2019 - Herd your socs become a matchmaker
 
Embedded Recipes 2019 - LLVM / Clang integration
Embedded Recipes 2019 - LLVM / Clang integrationEmbedded Recipes 2019 - LLVM / Clang integration
Embedded Recipes 2019 - LLVM / Clang integration
 
Embedded Recipes 2019 - Introduction to JTAG debugging
Embedded Recipes 2019 - Introduction to JTAG debuggingEmbedded Recipes 2019 - Introduction to JTAG debugging
Embedded Recipes 2019 - Introduction to JTAG debugging
 
Embedded Recipes 2019 - Pipewire a new foundation for embedded multimedia
Embedded Recipes 2019 - Pipewire a new foundation for embedded multimediaEmbedded Recipes 2019 - Pipewire a new foundation for embedded multimedia
Embedded Recipes 2019 - Pipewire a new foundation for embedded multimedia
 
Kernel Recipes 2019 - ftrace: Where modifying a running kernel all started
Kernel Recipes 2019 - ftrace: Where modifying a running kernel all startedKernel Recipes 2019 - ftrace: Where modifying a running kernel all started
Kernel Recipes 2019 - ftrace: Where modifying a running kernel all started
 
Kernel Recipes 2019 - Suricata and XDP
Kernel Recipes 2019 - Suricata and XDPKernel Recipes 2019 - Suricata and XDP
Kernel Recipes 2019 - Suricata and XDP
 
Kernel Recipes 2019 - Marvels of Memory Auto-configuration (SPD)
Kernel Recipes 2019 - Marvels of Memory Auto-configuration (SPD)Kernel Recipes 2019 - Marvels of Memory Auto-configuration (SPD)
Kernel Recipes 2019 - Marvels of Memory Auto-configuration (SPD)
 

Kürzlich hochgeladen

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Kürzlich hochgeladen (20)

FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 

Kernel Recipes 2013 - Crosstool-NG, a cross-toolchain generator

  • 1. 2013-09-25 (C) 2013 Yann E. MORIN 1 Kernel Recipes – September 2013 - crosstool-NG Crosstool-NG A (cross-)toolchain generator Yann E. MORIN yann.morin.1998@free.fr http://ymorin.is-a-geek.org/
  • 2. 2013-09-25 (C) 2013 Yann E. MORIN 2 History 2006-11-09 : cleanup-pass proposal 2007-02-08 : cleanup-pass ended in rewrite 2007-04-10 : first public release : 0.0.1 2008-01-16 : first stable release : 1.0.0 1.1.0 1.2.0 1.3.0 1.4.0 1.5.0 1.6.0 1.7.0 1.8.0 1.9.0 2009-07-01 : Mercurial repository 2006 2008 2009 20102007 2011 1.10.01.11.0 1.12.01.13.01.14.0 ➢2005..2006 : working with crosstool ➢Needed newer versions ➢Needed uClibc support 2012 2013 1.15.01.16.01.17.01.18.0 1.19.0 ? git? X X Kernel Recipes – September 2013 - crosstool-NG
  • 3. 2013-09-25 (C) 2013 Yann E. MORIN 3 Purpose ➢Build toolchains ➢Only build toolchains ➢Easy to use ➢Easy to maintain ➢Easy to enhance ➢Act as a tutorial Goals Kernel Recipes – September 2013 - crosstool-NG
  • 4. 2013-09-25 (C) 2013 Yann E. MORIN 4 Make it easy to use : standard behaviour ➢Standard package ➢ ./configure ➢ make ➢ make install ➢Toolchain configuration ➢ menuconfig ➢ samples ➢Toolchain build ➢ step by step ➢ simplified log Kernel Recipes – September 2013 - crosstool-NG
  • 5. 2013-09-25 (C) 2013 Yann E. MORIN 5 [INFO ] ============================================================= [INFO ] Installing shared core C compiler [EXTRA] Configuring shared core C compiler [EXTRA] Building shared core C compiler [EXTRA] Installing shared core C compiler [INFO ] Installing shared core C compiler: done in 109.49s (at 06:43) [INFO ] ============================================================= [INFO ] Installing C library [EXTRA] Copying sources to build dir [EXTRA] Applying configuration [EXTRA] Building C library [EXTRA] Installing C library [INFO ] Installing C library: done in 39.96s (at 07:23) [INFO ] ============================================================= [INFO ] Installing final compiler [EXTRA] Configuring final compiler [EXTRA] Building final compiler [EXTRA] Installing final compiler [INFO ] Installing final compiler: done in 144.12s (at 09:48) [INFO ] ============================================================= [INFO ] Cleaning-up the toolchain's directory [INFO ] Stripping all toolchain executables [EXTRA] Installing the populate helper [EXTRA] Installing a cross-ldd helper [EXTRA] Creating toolchain aliases [EXTRA] Removing access to the build system tools [EXTRA] Removing installed documentation [INFO ] Cleaning-up the toolchain's directory: done in 1.88s (at 09:49) [INFO ] Build completed at 20101023.172433 [INFO ] (elapsed: 9:49.65) [INFO ] Finishing installation (may take a few seconds)... Kernel Recipes – September 2013 - crosstool-NG
  • 6. 2013-09-25 (C) 2013 Yann E. MORIN 6 Easy to maintain & enhance : modular design ➢Isolate components ➢ One config file ➢ One build script ➢ One patchset ➢Define an API ➢ Generic: download, extract and patch ➢ Specific (component categories): ➢C library: headers & start-files, full ➢Compiler: bootstrap 1, bootstrap 2, final ➢Add alternatives ➢ Architectures ➢ C libraries ➢ Kernels ➢ ... Kernel Recipes – September 2013 - crosstool-NG
  • 7. 2013-09-25 (C) 2013 Yann E. MORIN 7 Goodies ➢Companion libraries ➢ gmp, mpfr, ppl, CLooG/ppl, mpc, libelf, isl ➢Companion tools ➢ auto-stuff et al. ➢Debug tools – gdb, gdbserver – ltrace, strace – dmalloc, D.U.M.A ➢Pre-configured sample toolchains Kernel Recipes – September 2013 - crosstool-NG
  • 8. 2013-09-25 (C) 2013 Yann E. MORIN 8 ➢Different systems involved ➢build system that builds the toolchain ➢host system that runs the toolchain ➢target system the toolchain generates code for ➢Native build == host == target  ➢Cross build == host != target  ➢Cross-native build != host == target  ➢Canadian build != host != target  Toolchain types Kernel Recipes – September 2013 - crosstool-NG
  • 9. 2013-09-25 (C) 2013 Yann E. MORIN 9 ➢12 Archs ➢5 C libraries ➢2 binary utilities ➢2 kernels ➢1 compiler ➢patchset ➢ required by many components to build ➢ controversy Status : what's already in? Kernel Recipes – September 2013 - crosstool-NG
  • 10. 2013-09-25 (C) 2013 Yann E. MORIN 10 ➢Your choice of components versions ➢Optimised for your processor ➢Known patchset (if any) ➢Upstream fixes easy to apply ➢Same sources for all targets ➢Reproducible ➢Fits your build-system Pros Kernel Recipes – September 2013 - crosstool-NG
  • 11. 2013-09-25 (C) 2013 Yann E. MORIN 11 ➢Compile-test for others architectures ➢endiannes, bitness... ➢drivers, filesystems, core changes ➢Test newer tools ➢Latest optimisations ➢New diagnostics ➢Quickly bring up a minimal target system crosstool-NG for kernel developpers Kernel Recipes – September 2013 - crosstool-NG
  • 12. 2013-09-25 (C) 2013 Yann E. MORIN 12 ➢Add latest component versions ➢gcc, Linux, C libraries... ➢Consolidate or drop backend-mode ➢currently only used by buildroot, dropping ➢Consolidate canadian-crosses ➢needed before cross-native, and native ➢Look at LLVM / Clang ➢see how it all fits together ➢... Future : short- and long-term plans Kernel Recipes – September 2013 - crosstool-NG
  • 13. 2013-09-25 (C) 2013 Yann E. MORIN 13 Thank you! Questions? Yann E. MORIN yann.morin.1998@free.fr http://ymorin.is-a-geek.org/ License for this paper: Creative Commons BY-SA 3.0 Source for this paper: http://ymorin.is-a-geek.org/publis/KernelRecipes/2013 Kernel Recipes – September 2013 - crosstool-NG