Embedded-Linux
Wie komme ich zu einem Embedded-Linux-System? Andreas Klinger ak@it-klinger.de
IT - Klinger http://www.it-klinger.de
Linux-Tag Berlin 22.05.2013
Andreas Klinger 1 / 68
Embedded-Linux Wie komme ich zu einem Embedded-Linux-System? - - PowerPoint PPT Presentation
Embedded-Linux Wie komme ich zu einem Embedded-Linux-System? Andreas Klinger ak@it-klinger.de IT - Klinger http://www.it-klinger.de Linux-Tag Berlin 22.05.2013 Andreas Klinger 1 / 68 Teil I Embedded-Linux-System Andreas Klinger 2 / 68
IT - Klinger http://www.it-klinger.de
Andreas Klinger 1 / 68
Andreas Klinger 2 / 68
1
2
3
4
5
6
7
Andreas Klinger 3 / 68
1
Andreas Klinger 4 / 68
Andreas Klinger 5 / 68
Andreas Klinger 6 / 68
Andreas Klinger 7 / 68
Init- Prozeß /sbin/init Libraries libc /lib Device Nodes /dev Shell- Programme Dämonen /bin /sbin /usr/bin ... Konfiguration /etc
Andreas Klinger 8 / 68
Andreas Klinger 9 / 68
Andreas Klinger 10 / 68
Andreas Klinger 11 / 68
2
Andreas Klinger 12 / 68
Andreas Klinger 13 / 68
Andreas Klinger 14 / 68
Andreas Klinger 15 / 68
Andreas Klinger 16 / 68
3
Andreas Klinger 17 / 68
Andreas Klinger 18 / 68
Andreas Klinger 19 / 68
Entwicklungsrechner Target
telnet localhost 4444 wut_init load_image u-boot resume 0x600000 ... 4444 OpenOCD Olimex FT 2232
USB JTAG
RAM CPU Flash
Andreas Klinger 20 / 68
Andreas Klinger 21 / 68
Andreas Klinger 22 / 68
Andreas Klinger 23 / 68
Entwicklungsrechner Target
telnet localhost 4444 wut_init load_image u-boot step 0x600000 4444 arm-linux-gdb u-boot target remote lo.:3333 break start_armboot continue 3333 OpenOCD Olimex FT 2232
USB JTAG
RAM CPU Flash
Andreas Klinger 24 / 68
4
Andreas Klinger 25 / 68
Andreas Klinger 26 / 68
❛ ❛ ❛
❆ ❆ ❆ ❆ ❆
✦ ✦
✦ ✦
✡ ✡
Andreas Klinger 27 / 68
Andreas Klinger 28 / 68
Andreas Klinger 29 / 68
Andreas Klinger 30 / 68
ssh root@192.168.0.90
scp root@192.168.0.90: /etc/shadow . Ethernet
Flash u-boot zImage Root-FS
Andreas Klinger 31 / 68
5
Andreas Klinger 32 / 68
Andreas Klinger 33 / 68
Andreas Klinger 34 / 68
Andreas Klinger 35 / 68
Andreas Klinger 36 / 68
Andreas Klinger 37 / 68
Andreas Klinger 38 / 68
Andreas Klinger 39 / 68
Linux- Kernel uClibc Busybox Programm- Pakete Entwicklungs- Werkzeuge Cross- Development- Toolchain
gcc, as ld, ar nm, strip ...
❅ ❅ ❅ ❅
❅ ❅ ❅ ❅ ❅ ❘ ❄
Andreas Klinger 40 / 68
Andreas Klinger 41 / 68
Konfiguration
make menuconfig ❄
Download
make source ❄
Erstellen von: Cross-Toolchain, Linux-Kernel u. Target-Packages
make ❄
Root-Filesystem zusammenstellen
❄
Embedded-Linux- System
Andreas Klinger 42 / 68
Andreas Klinger 43 / 68
Andreas Klinger 44 / 68
Andreas Klinger 45 / 68
Andreas Klinger 46 / 68
Andreas Klinger 47 / 68
Andreas Klinger 48 / 68
Andreas Klinger 49 / 68
Andreas Klinger 50 / 68
Andreas Klinger 51 / 68
6
Andreas Klinger 52 / 68
Andreas Klinger 53 / 68
Andreas Klinger 54 / 68
Andreas Klinger 55 / 68
Andreas Klinger 56 / 68
Andreas Klinger 57 / 68
Andreas Klinger 58 / 68
Andreas Klinger 59 / 68
Andreas Klinger 60 / 68
Flash-Hardware Wear-Leveling Bad-Block Block-Device Sektoren Filesystem
/dev/sdc1 /dev/mmcblk0p1
Andreas Klinger 61 / 68
7
Andreas Klinger 62 / 68
Andreas Klinger 63 / 68
Andreas Klinger 64 / 68
❝
❝ 2.6.31 ❝ 2.6.26 ❝ 2.6.0
PPPPPPPPP ❝
✦ ✦ ✦ ✦ ✦ ✦ ✦ ✦ ❝
Andreas Klinger 65 / 68
Andreas Klinger 66 / 68
Andreas Klinger 67 / 68
Andreas Klinger 68 / 68