linux-2.4.18.tar.gz 리눅스 커널 패치 http://www.kernel.org/pub/linux/kernel/v2.4/

linux-2.4.18.rmk6 리눅스 암 페치      http://www.arm.linux.org.uk/developer/v2.4/

linux-2.4.18.rmk6-swl6 리눅스 s3c2410 패치 patch-2.4.18-rmk6-swl6.gz

toolchain ftp://ftp.arm.linux.org.uk/pub/linux/arm/toolchain/


를 이용하여 시작!!!


시작에 앞서서... 유용한 터미널 명령어!!


$ pwd : 현재 경로를 보여줍니다.
$ ls -hl | sort -s : 현재 폴더의 파일(폴더)목록을 크기순으로 보여줌
% nano file.txt(또는 pic04.pdf o) : 파일 보고, 편집하는 편집기, emacs 나 vi 처럼 핫키를 외울 필요가 없어서 초보자에게 좋습니다.
% rm -rf *.bmp : 파일 제거, 디렉토리는 내부 파일까지 제거해 줍니다.
% tar -xvzf : 파일 묶어서 압축, 결과물은 .gz , cvzf : 압축 해제
% df -h: 현재 시스템의 파티션별 하드디스크 용량을 % 및 Byte 로 표시해 줍니다
-h옵션은 크기를 KB, MB, GB 으로 자동 전환해 보여줍니다.
% find / -name "*.jpg" -print : 키워드로 파일찾기, 전체를 뒤지면 시간이 꽤 걸립니다.


  • 다음은 작업 관련 명령어 입니다.
    % top -o cpu : 시피유 자원을 가장 많이 점유하고 있는 프로세스 순으로 작업 리스트를 보여줍니다. 빠져 나올땐 q
    % ps -aux : 사용자 어플리케이션(프로세스) 목록을 보여줍니다. 작업을 죽이려면 kill %pid 하면 됩니다.
    % open iTune.app aaa.mp3 : 터미날에서 GUI 어플을 이런식으로 기동 시킵니다.

  • 시스템 명령어 관련
    % help : 기본 명령어 목록을 보여줍니다. 명령어가 기억이 안날땐 요긴
    % man touch : touch 명령에 대한 도움말을 보여줍니다. info touch 해도 됩니다.
    % system_profiler : 시스템의 HW, SW 사양을 자세히 보여줍니다.

크로스 컴파일 환경 구축 ( toolchain -> SW를 개발하기 위한 환경 구축 )

-> binutils-arm-2.9.5.0, 등등이 필요하지만 미리 묵여진 크로스컴파일 을 사용한다. 위의 링크 를 사용

-> 소스가 하나로 통합된 크로스 컴파일 파일을 설치한다. 설정하는법 README.doc  일일이 설정하는법 크로스컴파일_환경구축.doc

cd /usr/local

mkdir arm

cd arm

tar lxvf cross-<version>.tar.bz2


/usr/src/에서를 통해 설치

tar -zxvf linux-2.4.18.tar.gz

gzip -dc patch-2.4.18-rmk6 | (cd linux ; patch -p1 )             ->           gzip -dc patch-2.4.18-rmk6 | (cd linux ; patch -p1)

gzip -dc patch-2.4.18-rmk6-swl | (cd linux ; patch -p1)       ->            gzip -dc patch-2.4.18-rmk6-swl.gz | (cd linux ; patch -p1)


설치 완료 후

cd linux

make menuconfi -> exit -> yes

make dep

make clean

make zImage


그런데 이때 !!! 다음과 같은 오류코드 발생


In file included from /project/kernel/linux/include/linux/sched.h:23,
                 from /project/kernel/linux/include/linux/mm.h:4,
                 from /project/kernel/linux/include/linux/slab.h:14,
                 from /project/kernel/linux/include/linux/proc_fs.h:5,
                 from init/main.c:15:
/project/kernel/linux/include/linux/smp.h:29: error: conflicting types for 'smp_ send_reschedule'
/project/kernel/linux/include/asm/smp.h:65: error: previous declaration of 'smp_ send_reschedule' was here
/project/kernel/linux/include/linux/smp.h:29: error: conflicting types for 'smp_ send_reschedule'
/project/kernel/linux/include/asm/smp.h:65: error: previous declaration of 'smp_ send_reschedule' was here
In file included from /project/kernel/linux/include/linux/unistd.h:9,
                 from init/main.c:17:
/project/kernel/linux/include/asm/unistd.h:360: warning: conflicting types for b uilt-in function '_exit'
make: *** [init/main.o] 오류 1

여기서 SMP가 뭔가 확인해 봤더니 -> Symmetric multiprocessing :  대칭형 다중처리


SMP는 운영체계와 메모리를 공유하는 여러 프로세서가 프로그램을 수행하는 것을 말한다. SMP에서는 프로세서가 메모리와 입출력 버스 및 데이터 path를 공유하며, 또한 하나의 운영체계가 모든 프로세서를 관리한다. 보통 2개부터 32개의 프로세서로 이루어지며, 어떤 시스템은 64개까지 프로세서를 공유한다.

SMP시스템은 보통 MPP시스템에 비하여 병렬 프로그래밍이 훨씬 쉽고, 프로세서간 작업 분산(workload balance)시키는 것은 훨씬 용이하지만, 확장성은 MPP에 비하여 취약하다. 또한 많은 사용자가 동시에 데이터베이스에 접근하여 일을 처리하는 OLTP 작업에서도 강점을 보인다


였다. 그래서 make menuconfig 에서 3번째 processor에서 Symmetric multiprocessing 선택 제거 했으나 그 에러 코드는 사라졌는데. 다른 에러 발생


다시 처음으로 돌아가서 다시 해본 결과 -> 위에서 arm용 패치를 잘 못 해주어서 발생했던 것임, 다시 패치후 다시 make dep~ 부터 실행


다시 에러코드 발생 -_-;;

make[2] : arm-linux-gcc 명령을 찾지 못했음


설치된 Tool 아무 폴더에서나 접근 가능하도록 Path 설정

export  PATH=/usr/local/arm/<version>/bin


error 코드

bash : make : command not found


다시시도

vi /root/.bash_profile

 내용...

#. bash_profile

#  Get the aliases and funcions

if [ -f ~/.bashrc ]; tehn

     . ~/.bashrc

 fi


 alias ls="ls -F --show-control-chars --color=auto"

LESSCHARSET=latin1


# user specific enviroment and startup programs


PATH=$PATH:/usr/local/arm/2.95.3/bin:$PATH

BASH_ENV=$HOME/.bashrc

USERNAME="root"


 export USERNAME BASH_ENV PATH


source /root/.bash_profile


한 후 make zImage !!!! 성공!!!


 선응형도 이미지 다 만드셨고... 저도 이어서 이미지까지는 만들었네요... 이제... 올려봐야지 ㅋㅋ

이 글은 스프링노트에서 작성되었습니다.

|
"두꺼비들은 3일전 미리 알고 대이동"
 
▲ 리히터 규모 7.8의 강진이 12일 쓰촨성 원촨에서 발생하기 사흘 전인 9일, 10만여 마리의 두꺼비 떼가 진앙과 가까운 단무마을 거리로 쏟아져 나왔다. /홍콩 빈과일보 제공
12일 중국 쓰촨(四川)성에서 일어난 대지진은 이미 '자연의 예고'가 있었다는 주장이 나오고 있다. 이번 지진의 진앙인 쓰촨성 원촨(汶川) 부근의 단무(檀木)마을에서 9일 두꺼비 10만마리의 '대규모 이동'이 있었다고 홍콩 빈과(사과)일보가 13일 보도했다. 이 기사에 따르면 동물이 인간보다 지진이나 해일 등 자연재해를 감지하는 능력이 뛰어나기 때문에 두꺼비가 지진이 일어날 것을 알고 미리 대피했다는 것이다.

이날 도로에 한꺼번에 튀어나온 두꺼비 떼는 일부가 차에 치이거나 사람에게 밟혀 죽기도 했지만, 이들은 아랑곳하지 않고 한 방향으로 이동했다. 두꺼비 떼를 보고 불안에 떠는 마을 사람들에게 현지 임업부 공무원은 "이틀 연속 비가 오고 수온이 높아졌기 때문에 산란과 부화를 위해 이동하는 것"이라고 설명했다. 임업부는 나아가 "이는 일부 민간에서 전해져 오는 '천재(天災)설'과는 아무 상관이 없으며 오히려 마을의 자연환경이 나아졌다는 좋은 소식"이라고까지 말했다.

홍콩대학 동물학과의 량즈칭 교수는 빈과일보에 "동물이 자연재해를 예측하는 능력이 있다는 과학적 근거는 없지만, 인간보다 민감하기 때문에 재해가 일어나기 전에 '반응'을 보인다"고 말했다.
한편 홍콩의 명보(明報)는 인터넷에 이미 지진 예측이 있었다고 보도했다. 지난 7일 중국 국내 인터넷 게시판에 지질학자라고 자칭하는 한 네티즌이 "국내외 자료를 분석한 결과 12일 중국 쓰촨성과 후베이성 중부에서 지진이 일어날 것이고, 중국 전역에 여진(餘震)이 미칠 가능성이 있다"는 글을 올렸다. 지진 발생 이후 글쓴이는 네티즌들 사이에서 "신인(神人)"으로 불리고 있지만, 원문은 12일 밤 삭제됐다. 

[출처] 두꺼비들은 3일전 미리 알고 대이동|작성자 골뱅이텔

 역시 대단한 두꺼비들...

|

 


|

변화가필요해...'s Blog is powered by Daum & tistory