LN_5_Rootfs

Similar documents
Microsoft PowerPoint - LN_10_rootFS.ppt [호환 모드]

Microsoft Word doc

슬라이드 제목 없음

PowerPoint 프레젠테이션

Microsoft PowerPoint - 03-Development-Environment-2.ppt

Microsoft PowerPoint - em8-리눅스설치.ppt

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

망고100 보드로 놀아보자-4

Adobe Flash 취약점 분석 (CVE )

/chroot/lib/ /chroot/etc/

임베디드시스템설계강의자료 4 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

untitled

Microsoft PowerPoint - 02-Development-Environment-1.ppt

Chapter. 5 Embedded System I Bootloader, Kernel, Ramdisk Professor. Jaeheung, Lee

Learn Raspberry Pi with Linux by Peter Membrey, David Hows Original English language edition published by Apress, Inc. Copyright c 2013 by Apress. Kor

Mango220 Android How to compile and Transfer image to Target

Gentoo linux 설치기록

PowerPoint 프레젠테이션

Microsoft PowerPoint - 13-em14-안드로이드.ppt [호환 모드]

Microsoft PowerPoint - comp_prac_081223_2.pptx

문서 대제목

Copyright 2004 Sun Microsystems, Inc Network Circle, Santa Clara, CA U.S.A..,,. Sun. Sun. Berkeley BSD. UNIX X/Open Company, Ltd.. Sun, Su

슬라이드 1

지난시간에... 우리는 kernel compile을위하여 cross compile 환경을구축했음. UBUNTU 12.04에서 arm-2009q3를사용하여 간단한 c source를빌드함. 한번은 intel CPU를위한 gcc로, 한번은 ARM CPU를위한 gcc로. AR

[ 컴퓨터시스템 ] 3 주차 1 차시. 디렉토리사이의이동 3 주차 1 차시디렉토리사이의이동 학습목표 1. pwd 명령을사용하여현재디렉토리를확인할수있다. 2. cd 명령을사용하여다른디렉토리로이동할수있다. 3. ls 명령을사용하여디렉토리내의파일목록을옵션에따라다양하게확인할수

untitled

untitled

GNU/Linux 1, GNU/Linux MS-DOS LOADLIN DOS-MBR LILO DOS-MBR LILO... 6

2-11Àå

Apache( 단일도메인 ) SSL 인증서갱신설치가이드 본문서는주식회사한국기업보안에서 SSL 보안서버인증서설치를위해작성된문서로 주식회사한국기업보안의동의없이무단으로사용하실수없습니다. [ 고객센터 ] 한국기업보안. 유서트기술팀 Copyright 201

MySQL-Ch10

Chap 5 루트파일시스템 (Root F/S)

소프트웨어설치 1. 소프트웨어설치및제거 ( 소스코드 ) 소스코드컴파일을이용한 S/W 설치 1. 소스코드다운로드 - 예 ) httpd tar.gz - 압축해제 : #tar xzvf httpd tar.gz - INSTALL 또는 README파일참조

Mango-AM335x LCD Type 커널 Module Parameter에서 변경하기

목차 1. 시스템구성 개요 정의 목적 환경 준비사항 Oracle Install configuration Xshell 에

Microsoft PowerPoint - unix02.ppt [호환 모드]

PowerPoint 프레젠테이션

Sena Technologies, Inc. HelloDevice Super 1.1.0

PowerPoint 프레젠테이션

Microsoft PowerPoint - 06-CompSys-11-System.ppt

교육지원 IT시스템 선진화

벤처연구사업(전동휠체어) 평가

작성자 : 기술지원부 김 삼 수

1 Live CD(USB) 란? 1.1 Live CD(USB) 란? LiveCD(USB) 란 CD( 또는 USB) 를하드디스크로인식하여해당매체를기반으로동작하는운영체제를말한다. 즉 CD에설치된운영체제이다. 이는자신의 PC의하드디스크에설치된내용은 CD에그대로복사하였다고생각

Abstract View of System Components

작성자 : saint Overview BackTrack 는 LILO 를부트로더로사용한다. BactTrack 을기본환경설정그대로설치하면부팅할수없는경우가있는데, 이것은실린더크기가 1024 보다큰하드디스크에설치하면 LILO 가 OS 를정상적으로읽어올수없기때문이다. 요즘나오는

Sun Java System Messaging Server 63 64

Apache( 멀티도메인 ) SSL 인증서갱신설치가이드 본문서는주식회사한국기업보안에서 SSL 보안서버인증서설치를위해작성된문서로 주식회사한국기업보안의동의없이무단으로사용하실수없습니다. [ 고객센터 ] 한국기업보안. 유서트기술팀 Copyright 201

무시하고진행합니다. $ sudo rootstock -d precise --seed ubuntu-standard -x en_us.utf-8 -f ubuntu -l ubuntu -p ubuntu -i 2G I: Running on a x86_64 machine I: Cre

해킹 대응 경진대회

Apache( 단일도메인 ) SSL 인증서갱신설치가이드 본문서는주식회사한국기업보안에서 SSL 보안서버인증서설치를위해작성된문서로 주식회사한국기업보안의동의없이무단으로사용하실수없습니다. [ 고객센터 ] 한국기업보안. 유서트기술팀 Copyright 201

Microsoft Word _LT_리눅스 마운트강좌 mount 1편.doc

PowerPoint 프레젠테이션


CD 무결성체크는 SKIP 을해도좋습니다. Next 버튼을누릅니다. Next 버튼을누릅니다.

망고100 보드로 놀아보자 -13

PowerPoint 프레젠테이션

Webtob( 멀티도메인 ) SSL 인증서갱신설치가이드 본문서는주식회사한국기업보안에서 SSL 보안서버인증서설치를위해작성된문서로 주식회사한국기업보안의동의없이무단으로사용하실수없습니다. [ 고객센터 ] 한국기업보안. 유서트기술팀 Copyright 201

Apache( 멀티도메인 ) SSL 인증서신규설치가이드 본문서는주식회사한국기업보안에서 SSL 보안서버인증서설치를위해작성된문서로 주식회사한국기업보안의동의없이무단으로사용하실수없습니다. [ 고객센터 ] 한국기업보안. 유서트기술팀 Copyright 201

PC, ROM, ROM RAM,,, LCD PC PC,,, TV, PDA,,,, VCR, PC,,, PDA, PC,, CPU, RAM ROM, 2 LCD, PC, GNU/Linux, GNU/Linux, 10, GNU GNU/Linux GNU/Linux x86 PC MI

PRO1_04E [읽기 전용]

LXR 설치 및 사용법.doc

1) 인증서만들기 ssl]# cat > // 설명 : 발급받은인증서 / 개인키파일을한파일로저장합니다. ( 저장방법 : cat [ 개인키

Microsoft PowerPoint - 02_Linux_Fedora_Core_8_Vmware_Installation [호환 모드]

Table of contents 1. 구성도 Maxgauge For MySQL 설치정보... 6 설치파일정보... 6 포트정보... 6 주요디렉토리... 6 소프트웨어기동 / 종료... 7 기동... 7 종료 Maxgauge For MySQ

Apache( 단일도메인 ) SSL 인증서신규설치가이드 본문서는주식회사한국기업보안에서 SSL 보안서버인증서설치를위해작성된문서로 주식회사한국기업보안의동의없이무단으로사용하실수없습니다. [ 고객센터 ] 한국기업보안. 유서트기술팀 Copyright 201

FreeBSD Handbook

Apache( 멀티도메인 ) SSL 인증서신규설치가이드 본문서는주식회사한국기업보안에서 SSL 보안서버인증서설치를위해작성된문서로 주식회사한국기업보안의동의없이무단으로사용하실수없습니다. [ 고객센터 ] 한국기업보안. 유서트기술팀 Copyright 201

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

01Àå

1) 인증서만들기 ssl]# cat > // 설명 : 발급받은인증서 / 개인키파일을한파일로저장합니다. ( 저장방법 : cat [ 개인키

Microsoft PowerPoint - ICCAD_Digital_lec02.ppt [호환 모드]

PCServerMgmt7

시스템 사용자 계정 관리

Report Designer V3.0 사용설명서 2장

<3032B0AD202D20B8AEB4AABDBA20BCB3C4A12D556E6978C0CEC5CDB3DDBAB8C3E6C7D0BDC02E687770>

1. efolder 시스템구성 A. DB B. apache - mod-perl - PHP C. SphinxSearch ( 검색서비스 ) D. File Storage 2. efolder 설치순서 A. DB (MySQL) B. efolder Service - efolder

사용자계정관리 1. 사용자계정관리 사용자 (user), 그룹 (group) u 다중사용자시스템 (Multi-User System) - 1 대의시스템을동시에여러사람이접속하여쓸수있게하는시스템 u 사용자 (user) - 시스템관리자 : root (=Super user) -

Raspbian 설치 라즈비안 OS (Raspbian OS) 라즈베리파이 3 Model B USB 마우스 USB 키보드 마이크로 SD 카드 마이크로 SD 카드리더기 HDM I 케이블모니터

Linux Server 리눅스왕초보실무를익혀라! 리눅스서버 20 fedora 김영훈ㆍ정거룡지음

운영체제실습_명령어

Unix & Linux 개요 Company 서울대학교통계학과 2010년 2학기컴퓨터의개념및실습 ( Thanks to: cancho & facewhite from SPARC/KAIST, Bruce La Plante fro


Microsoft PowerPoint - IRC_User_Manual.ppt

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D D382E687770>

Microsoft Word - RTLinux¸¦CompactFalshDisk¿¡´ã´Â¹æ¹ýrev2.doc

Snort Install Manual Ad2m VMware libnet tar.gz DebianOS libpcap tar.gz Putty snort tar.gz WinSCP snort rules 1. 첫번째로네트워크설정 1) ifconf

chap2

RedHat Linux Fedora Core 4 + APM 소스컴파일설치 김희균 [ 사전준비 : 리눅스시디, 리눅스설치공간준비와컴퓨터의 IP 주소와넷마스크, 게이트웨이주소기록 1. Linux 시디로부팅을한다. 2. Gra

Microsoft PowerPoint - 01_1_Linux_Unix_기초.ppt [호환 모드]

MV6410 Linux 마이크로비젼 MV6410-LCD Linux 활용가이드 마이크로비젼 MV6410 Linux 1

Microsoft PowerPoint 통신 및 압축 명령어.ppt

PowerPoint 프레젠테이션

OnTuneV3_Agent_Install

Microsoft PowerPoint - Building.pptx

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O

Tizen

Transcription:

프로젝트 2 Root Filesystem 단국대학교 컴퓨터학과 2009 백승재 baeksj@dankook.ac.kr http://embedded.dankook.ac.kr/~baeksj

Ramdisk 에대한이해 강의목표 Root filesystem 의구조이해 Root filesystem 제작과정이해 Ramdisk 기반 root filesystem 제작

3 RAMdisk? Host 의 file system loopback device 란 : 파일하나를마치디바이스처럼취급할수있게해준다. 즉파일한개를마치하나의디스크처럼인식시켜준다. 이이미지가마치하나의디바이스처럼취급되어마운트될수있게해준다. mount 될이미지 mount 될디렉토리 Target board 에서사용될 file system HDD가없는 Embedded System에서 RAM 상에디스크처럼쓸수있도록구축한공간

4 RAMdisk 수정 RAMdisk 에추가할임의의파일을복사

5 압축전에반드시마운트를해제 수정된새로운 RAMdisk 확인

6 수정된 RAMdisk 로부팅확인

7 Root filesystem 1 image file 내부에 file system 구조를만들어서 loop back device 로 mount 하여일반 file system 과같이사용하는파일을말한다. Image file 내부에 root filesystem 을만 든다. dd if=/dev/zero of=ramdisk bs=1k count=16384 image file mke2fs ramdisk image file mount mkdir mnt && mount -t ext2 ramdisk ram_point o loop mkdir bin dev etc lib mnt proc root sbin tmp usr var

8 Root filesystem 2 /dev device file device file /etc /bin /sbin busybox cross /lib module

9 Root filesystem 3 /var /var/log umount ram_point gzip -9 ramdisk kernel ramdisk image

10 램디스크제작 디스크에루트파일시스템을만들기위한임시파일을만든다. 블록의크기만들어질파일의크기 O 으로채운다. 출력될장소

11 생성된이미지에파일시스템을만들어준다. 즉 ramdisk 에파일시스템을만들어준다. 만들어진이미지를확인할수있다.

12 mount 될디렉토리를만들어준다. 이디렉토리에서루트파일시스템을구성할것이다. Mount 된디렉토리에가서내용을확인해보면디폴트로생성된것을확인할수있다.

13 루트파일시스템의구성을만들어준다. 리눅스의디렉토리의구조와유사하게생성됨을볼수있다.

/dev (1/5) 14 /dev device device file. device file host /dev host device file mknod. Rebis kernel device device file. ( ) console fb3 flh1 mixer null ram3 tty1 tty7 ttys0 dsp fb4 flh2 mtdblock0 ptmx random tty2 tty8 ttys1 fb fb5 flh3 mtdblock1 pts root tty3 ttyp0 ttysa0 fb0 fb6 initctl mtdblock2 ram0 ts tty4 ttyp1 ttysa1 fb1 fb7 kmem mtdblock3 ram1 tty tty5 ttyp2 ttysa2 fb2 flh0 mem mtdblock4 ram2 tty0 tty6 ttyp3 urandom zero

/dev (2/5) 15 /dev cp -dpr /dev/audio./mnt/dev cp -dpr /dev/dsp./mnt/dev cp -dpr /dev/fb./mnt/dev cp -dpr /dev/fb[0-7]./mnt/dev cp -dpr /dev/hda./mnt/dev cp -dpr /dev/hda[0-8]./mnt/dev 1 cp -dpr /dev/initctl./mnt/dev cp -dpr /dev/input./mnt/dev cp -dpr /dev/ircomm[0-1]./mnt/dev cp -dpr /dev/irnet./mnt/dev cp -dpr /dev/kmem./mnt/dev cp -dpr /dev/log./mnt/dev cp -dpr /dev/mem./mnt/dev cp -dpr /dev/mixer./mnt/dev cp -dpr /dev/mouse./mnt/dev cp -dpr /dev/null./mnt/dev cp -dpr /dev/pts./mnt/dev cp -dpr /dev/ram[0-3]./mnt/dev cp -dpr /dev/random./mnt/dev cp -dpr /dev/rtc./mnt/dev cp dpr uid, gid,,

/dev (3/5) 16 cp -dpr /dev/tty./mnt/dev cp -dpr /dev/tty[0-8]./mnt/dev cp -dpr /dev/ttyp[0-3]./mnt/dev cp -dpr /dev/ttys[0-1]./mnt/dev cp -dpr /dev/ttysa[0-2]./mnt/dev cp -dpr /dev/urandom./mnt/dev cp -dpr /dev/video./mnt/dev cp -dpr /dev/zero./mnt/dev 2 mknod./mnt/dev/flh0 b 60 0 mknod./mnt/dev/flh1 b 60 1 mknod./mnt/dev/flh2 b 60 2 mknod./mnt/dev/flh3 b 60 3 mknod./mnt/dev/keypad c 251 0 mknod./mnt/dev/mmcda b 241 0 mknod./mnt/dev/mmcda1 b 241 1 mknod./mnt/dev/mmcda2 b 241 2 mknod./mnt/dev/mmcda3 b 241 3 mknod./mnt/dev/mmcda4 b 241 4 mknod./mnt/dev/mtd3 c 90 6 mknod./mnt/dev/mtdblock0 b 31 0 mknod./mnt/dev/mtdblock1 b 31 1

/dev (4/5) 17 mknod./mnt/dev/mtdblock2 b 31 2 mknod./mnt/dev/mtdblock3 b 31 3 mknod./mnt/dev/mtdblock4 b 31 4 mknod./mnt/dev/ptmx c 5 2 mknod./mnt/dev/ts c 11 0 ln -s ram0./mnt/dev/root ln -s ttys0./mnt/dev/console root filesystem ram disk ttys0 3

/dev (5/5) 18 /dev shell script

/etc (1/5) 19 /etc. host /etc script target board.. /etc fstab : mount inittab : init ( busybox init ) rc.d/* : system script passwd : shadow : group : system group modules : module loding : network shell

/etc (2/5) 20 /etc TARGETDIR=./mnt/etc for FILES in `cat etcfiles.txt`; do cp -rf /etc/$files $TARGETDIR; done; echo "bin" > $TARGETDIR/ftpusers echo "" > $TARGETDIR/hosts.equiv echo "" > $TARGETDIR/modules 1 127.0.0.1" > $TARGETDIR/networks echo "localnet echo "GMT" > $TARGETDIR/timezone ln -s /proc/mounts $TARGETDIR/mtab etcfiles.txt host /etc

/etc (3/5) 21 etcfiles.txt file fstab group host.conf hosts hosts.allow hosts.deny inittab inputrc ioctl.save issue issue.net ld.so.cache localtime motd nsswitch.conf 2 passwd pcmcia profile protocols rc.d resolv.conf rpc services shadow

/etc (4/5) 22 /etc

/etc (5/5) 23. fstab script network embedded system. /etc/fstab

/lib (1/3) 24 kernel module arm-linux-gcc lib module kernel module. module system system. ld-2.2.3.so libdb.so.2 libnsl.so.1 libtermcap.so.2 ld-linux.so.2 libdb.so.3 libnss_dns-2.2.3.so libtermcap.so. 2.0.8 libc-2.2.3.so libdl-2.2.3.so libnss_dns.so.2 libutil-2.2.3.so libc.so.6 libdl.so.2 libnss_files-2.2.3.so libutil.so.1 libcrypt-2.2.3.so libm-2.2.3.so libnss_files.so.2 libcrypt.so.1 libm.so.6 libresolv-2.2.3.so libdb-2.1.3.so libnsl-2.2.3.so libresolv.so.2

/lib (2/3) 25 script (mklib.sh) libfiles.txt. strip binary symbol string

/lib (3/3) 26

/var (1/2) 27 sub log file login init /var log file. /var log file. mkdir -p./mnt/var/adm./mnt/var/lock/subsys./mnt/var/lib./mnt/var/log \./mnt/var/run./mnt/var/spool/cron/crontabs./mnt/var/tmp touch./mnt/var/log/dmesg touch./mnt/var/log/lastlog touch./mnt/var/log/messages touch./mnt/var/log/wtmp touch./mnt/var/run/runlevel.dir touch./mnt/var/run/utmp

/var (2/2) 28 /var

29 메인시스템응용프로그램 수천개의바이너리명령어를임베디드시스템서어떻게지원할것인가? 완전표준응용프로그램 응용프로그램을하나씩다운받아컴파일하여램디스크에포함 BusyBox 대부분의임베디드시스템서사용 ( 대부분의 Arch 지원 ) 작지만대부분의명령어를지원하며원하는명령어만지원가능 Glibc 나 uclibc 를정적 / 동적링크하여사용가능 TinyLogin 여러로그인유틸리티를모아하나의바이너리파일로만든것 보통 BusyBox 와함께사용 Embutils 많이사용되는명령어프로그램을작게최적화시킨것 ARM, i386, PPC, MIPS 의 4 가지 Arch 지원 정적링크만가능 BusyBox 보다적은명령어지원

30 Busybox 다운받기

압축해제 / 확인 RAMDISK 기능과구조 31

32 파일수정 Red-hat 설정과는다른부분이있기때문에수정필요

33 데비안의경우에는 /etc/ init.d/rcs 에 init 에서처음실행하는스크립트가명시되어있지만 Redhat 에서는 /rc.d/ rc.sysinit 에명시되어있다

34 config BusyBox 의최상위디렉토리 부팅가능한 BusyBox 를만들기위해설정을해줌

35 Root File system 제작 busybox menu 1 General Configuration busybox Build Options build ( cross ) Installation Options install Archival Utilities, Coreutils (ex : ls, cp, cat, ) Console Utilities console Debian Utilities debian

36 Root File system 제작 busybox menu 2 Editors editor (vi, awk, sed, ) Finding Utilities file (find, grep, ) Init Utilities init Login/Password Management Utilities user, group, password (adduser, addgroup, passwd, ) Miscellaneous Utilities (strings, last, ) Linux Module Utilities linux module (insmod, lsmod, rmmod, modprobe) Networking Utilities network server daemon (telnet, netstat, ping, httpd, tarceroute, )

37 Root File system 제작 busybox menu 3 Process Utilities process (ps, kill, top, ) Another Bourne-like Shell shell (ash, msh, ) System Logging Utilities system log daemon Linux System Utilities linux (mount, fdisk, dmesg, ) Debugging Options bebugging symbol Load an Alternate Configuration File loading Save Configuration to an Alternate File

38 Configuration

39 공유라이브러리사용여부설정 CrossCompiler 설정

40 선택을해제한다. Busybox 의 init 은 /etc/inittab 을제대로해석하지못하므로사용하지않도록한다.

41

42

43 Make 수행

44 바이너리파일확인 컴파일해주고나면 busybox 바이너리파일이생성됨을볼수있다.

45 BusyBox Binary File copy 생성된 busybox 를 mount 한디렉토리안의 /bin 디렉토리에복사한다.

46 확인 / 링크확인

47

48 실행파일들을 busybox 에심벌릭링크시켜주면된다.

49

umount root filesystem

51 Booting using New Kernel & New RAMDisk

kernel 설정 kernel Ramdisk 를사용하기위한 kernel 설정