프로젝트를 하다 라즈베리파이 wheezy version중에 3.18.11을 써야 될 일이 생겼다.


github.com/raspberrypi - linux에 들어가본 결과 3.18.11은 없었다. 

홈페이지를 방문하면 최신 커널소스와 3.18의 경우에는 

1.rpi-3.18.y-rebase

2.rpi-3.18.y 

두 개를 받을 수 있는데 rebase의 경우 3.18.9, rpi-3.18.y의 경우에는 3.18.16이다.

실제로 raspbian wheezy이미지를 받으면 3.18.11이지만 해당 커널 소스를 받을 수가 없었다.


그래서 찾아본 결과 branch를 이용한 방법을 알게되었다.


1. branch  받기

$git clone --depth 500 -b rpi-3.18.y https://github.com/raspberrypi/linux linux-3.18

-> 위의 500의 경우 숫자가 크면 클수록 깊어지지만 시간이 오래걸릴 것임

   뒤의 linux-3.18은 생성되는 폴더명이기 때문에 바꿔도 무관



2. commit id 얻기

라즈베리파이의 sd카드를 리눅스 hostpc에 연결한 후 하는 것이 가장 좋다.

$sudo mount /dev/sdb1 mnt/fat32

$sudo mount /dev/sdb2 mnt/ext4

(위의 명령어를 왜 입력하는지 모르는 분들은 http://kkn1220.tistory.com/14 를 보고 오시는 걸 추천드립니다.)


$FIRMWARE_HASH=$(zgrep "* firmware as of" mnt/ext4/usr/share/doc/raspberrypi-bootloader/changelog.Debian.gz | head -1 | awk '{ print $5 }')

  

# get git hash for this kernel

    $KERNEL_HASH=$(wget https://raw.github.com/raspberrypi/firmware/$FIRMWARE_HASH/extra/git_hash -O -)

 

3. checkout

$git checkout $KERNEL_HASH

-> hash값 뜨면서 -b 새로운 브런치 어쩌구 나온다.

$git checkout -b $KERNEL_HASH

-> hash값으로 checkout되었다고 메시지 뜸


4. 소스빌드

$make ARCH=arm CROSS_COMPILE=<tools path>/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf- bcm2709_defconfig


$make ARCH=arm CROSS_COMPILE=<tools path>/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf- zImage modules dtbs


(tools path의 경우 크로스컴파일용 툴체인으로 역시 http://kkn1220.tistory.com/14 참고)


5. 모듈 설치

$sudo make ARCH=arm CROSS_COMPILE=<tools path>/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf- INSTALL_MOD_PATH=mnt/ext4 modules_install


6. 커널이미지 생성

최신 git clone으로 github linux를 받으면 mkknlimg가 있으나 해당 버전에서는 존재하지가 않는다.

https://github.com/raspberrypi/linux/blob/rpi-3.18.y/scripts/mkknlimg에 들어가서 코드를 복사한다.

혹은 밑의 더보기를 눌러 해당 내용을 복사한다.

해당 스크립트를 linux-3.18/scripts 내에 생성한다.

예)vi linux-3.18/scripts/mkknlimg 에서 해당 스크립트 복사

주의* sudo chmod로 실행권한 줘야됨

예)$sudo chmod 755 linux-3.18/scripts/mkknlimg



$sudo scripts/mkknlimg arch/arm/boot/zImage mnt/fat32/kernel7.img 


7. umount

$sudo umount mnt/fat32

$sudo umount mnt/ext4


8. 확인


기존의 4.0.8-v7에서



3.18.11-v7로 바뀐 것을 확인할 수가 있다.




반응형

아침부터 라즈베리를 키는데 갑자기 에러가 출력되었다.


fsck: Warning... fsck.vfat for device /dev/mmcblk0p1 exited with signal6.

fsck died with exit satus 8

failed (code 8).

[FAIL] File system check failed. A log is being saved in /var/log/fsck/ckeckfs  ~~




에러 로그 확인




급한마음에 막 unmount하지 않고 sd카드리더기에서 빼고 그랬는데 문제가 생겼나보다..


해결방법

https://www.raspberrypi.org/forums/viewtopic.php?f=28&t=53365 참고


sudo dosfsck -w -r -l -a -v -t /dev/mmcblk0p1

본인의 경우(sudo dosfsck -w -r -l -a -v -t /dev/sdb1)


결과값


dosfsck이란 (MAN 참고)

MS-DOS 파일 시스템을 체크하고 수리하기 위함

Synopsis

dosfsck [-aAflrtvVwy] [-d path -d ...] [-u path -u...] device

Options    



반응형

Ⅰ.  라즈베리 기본

라즈베리 기본 설정


§기본 설정

- $ sudo raspi-config      //초기 설치 시 볼 수 있는 화면이지만 이 후에는 해당 명령어를 입력 후 실행 가능



1.Expand_FileSystem(필수)- 처음 부팅하면 SD카드 용량이 2GB기준으로 줄어 있기 때문에 최적화
2.Change User Password- 기본으로 설정된 계정인 pi계정 패스워드 수정(기본 패스워드 raspberry)
3.Enable Boot to Desktop- 부팅하자마자 x-window화면으로 진입 설정
4.Internationalisation Options- 언어설정 및 지역 설정
5.Enable Camera- 라즈베리 카메라 설정
6.Add to Rastack- Rastrack에 라즈베리 등록
7.Overclock- 오버클럭 설정
8.Advanced Options
1)Overscan- 구셩 디스플레이 설정으로 일반적으로 사용하지 않음
2)Hostname- 라즈베리파이의 컴퓨터 호스트이름 설정
3)Memory Split- GPU에 할당할 메모리 용량 설정
4)SSH- SSH 사용 설정, puttyfilezilla 사용 시 필요
5)Update-라즈베리파이 업데이트

9.About raspi-config- 설정 툴에 관한 정보

§기본 명령어
-$ startx  //GUI모드 (x-window) 실행
-$ sudo apt-get update  //프로그램 패키지 목록 업데이트
-$ sudo apt-get upgrade  //설치된 프로그램 중 버전 업 된 프로그램 업데이트
-$ sudo reboot  or $ sudo shutdown –r now  //프로그램 재 부팅
-$ sudo shutdown –h now  //프로그램 종료
-$ sudo passwd pi   //기본 계정인 pi 패스워드 변경(default pw: raspberry)
-$ sudo passwd root  //관리자 권한 root 패스워드 변경  

§설치 문제
-HDMI가 안나오는 경우
-SD card의 /boot/config.txt를 수정

-> #hdmi_force_hotplug=1 부분 주석 삭제

-오디오가 안나오는 경우

-> #hdmi_drive=2 부분 주석 삭제

-키보드 문제
-기본적으로 라즈비안 설치 후 키보드 설정이 gb로 되어 있다.
-sudo vi /etc/default.keyboard

-> XKBLAYOUT=“gb“ 에서 gb를 us로 변경 후 재 부팅





반응형

Ⅰ.  라즈베리 기본

라즈베리 OS 설치


§Rasbian(Raspberry PI + Debian Linux)
-패키지 지원 및 관련 라이브러리들이 풍부
-Raspberry PI OS 중 가장 많이 활용

-https://www.raspberrypi.org/downloads/ 에서 다운로드 가능 


§설치 방식은 세 가지로 나뉨 (페이지 편집이 어려워 작성한 ppt에서 사진으로 첨부한 점 죄송합니다..)



- NOOBS 설치

- SD card에 전체 폴더가 아닌 Noobs 폴더 안에 있는 하위 폴더 및 파일 이동



- Raspian 이미지로 설치

- Win32DiskImager 사용(윈도우에 해당)

http://sourceforge.net/projects/win32diskimager/에서 다운로드 가능












반응형

Ⅰ.  라즈베리 기본

라즈베리 파이 모델 2 분석


전체 OS
Arch Linux ARM
데비안 6.0 (Squeeze)
Gentoo Linux[
Puppy Linux
Raspberry Pi Fedora Remix
Raspbian (Wheezy port with faster FP support)
RiscOS
Slackware ARM (formally ARMedslack)
FreeBSD 10 ARM (RPI-B)
QtonPi (임베디드 리눅스)
Redsleeve (ARMRedHat 기반)
Ubuntu (라즈베리 파이 2)
윈도 10(라즈베리 파이2)
가벼운 다목적 배포판
Squeezed Arm Puppy for ARMv6 (sap6)
특정 목적의 가벼운 배포판
IPFire
OpenELEC
Raspbmc

XBMC



반응형

+ Recent posts