Root File System 충북대학교 지능로봇연구실
ROOTFILESYSTEM 1. Linux의 File System 2. Shell Intelligent Robots Laboratory 10. 27. 14 1. Linux의 File System Root(/)를 기초로 하는 트리 구조의 filesystem 비 UNIX계통 OS에서 각각의 filesystem이 드라이브 숫자나 이름으로 구별됨과 대비 물리적인 실제 filesystem을 Virtual File System(VFS)인터페이스 계층을 통해 다루어 운영체제 의존에서 분리 저장장치 뿐 아니라 장치의 자원을 모두 파일시스템으로 표현 커널 내부 작업을 볼 수 있도록 실제로 존재하지 않는 /proc filesystem을 생성 2. Shell 상용자의 명령어를 해석하고 커널이 알아들을 수 있게 지시 종류 : Bourne shell(sh), bash, c shell(csh), Korn shell(ksh)
ROOTFILESYSTEM 1. Linux Filesystem의 구성 Intelligent Robots Laboratory 10. 27. 14 1. Linux Filesystem의 구성
ROOTFILESYSTEM 1. Root 비밀번호 설정 2. Busybox Intelligent Robots Laboratory 10. 27. 14 1. Root 비밀번호 설정 $sudo passwd 사용할 root계정의 비밀번호 입력 $sudo mkdir /opt/toolchain $sudo cp -R ~/toolchain/* /opt/toolchain $su #vim ~/.bashrc export PATH=$PATH:/opt/toolchain :wq #source ~/.bashrc #exit Linux Module Utilities -> Simplified modutils 체크 해제 #make #make install (INSTALL_PATH설정값에 유의.) _install 디렉터리가 있는지 확인 2. Busybox $mkdir rfs && cd rfs $tar xvjf busybox-1.22.1.tar.bz2 $cd busybox-1.22.1 vim Makefile … CROSS_COMPILE ?= -> CROSS_COMPILE = arm-linux-gnueabi- … INSTALL_PATH = ./ :wq #make defconfig #make menuconfig
ROOTFILESYSTEM 3. Busybox를 이용한 Root filesystem 만들기 Intelligent Robots Laboratory 10. 27. 14 3. Busybox를 이용한 Root filesystem 만들기 $cp -dpR /dev/tty3 dev $cp -dpR /dev/tty4 dev $cd .. $umount mnt_ram/ $gzip ramdisk $dd if=/dev/zero of=ramdisk bs=1k count=8192 $mke2fs ramdisk $mkdir mnt_ram $mount -o loop ramdisk mnt_ram $cp -dpR busybox-1.22.1/_install/* mnt_ram/ $cd mnt_ram $mkdir lib dev $cp -dpR /opt/toolchain/arm-linux-gnueabi-gcc/arm-linux-gnueabi/libc/lib/arm-linux-gnueabi/l* lib/ $cp -dpR /dev/null dev $cp -dpR /dev/console dev $cp -dpR /dev/tty2 dev 4. smdk-usbdl를 이용한 로드 환경에 맞는 smdk-usbdl 준비 예시 - $sudo cp /home/a/Downloads/dltool/smdk-usbdl /usr/bin/ 타겟보드 u-boot에서 dnw명령어 사용 SM7S4412# dnw 50000000 ramdisk 로드 $smdk-usbdl –f ramdisk.gz –a 0x50000000 커널 부트 파라미터 설정 SM7S4412# setenv bootargs console=ttySAC0,115200n81 root=/dev/ram0 rw ramdisk=8192 initrd=0x50000000,8M mem=512M rdinit=/sbin/init