임베디드 리눅스의 4 요소
임베디드 리눅스의 모든 프로젝트는 이 4가지의 요소로 구성되어 있고, 배포하면서 시작한다.
임베디드 리눅스 시스템에서 가장 기본적이며, 가장 중요한 요소이다.
char *buff;
buff = kmalloc(1024, GFP_KERNEL);
char *buff;
buff = vmalloc(33* PAGE_SIZE);
리눅스 3가지 파일
uboot.bin (부트로더)
zImage (커널)
ramdisk.gz (루트파일시스템)
일반적으로 분할되는 영역
커널1G 유저3G (4G 기준)
크로스 컴파일러는 호스트에서 실행 불가
wait queue 는 이벤트 발생하길 기다림
기본적인 바이너리들 위치 /bin
마운트 폴더 /mnt
특수 기능 디렉토리로 초기 생성시 비어잇는거 /tmp /proc /sys
busybox, bin 폴더에 들어있는 리눅스/유닉스 명령어 바로가기들 모두 묶어서 제공, 루트파일시스템 구성 시 많이 사용
4 무제한 x
TASK_RUNNING, 프로세스가 실행중 or 언제든지 실행할 준비됌을 나타내는 리눅스 process state
vmbox에서 qt들어있는 이미지로 가상머신 생성
qt, linux, ubuntu 64bit
시스템- 칩셋 ICH9
디스플레이- VBoxVGA
저장소- ICH6
네트워크- 어댑터에 브리지, ASIX..
공유폴더- vboxxx, 자동마운트
우분투 시스템 세팅에 네트워크 설정
시스템세팅 - 네트워크 - 옵션 - IPv4
Address- 192.168.0.90
Netmask- 255.255.255.0
Gateway- 192.168.0.1
보드 네트워크설정 맞추기
gedit /etc/exports 들가서 /work/rootfs 확인
테라텀에서,
setenv bootargs 'root=/dev/nfs rw nfsroot=192.168.0.90:/work/rootfs ip=192.168.0.3:192.168.0.90:192.168.0.1:255.255.255.0::eth0:off:netmask=255.255.255.0 console=ttySAC1 115200n81'
saveenv
QT 빌드된 실행파일 root파일로 옮기기
qt에서 build해서 파일 생성 (외부 파일 복사)
cd (home 생성으로 설정되있을거임)
cd build-untitled-001-Desktop_Qt_5_3_GCC_64bit-Debug/
sudo cp untitled001 /work/rootfs/root/
sudo 비밀번호 edu
보드에서 실행
테라텀에서 ID,PW root
./untitled001 실행
다시 교재 실습할 때,
테라텀 설정
타켓 보드에서 설정(u-boot)
setenv bootargs 'root=/dev/nfs rw nfsroot=192.168.0.2:/nfsroot ip=192.168.0.3:192.168.0.2:192.168.0.1:255.255.255.0::eth0:off:netmask=255.255.255.0 console=ttySAC1 115200n81'
saveenv