Linux Kernel Boot Process , SOSCON 2015, By Mario ChoMario ChoSamsung Open Source Conference 2015.
Linux Kernel Boot process
link: http://www.soscon.net/index.asp
노태상 - 리눅스 커널 개요 및 이슈 아이엠 (2010Y01M30D)Ubuntu Korea CommunityWatch video on Youtube! : http://www.youtube.com/watch?v=aZDKyNtSqOo
장소 : 서울시 용산구 원효로 3가 53-5 청진 빌딩 10층 1004호 TERA TEC 사무실
시간 : 2010년 1월 30일 토요일 오후 2:00
발표 : 김성윤님, 강분도님, 노태상님 - 리눅스 커널 - 개요 및 이슈,
세미나 정보 : http://www.ubuntu.or.kr/viewtopic.php...
Place : TERA TEC Office, 1004, 10th floor, Cheongjin Bldg., Wonhyoro 3-ga, Yongsan-gu, Seoul, Korea
Time : 14:00, Saturday, 2010Y 1M 30D
Presentation : Kim Seongyun, Kang Bundo, Noh Taesang - Linux Kernel - Outline and issue
Seminar Info : http://www.ubuntu.or.kr/viewtopic.php...
About Ubuntu
Ubuntu is an ancient African word meaning 'humanity to others'.
It also means 'I am what I am because of who we all are'.
The Ubuntu operating system brings the spirit of Ubuntu to the world of computers.
http://www.ubuntu.com
About Ubuntu Korea Community
We want to be happy using Ubuntu.
'Korean Ubuntu User Forum' Welcomes your voluntary supports.
http://www.ubuntu-kr.org
Maker 오해와 진실유명환 FunFun YooMaker 와 Embedded Engineer 간의 차이에 대해 설명하고 Maker 로부터 나온 아이디어를 실제 제품화 하는데 필요한 임베디드 시스템 개발에서 성공을 결정짓는 설계를 위한 임베디드 플랫폼에 대해 소개하는 자료
MCU(nanheekim)Nanhee Kim@Powersupply(YeungnamUniv.) @NanheeKim @nh9k
질문이 있으면 언제든지 연락주세요!
Please, feel free to contact me, if you have any questions!
github: https://github.com/nh9k
email: kimnanhee97@gmail.com
리눅스 스터디 1회차준혁 이리눅스 스터디 1회차 in KOSMOS
VM에 설치하므로 이미지 부분은 건너뛰세요.
on Onedrive:
https://onedrive.live.com/redir?resid=c4dd3c6db99e8d1a!11192&authkey=!ALtcH-dt9PGfl58&ithint=file%2cpptx
이것이 리눅스다 - 김종욱Jong Wook Kim'이것이 리눅스다' 책을 일고 공부하면서 느낀점과 공부하면서 조사하였던 관련된 자료를 PPT로 만든 것입니다. (this is Linux, this PPT has Many Things that Resource Related the Linux and other) 감사합니다. Thank you
망고64 부품도종인 전This document provides diagrams and component lists for the bottom and top sides of a Mango64 board. The bottom diagram labels 29 components including the S3C6410 processor, RAM chips, and various connectors. The top diagram focuses on the LCD components, labeling 14 parts including the LCD screen, LEDs, and buttons. Both diagrams include references to an online cafe for more information on embedded systems and the Mango64 board.
망고100 보드로 놀아보자 10종인 전The document discusses the partition layouts of the Mango100 board's NAND flash and SD/MMC storage. For NAND, there are three partitions for the bootloader, kernel, and filesystem. For SD/MMC, fdisk is used to create partitions including FAT32, GNOME, and Android filesystems which are then formatted and mounted.
Maker 오해와 진실유명환 FunFun YooMaker 와 Embedded Engineer 간의 차이에 대해 설명하고 Maker 로부터 나온 아이디어를 실제 제품화 하는데 필요한 임베디드 시스템 개발에서 성공을 결정짓는 설계를 위한 임베디드 플랫폼에 대해 소개하는 자료
MCU(nanheekim)Nanhee Kim@Powersupply(YeungnamUniv.) @NanheeKim @nh9k
질문이 있으면 언제든지 연락주세요!
Please, feel free to contact me, if you have any questions!
github: https://github.com/nh9k
email: kimnanhee97@gmail.com
리눅스 스터디 1회차준혁 이리눅스 스터디 1회차 in KOSMOS
VM에 설치하므로 이미지 부분은 건너뛰세요.
on Onedrive:
https://onedrive.live.com/redir?resid=c4dd3c6db99e8d1a!11192&authkey=!ALtcH-dt9PGfl58&ithint=file%2cpptx
이것이 리눅스다 - 김종욱Jong Wook Kim'이것이 리눅스다' 책을 일고 공부하면서 느낀점과 공부하면서 조사하였던 관련된 자료를 PPT로 만든 것입니다. (this is Linux, this PPT has Many Things that Resource Related the Linux and other) 감사합니다. Thank you
망고64 부품도종인 전This document provides diagrams and component lists for the bottom and top sides of a Mango64 board. The bottom diagram labels 29 components including the S3C6410 processor, RAM chips, and various connectors. The top diagram focuses on the LCD components, labeling 14 parts including the LCD screen, LEDs, and buttons. Both diagrams include references to an online cafe for more information on embedded systems and the Mango64 board.
망고100 보드로 놀아보자 10종인 전The document discusses the partition layouts of the Mango100 board's NAND flash and SD/MMC storage. For NAND, there are three partitions for the bootloader, kernel, and filesystem. For SD/MMC, fdisk is used to create partitions including FAT32, GNOME, and Android filesystems which are then formatted and mounted.
Linux Kernel 101 for BeginnerInfraEngineer박강민(pr0gr4m) / Linux Kernel Contributor - <Linux Kernel 101 for Beginner>
"리눅스 커널에 관심은 있지만, 커널을 어떻게 공부해야 하는지 모르는 분들을 위해 준비한 시간입니다.
입문자 분들이 리눅스 커널 공부를 시작하는 방법에 대해 소개합니다"
영상: https://youtu.be/96T6OCEqZNk
주최: https://www.facebook.com/groups/InfraEngineer
[2011 CodeEngn Conference 05] ashine - 안드로이드 리눅스에서의 시스템 해킹GangSeok Lee2011 CodeEngn Conference 05
안드로이드 리눅스 상에서 bof 공격을 해본다. 임의로 제작한 취약한 어플리케이션을 대상으로 공격코드를 작성하여 쉘을 획득하는 과정을 보여주며설명한다. x86 환경에서와 ARM 환경에서의 공격코드 작성시 차이점에 대해 설명한다.
http://codeengn.com/conference/05
Open source Embedded systemsH K YoonArduino, Raspberry Pi, Beagleblack and so on, all are signaling new tide of open source hardware.
In other words, open source is widening from software into hardware.
It will also affect the IOT, Internet of Things, as the major IOT frameworks are also open source based.
망고100 보드로 놀아보자 19종인 전1) The document discusses the process of adding Ethernet functionality to an Android device using the MangoBoard. It describes initializing the Ethernet service during boot up and registering it with the ConnectivityService.
2) When an Ethernet connection is detected, the EthernetMonitor thread notifies the EthernetStateTracker which triggers DHCP configuration of the interface.
3) The DHCPHandler is then sent a message to start the DHCP process and obtain an IP address for the connected Ethernet interface.
망고100 보드로 놀아보자 18종인 전The document discusses adding menu options and icons for sound driver selection on Android. It involves:
1. Modifying the kernel configuration to include WM8960 and SPDIF drivers.
2. Creating menu strings and arrays in the Settings app for the sound change options.
3. Implementing a SoundChangeManager in the framework to set the sound mode from apps and broadcast state changes.
4. Adding JNI functions and HAL code to actually change the sound driver on selection.
The end result is a new sound change setting and icons in the Android system settings to allow selecting between the WM8960 and SPDIF sound drivers.
망고100 보드로 놀아보자 15종인 전The document describes how to port and modify drivers for UART, Ethernet, LCD, and keypad on a Mango100 board running Android. It provides instructions on configuring the kernel, modifying driver source code files, and checking that the drivers are functioning properly. Key steps include enabling drivers in the kernel .config file, adding device registration code, and modifying functions to set GPIO pins and timing parameters for devices like the LCD. It also explains how to view input events in logcat and trace the flow of key events through the Android framework.
Mango64 u boot 업데이트 하기종인 전The document discusses modifying u-boot source code to port it to the Mango64 board based on the S3C6410 processor. It describes adding board configuration files, modifying hardware initialization code, and updating macros and definitions to support the board's hardware. Key files modified include the Makefile, device tree, board initialization code, and board-specific configuration header. The goal is to enable features like SD card detection and eventually add other functionality supported by the port.
망고64(s3 c6410) 부팅모드종인 전This document discusses two booting modes for the Mango64 (S3C6410) - NOR mode and NAND mode. NOR mode boots from the internal NOR flash memory, while NAND mode boots from an external NAND flash memory. The document provides information on turning each mode on.
망고100 보드로 놀아보자 7종인 전This document analyzes the $BOARDNAME.h file in U-boot. It describes the contents and purpose of this important file that defines board-specific configurations for U-boot. It provides examples of definitions for the Mango100 board related to memory layout, boot settings, Ethernet/USB configurations, and NAND support.
2. Linux 커널 소스 트리 구조
sound ipc lib block
kernel mm
Doc scripts
SRC/ cdrom
driver char
arch
alpha fs net net
init include
i386 802 pci
coda asm-alpha appletalk pnp
m68k
ext2 asm-arm decnet sbus
mips
hpfs ethernet scsi
ppc boot
msdos asm-i386 ipv4
sparc kernel
nfs linux unix video
arm lib sunrpc
isofs net
math-emu ntfs x25
scsi
mm
video
http://www.mangoboard.com
3. 각 디렉토리 설명
• arch/
– CPU 종속적인 부분, 각 처리기 마다 하위 디렉토리로 구성됨 (arch/arm,
arch/i386, arch/alpha … )
– arch/arm/boot/
• 부트스트랩핑 코드
– arch/arm/kernel/
• 하드웨어 종속적인(hardware dependent) 커널 관리 루틴
• 트랩, 인터럽트 처리 루틴
• 문맥 교환 루틴
• 장치 구성, 초기화 루틴
– arch/arm/mm/
• 하드웨어 종속적인 메모리 관리 루틴
• init/
– 하드웨어 독립적인 커널 초기화 루틴 (start_kernel)
– 태스크 0 (init_task or task[0]) 생성
– 태스크 1, 2, 3 등 데몬 프로세스 생성
http://www.mangoboard.com
4. 각 디렉토리 설명 (2)
• kernel/
– 리눅스 커널의 가장 중심적인 디렉토리 (central section of the kernel)
– 하드웨어 독립적인 커널 관리 루틴 (하드웨어 종속적인 커널 관리 루틴
은 arch/arm/kernel 디렉토리에 존재)
– fork, exit 등 태스크 관련 시스템 호출 처리 루틴
– 스케줄러 (scheduler) 루틴
– 시그널 처리 (signal handling)/시간 관리 (time management) 루틴
• mm/
– 하드웨어 독립적인 메모리 관리 루틴 (하드웨어 종속적인 메모리 관리
루틴은 arch/arm/mm 디렉토리에 존재)
– 가상 메모리 관리, 페이징 (paging), 스와핑(swapping)
• fs/
– 가상 파일 시스템 (virtual file system ) 관리 루틴
– open, read 등 태스크 관련 시스템 호출 처리 루틴
– 특정 파일 시스템 관리 루틴은 하위 디렉토리에 존재 (ext2, ext3, ramfs,
minix, jffs2, proc, nfs, msdos, coda, .. )
http://www.mangoboard.com
5. 각 디렉토리 설명 (3)
• drivers/
– 개개의 장치를 제어하기 위한 장치 드라이버 루틴
– 디바이스 드라이버는 크게 문자/블록/네트워크 드라이버로 구분
– drivers/block/ : 블록 장치 드라이버. 예를 들어 IDE 디스크 (hd)
– drivers/char/ : 문자 장치 드라이버. serial ports, tty, modem, ..)
– drivers/net : 네트웍 장치 드라이버. 예를 들어 3C509, ...
– drivers/pci/ : PCI bus 제어
– drivers/cdrom/ : CD-ROM 드라이버
– drivers/scsi/ : SCSI 인터페이스 관리
• Sound :sound card 드라이버
• ipc/
– 프로세스간 통신을 지원하기 위한 루틴
– 세마포어(semaphores), 공유 메모리(shared memory), 메시지 큐
(message queues)
http://www.mangoboard.com
6. 각 디렉토리 설명 (4)
• net/
– TCP/IP, ARP 등 네트웍 통신 프로토콜 (네트웍 장치 드라이버는
drivers/net에 존재)
– 소켓 인터페이스
• include/
– 커널 헤더
– 하드웨어 독립적인 헤더 : include/linux/
– 하드웨어 종속적인 헤더 : include/asm-***/ (예를 들어 ARM CPU 종속
적인 헤더는 include/asm-arm/ 디렉토리에 존재)
• lib/
– 커널 라이브러리 루틴
• doc/ or Documentation/
– 커널 문서 디렉토리.
http://www.mangoboard.com