'분류 전체보기'에 해당되는 글 519건

  1. 2006.06.24 불여시 관련 다운로드 프로그램 - d4x
  2. 2006.06.24 ubuntu에서 고정폭 폰트가 넓게 벌어져 나오는 문제 해결
  3. 2006.06.23 ubuntu에서 커널 패키지화 하기
  4. 2006.06.23 불여시 웹사이트 빠르게 로딩하기
  5. 2006.06.23 u-boot 상에서 irq로 led테스트
  6. 2006.06.23 에라이 씨발...
  7. 2006.06.22 현재 나으 이너넷 서핑 패턴....
  8. 2006.06.22 오옷~ 구글 툴바
  9. 2006.06.22 firefox extenction - snapper

불여시 관련 다운로드 프로그램 - d4x

flashgot extenstion 과 d4x(시냅틱에서 설치)을 설치하면, 다운로드 속도에서 이득을 볼 수 있다.

ubuntu에서 고정폭 폰트가 넓게 벌어져 나오는 문제 해결

/etc/fonts/fonts.conf 에서


        GulimChe
        false

이 부분을 복사해서



        글꼴이름

        false



이런씩으로 추가해 주면 된다.




ubuntu에서 커널 패키지화 하기

1 소개
2 준비
3 소스 다운로드
4 소스 압축 풀기
5 커널 설정하기
6 커널 빌드하기
6.1 make-kpkg
6.2 --append-to-version
6.3 --revision
6.4 커널 팩키지 이름
6.5 fakeroot
7 커널 이미지 팩키지 설치하기
8 최종 정리
8.1 커널 홀드
8.2 심볼릭 링크 제거
8.3 커널 백업하기
8.4 부팅 디스크 만들기
8.5 다음 커널 만들기
8.6 이전 설정 사용하기
9 점검해야 할 사항들
10 링크



P.S. 1 KernelPatchHowTo에 가시면 커널에 성능 패치를 적용하는 것과 추천 커널 옵션 등이 추가된 문서가 있습니다. 관심 있으신 분은 둘러보세요. 이 문서를 읽으신 후에 보는 것이 더 좋을지도 모르겠습니다.


P.S. 2 원문에는 커널 2.6.8이었지만 현재(2006년 1월25일) 우분투 최신 안정버젼 커널은 2.6.12.10이므로 이하 2.6.12.10로 표시하겠습니다.


원문 : https://wiki.ubuntu.com/KernelHowto
번역 : handrake ( http://ubuntu.or.kr/wiki.php/handrake )


처음 하는 번역이라 아직 많이 미숙합니다. 부족한 점이 있어도 이해 부탁드립니다. 오타나 잘못된 번역이 보이면 기탄없이 고치거나 코멘트 달아주세요 ^^





1 소개 #



리눅스 커널은 우분투 운영체제의 핵심입니다. 우분투에서 제공하는 커널에는 유저가 필요한 모든 드라이버가 들어 있습니다. 하지만 만약 커널의 일부를 살짝 바꾸거나 어떠한 이유로 커널 전체를 컴파일해야 하는 일이 있을 경우에는 이 ?HowTo가 도움이 될 수 있을 것입니다.


좀더 간단(하지만 같은 내용을 담고 있는)한 문서는 [https]여기에서 찾을 수 있습니다.



2 준비 #



커널을 빌드하기 위해서는 다음의 팩키지들이 필요합니다 build-essential fakeroot kernel-package
bash:~$ sudo apt-get install build-essential fakeroot kernel-package 
<!> 어떤 사람들은 gcc-3.4를 설치한 뒤에만 (커널을) 컴파일을 하기도 합니다. (3.4가 커널 컴파일이 좀 더 잘된다는 말인거 같습니다.)

커널은 /usr/src/ 디렉토리에 빌드되기 때문에 유저는 src 그룹에 속해 있어야 합니다. (fakeroot나 sudo등을 사용하면 그냥 되는듯 합니다.)
bash:~$ sudo adduser my_username src Adding user my_username to group src... Done. 
( my_username은 자기 이름으로 바꿔주는 정도의 센스는 필요하겠죠? ^^ )

로그아웃했다가 다시 로그인을 하거나 su를 사용합니다.
bash:~$ su my_username bash:~$ groups my_username src audio adm dialout cdrom floppy video plugdev lpadmin 
보이는 그룹들 중에 src이 있어야 합니다.


3 소스 다운로드 #



원하는 커널 소스를 다음과 같이 고릅니다. (역자주: kernel.org 등에서 다운받은 커널도 물론 됩니다. 하지만 이전 커널에서는 되던 몇몇 기능이 지원되지 않을 수 있습니다. 제 경우에는 2.6.15로 올리면 이상하게 잘 되던 wireless가 안되더군요. 1월 26일 : 밑에 wireless에 대한 해결방안을 적어놓았습니다.)
 bash:~$ apt-cache search source 2.6 
<!> 퀴즈: 똑같은 커널 소스가 어떤 때는 kernel-source-2.6.5일때도 linux-source-2.6.8.1일때도 있는데요, 그 이유는 무엇일까요?

정답: 리눅스 커널이 새로운 버젼 넘버링을 사용하기 때문입니다. 자세한 정보는 [http]여기에서 확인할 수 있습니다.


kernel-source는 데비안용이고 linux-source는 우분투용이기 때문에 가능한한 linux-source를 사용하는 것이 좋습니다. 데비안 팩키지의 의존성 문제가 완전히 해결된게 아니므로 "uninstalled package kernel-source"와 같은 경고가 나올 수 있으나, 무시해도 큰 문제는 없습니다 -- Bronson
(역자주 : 이 정보는 좀 오래된 것 같습니다. 전 이런 경고를 한번도 본 적이 없거든요.)


커널 소스를 다음의 명령어로 다운로드 받습니다.
bash:~$ sudo apt-get install linux-source 
<!> libncurses-dev와 libqt3-dev를 설치할 것을 추천합니다. 왜냐하면 libncurses-dev는 menuconfig를 하는데 필요하고 libqt3-dev는 xconfig를 하는데 필요하기 때문입니다. 이 중 적어도 하나는 설치합니다 (밑에 보면 자세히 이유가 나옵니다)

이제 소스가 /usr/src에 다운로드 돼있을 것입니다.



4 소스 압축 풀기 #



이 문서에서는 현재 최신 커널인 2.6.12.10 버젼을 예로 들어 설명하겠습니다.
bash:~$ cd /usr/src bash:/usr/src$ ls -l linux-source-2.6.12.10.tar.bz2 
만약 이전의 커널 소스가 linux에 설치되어 있다면 지웁니다.
bash:/usr/src$ rm linux 
<!> 만약 linux에 이전 소스가 있다면 바로 압축을 풀지 않는게 좋습니다. 새 커널 소스가 이전 소스를 덮어쓰게 된다면 컴파일이 안될 가능성이 높기 때문입니다.

그리고 다음과 같이 압축을 풉니다.
bash:/usr/src$ tar xjvf linux-source-2.6.12.10.tar.bz2 
<!> 여기서는 sudo를 사용하지 않는게 좋습니다.
<!> 소스가 .bz2로 압축되어 있으면 xjvf로 풀고 .gz로 일 경우엔 xzvf로 풉니다.


linux 디렉토리로 링크를 겁니다.
bash:/usr/src$ ln -s linux-source-2.6.12.10 linux 
모든 것이 제자리에 있는지 확인합니다. 다음과 같은 화면이 보여야 합니다.
 bash:/usr/src$ ls linux@  linux-source-2.6.12.10/  linux-source-2.6.12.10.tar.bz2 



5 커널 설정하기 #



커널을 설정하는데는 여러가지 방법이 있지만 여기서는 xconfig를 사용하도록 하겠습니다. 우선 /usr/src/linux 디렉토리로 이동한 후 다음의 명령들을 실행합니다.
$ cd /usr/src bash:/usr/src/$ cd linux-2.6.12.10 bash:/usr/src/linux-2.6.12.10
$ cp /boot/config-`uname --kernel-release` ./.config bash:/usr/src/linux-2.6.12.10
$ cd /usr/src/linux bash:/usr/src/linux
$ make xconfig
만약 X를 사용하지 않거나 마우스를 쓰지 않고 싶으면 다음과 같이 합니다.
bash:/usr/src/linux$ make menuconfig 
<!> 경고: 적어도 bus, disk 그리고 root 파일 시스템 드라이버는 커널에 정적(statically)으로 컴파일 되어야 합니다. 그렇지 않을 경우 부팅이 되지 않습니다. [https]KernelBuildpackageHowto에서는 재설정이 필요없는 커널 컴파일에 대해 설명하고 있으니 관심 있으신 분은 방문해 보시기 바랍니다.


6 커널 빌드하기 #



6.1 make-kpkg #



커널을 빌드하기 위해서는 "make-kpkg"를 실행해야 합니다. make-kpkg는 쉘 스크립트로, 자동으로 "make dep; make clean; make bzImage; make modules"를 순서대로 실행해 줍니다. 몇분 정도 시간을 들여 make-kpkg 매뉴얼을 읽어 보십시오. make-kpkg 명령어는 꽤 복잡해서 처음에는 거부감이 느껴질 수도 있습니다. make-kpkg의 기본 문법은 다음과 같습니다.

bash:/usr/src$ make-kpkg <options> <target> 
여기서 <target>은 커널 이미지가 될 것입니다. 옵션 중에서는 제일 중요한 "--append-to-version"과 "--revision"에 대해서 알아보도록 하겠습니다.


6.2 --append-to-version #



첫번째 옵션은 커널 버젼에 원하는 문자를 더할 수 있게 해줍니다. 영어 알파벳이나, "+"와 "."은 사용할 수 있으나 "_"은 사용할 수 없습니다.


다음은 필자의 리눅스 커널입니다.
bash:/usr/src$ /usr/src/$ uname -a Linux Handrake 2.6.12-10-386 #1 Mon Jan 16 17:18:08 UTC 2006 i686 GNU/Linux 
<!> --append-to-version을 쓸 때에는 데비안 커널에서 자주 사용되는 "-686", "-K7", "-sparc"와 같은 것은 피하는게 좋습니다.

커널 모듈들은 /lib/modules 안의 디렉토리에 존재합니다. 그러므로 새로운 이름의 커널 이미지를 설치할 때마다 패키지 인스톨러는 /lib/modules에 새 모듈 디렉토리(커널 이름을 일부 포함한)를 생성시킬 것입니다.


이 말은 --append-to-version을 사용하면 다른 이름으로 커널 이미지를 빌드할 수 있을 뿐만 아니라 새 커널 모듈들이 /lib/modules 안에 존재하는 다른 커널 모듈들과 충돌하는 것을 막아준다는 말입니다.


<!> 만약 이미 있는 커널과 같은 이름으로 커널을 설치한다면(같은 버젼에 --append-to-version으로 같은 이름으로 해주었을 때), 새 커널은 이전 것을 덮어쓰게 됩니다. 여기서 그만두라는 경고가 나오는데 그만두는게 좋습니다. --append-to-version으로 다른 이름을 설정한 뒤 빌드합니다.


6.3 --revision #



또다른 make-kpkg 옵션은 "--revision"인데, 이 옵션은 커널 이름이 아닌 데비안 팩키지의 이름을 변경할 수 있게 해줍니다. --append-to-version처럼 "+"와 "."는 가능하나 "_"는 사용이 불가능합니다. --revision 뒤에 아무 것도 지정해 주지 않으면 make-kpkg는 자동으로 "10.00.Custom"을 붙입니다.


다만 여기서 주의할 점은 --revision에 다른 값을 지정해 주었다고 해서 같은 이름의 커널 간의 충돌이 방지되는 것은 아니라는 것입니다. 이 옵션은 단지 유저에게 두 커널이 완전히 같지 않다는 것을 알려주는 것 뿐으로 흔히 같은 커널을 작은 변화만으로 다시 컴파일하거나 할 때 사용됩니다.


6.4 커널 팩키지 이름 #



데비안 커널 이미지 파일명은 다음의 형식을 지닙니다.


kernel-image-(kernel-version)(--append-to-version)_(--revision)_(architecture).deb


(커널) 팩키지 이름은 첫번째 밑줄 "_" 전의 문자열과 일치합니다.
bash:/usr/src$ ls kernel-image-2.6.12.10.181004_10.00.Custom_i386.deb 
이제는 왜 make-kpkg 옵션에 밑줄을 쓸 수 없는지 알게 되었을 (팩키지 이름을 다르게 할 수 있으므로) 것입니다.

개인적으로는 매번 커널 컴파일을 할 때마다 --append-to-version으로 다른 값을 주고 make-kpkg가 지정하는 기본 revision을 사용하는걸 추천합니다. 필자에겐 날짜가 조합된 값이면 충분하다고 생각되나 다르게 하고 싶으면 그렇게 해도 큰 상관은 없습니다.


<!> make-kpkg의 두 옵션들이 뭐가 다른지 잘 이해가 가지 않거나 위에 추천한 대로 옵션을 주지 않고 싶으면 /usr/share/doc/kernel-package/README.gz 을 읽어보십시오. (쉬운 방법은 "zless README.gz"으로 보는 것입니다.) make-kpkg와 데비안 팩키지들에 전체적으로 좀더 익숙해 질 때까지는 그것들에 대한 사람들의 취향 같은것에는 신경쓰지 않는게 좋습니다. (이건 확실치 않네요. 좀더 좋은 의견 있으시면 고치거나 코멘트를 달아주세요)


6.5 fakeroot #



src 그룹에 자기 계정을 추가 시켜놓았다면 대부분의 커널 팩키지 작업은 일반 유저 권한만으로 가능합니다. 하지만 커널 패키지의 몇몇 파일들(커널이나 커널 모듈들)은 루트 권한으로 만들고 돌리는게 좋습니다.


fakeroot를 사용하면 make-kpkg를 일반 유저 권한으로 시작하고 대부분의 작업을 마치는 것이 가능합니다. 맨 끝부분에 가서 fakeroot는 루트 환경을 흉내내 커널 이미지 팩키지를 만들게 됩니다.


make-kpkg 매뉴얼은 fakeroot를 이용하는 한 방법을 제시해 줍니다; 이 문서에서는 fakeroot를 make-kpkg 앞에 직접 입력하여 다음과 같이 간단하게 처리하도록 하겠습니다.
fakeroot make-kpkg <options> <target>  
드디어, 여기까지 왔습니다. 이젠 커널 이미지를 만들 준비가 된 것입니다.
bash:/usr/src/linux $ fakeroot make-kpkg clean 
한 다음, 다음을 실행합니다.
bash:/usr/src/linux $ fakeroot make-kpkg --append-to-version=.181004 kernel_image --initrd binary 
이제는 컴퓨터가 컴파일을 마치는걸 기다리는 일만 남았습니다. 컴퓨터가 열심히 일하는 동안 잠시 다른 일을 하고 오세요.


7 커널 이미지 팩키지 설치하기 #



커널 이미지를 빌드했으면 이제 커널과 커널 모듈을 포함한 커널 이미지 팩키지를 설치합니다. 먼저 빌드가 제대로 되었는지 /usr/src 디렉토리로 가서 확인해봅니다.
 bash:/usr/src/linux$ cd .. 
bash:/usr/src$ ls kernel-image-2.6.12.10.181004_10.00.Custom_i386.deb
linux@ linux-source-2.6.12.10/ linux-source-2.6.12.10.tar.bz2
제대로 되어있는 것을 확인할 수 있습니다. 여기서 눈여겨 볼 점은 --append-to-version으로 지정해준 커널 이름이 팩키지 파일명의 일부가 되었다는 점입니다.

커널과 커널 모듈을 설치하기 위해서는 다음과 같이 합니다.
bash:/usr/src$ sudo dpkg -i kernel-image-2.6.12.10.181004_10.00.Custom_i386.deb 
커널 이미지 팩키지를 디스크로부터 설치하려면 (데비안 아카이브에서 설치와는 달리) 파일명을 정확히 써줘야 합니다. 물론 탭으로 자동완성 기능을 쓸 수도 있습니다.

모든 것이 잘 풀렸으면 남은건 리부팅하는 것뿐입니다. 만약 새로 만든 커널로 부팅이 안된다면, 이전 커널을 사용하거나 부팅 디스크를 넣고 재시작합니다. 커널 설정으로 다시 가서 이것저것 바꾼 다음 다시 시도해 봅니다.



8 최종 정리 #

8.1 커널 홀드 #



--append-to-version을 사용했다면 apt-get로 커널 업그레이드를 하는데 큰 문제가 없습니다. 그렇지만 영 불안하다면 다음과 같은 방법으로 좀 더 확실히 해둘 수도 있습니다.
bash:~$ echo "kernel-image-2.6.12.10.181004 hold" | sudo dpkg --set-selections 
물론 커널 이름은 자기것으로 바꿔줘야 합니다. dpkg가 알고 있는 팩키지( 인스톨된 팩키지나 아카이브 리스트에 있는 것들 )를 가리키려면 파일명을 전부 써주지 않고 팩키지 이름만을 씁니다. "|" 문자는 Shift-로 쓸 수 있습니다. 그러면 팩키지가 홀드가 되어있는지 확인합니다.
bash:~$ dpkg --get-selections | grep kernel-image  kernel-image-2.6.12.10.181004_10.00.Custom_i386.deb  hold 
<!> 누군가 팩키지 홀딩이 뭘하고 왜 쓰는지 등에 대한 문서를 작성해 주셨으면 합니다.

8.2 심볼릭 링크 제거 #



다음으로 할 일은 /usr/src 디렉토리에 만들어 놓은 심볼릭 링크를 제거하는 일입니다. 여기에는 다음과 같은 몇가지 이유가 따릅니다.


1. 다음번에 데비안 아카이브가 아닌 곳에서 커널을 직접 다운받고 압축을 풀 때 이전 커널 소스 디렉토리를 덮어쓸 위험이 있습니다.
2. 비록 데비안 아카이브에서 커널 소스를 받고 압축을 다른 곳에 푼다고 하더라도 "linux" 심볼릭 링크가 예전 소스에 걸려 있는것을 잊고 그냥 컴파일 할 가능성이 꽤나 높습니다.
3. 패치나 다른 소스 코드를 특정한 소스 트리에 포함 시키고자 할 때 엉망이 되어 버릴수도 있습니다. 하지만 심볼릭 링크를 제거해 주면 이러한 것을 막을수 있죠.


심볼릭 링크를 제거하려면 다음과 같이 합니다.
bash:~$ rm /usr/src/linux 


8.3 커널 백업하기 #



꼭 필요한 작업은 아니지만 만들어놓은 맞춤형 커널(.deb로 되어있는 파일)을 백업해 놓는 것이 좋습니다. 안전한 곳으로 복사 해놓습니다.


<!> 커널이 모듈들과 함께 팩키지 되어 있으면 커널 설정에서 포함 시켜놓은 다른 머신에 언제든지 설치 할 수 있습니다. 물론 지금 머신에 나중에 다시 설치하는 것도 가능합니다.


8.4 부팅 디스크 만들기 #



방금 설치한 커널용으로 부팅 디스켓을 또 하나 만듭니다. 이전 부팅 디스켓을 덮어 쓰기보단 새 디스켓을 쓰기를 추천합니다; 현재의 커널이 안정적으로 작동하는지 시간을 두고 볼 필요가 있기 때문입니다. 시스템을 망쳤을 때 부팅 디스켓이 빛을 발할 것합니다.
bash:/usr/src# cd /boot bash:/boot# mkboot /boot/vmlinuz-2.4.18.030320 


8.5 다음 커널 만들기 #



만약 새로운 사운드 카드를 사거나 깜박 잊고 빠뜨렸던 기능을 추가하고자 할때는 커널 설정만 다시 해주면 됩니다. "fakeroot make-kpkg clean"을 해준 다음 --append-to-version에 다른 값을 주고 새로 빌드합니다. 대충 다음과 같은 순서를 따릅니다.
bash:~$ cd /usr/src bash:/usr/src$ ln -s linux-source-2.6.12.10 linux 
bash:/usr/src$ cd linux
bash:/usr/src/linux$ make xconfig (커널 재설정)
bash:/usr/src/linux$ fakeroot make-kpkg clean (뭔가 많이 지울 것입니다.)
bash:/usr/src/linux$ fakeroot make-kpkg --append-to-version=.181004 kernel_image --initrd binary
(화면 가득히 뭔가가 나올 것입니다.)


8.6 이전 설정 사용하기 #



맞충형 커널을 설치하면 커널 설정은 자동으로 /boot/config-x.y.z로 복사됩니다. 만약을 위해 백업 (되도록이면 여러 군데로) 해놓습니다.


옵션들의 미로를 뚫고 원하는 하드웨어와 기능들을 모두 지원하는 커널을 만들어 놓았는데 오늘 새 버젼의 커널이 나온다면 당연히 또 업그레이드를 하고 싶을 것입니다. 이럴 때 커널 설정을 처음부터 다시 해야 할까요? 그렇지 않습니다.


커널 소스를 다운로드 받고 압축을 푼 다음 심볼릭 링크를 겁니다. 그리고 /usr/src/linux로 이동한 다음 백업해 놓은 설정 파일을 복사하고 "make oldconfig"를 실행합니다.
bash:/usr/src/linux$ cp /boot/config-2.4.18.030320 .config 
bash:/usr/src/linux$ make oldconfig
새 커널 옵션에 대해 몇가지 물어볼 것입니다. 보통은 모든 질문에 "no"로 대답하는 것이 안전합니다; 관심있는 옵션이 있으면 미리 표시해 놓습니다.

<!> oldconfig 설정을 끝낸 다음 xconfig나 menuconfig를 실행해서 뭘 선택했는지 보고 표시해 놓은 옵션 중 잘못된 선택이 있으면 바꿉니다.


자기만의 설정으로 최신 안정버젼의 커널을 빌드합니다.
fakeroot make-kpkg clean 



9 점검해야 할 사항들 #



  • 부팅 디스켓을 만듭니다.
  • 필요한 팩키지 인스톨
    • build-essential fakeroot kernel-package
  • 소스 트리 설정
    • 자신을 src 그룹에 추가하고 로그아웃, 로그인으로 다시 들어옵니다. 그룹 설정이 잘 되었나 한번 확인해봅니다.
    • 전에 걸어 두었던 심볼릭 링크를 제거합니다.
    • 소스 압축을 팝니다.
    • 새로 심볼릭 링크를 겁니다.
  • 커널 설정
    • 이전 설정 파일을 쓰려면 cp /boot/config-x.y.z .config
    • 다음중 하나를 실행합니다. make oldconfig, make xconfig, make menuconfig
    • 나중을 위해 .config 파일을 백업 해놓습니다.
  • 커널 이미지 팩키지 빌드
    • fakeroot make-kpkg clean
    • fakeroot make-kpkg --append-to-version=alpha+numeric.but.no.underscore kernel_image --initrd binary
  • 커널 이미지 팩키지 설치
    • dpkg -i kernel-image-x.y.z.yy.mm.dd_10.00.Custom_i386.deb
    • 리부팅
  • 팩키지를 홀드한 다음 echo "kernel-image-x.y.z.yymmdd hold" | dpkg --set-selections로 확인합니다.
  • 심볼릭 링크를 제거합니다.
  • 커널 이미지를 백업합니다.
  • 새 부팅 디스켓을 만듭니다.


10 링크 #



다음은 커널을 빌드하는 또다른 방법들에 관한 링크입니다.


http://www.gurtlush.org.uk/article.php?story=20040522233716364
http://www.desktop-linux.net/debkernel.htm
http://newbiedoc.sourceforge.net/system/kernel-pkg.html


P.S. 1 역시 첫 번역이라 그런지 여기저기 마음에 안드는 부분들이 많네요. 앞으로 차차 고쳐나가겠습니다. -handrake
P.S. 2 이상하게 최신 커널인 2.6.15로는 무선 인터넷이 잘 안되네요. -handrake
P.S. 3 무선 인터넷이 안되는 문제는 ipw2200 드라이버 버젼이 2.4가 아니라서 그렇다고 합니다. http://bbs.kldp.org/viewtopic.php?t=69639
http://ubuntu.or.kr/rubybbs/index.php?bid=ubuntu&id=370&page=1
여기서 보고 2.4 버젼을 받아서 해보니 문제없이 되었습니다. 주의할점은 드라이버 파일 이름 마지막에 커널 이름을 덧붙여 줘야 한다는 점입니다. /lib/hotplug/firmware를 보시면 어떻게 되어 있는지 자세히 보실 수 있습니다. -handrake





불여시 웹사이트 빠르게 로딩하기

about:config 로 설정값을 읽어들인다.
아래 설정들을 수정

network.dns.disableIPv6 - true로
network.http.pipelining - true로
network.http.pipelining.maxrequests - 8로
network.http.proxy.pipelining - true로

설정 후에 불여시 재시작

'프로그램' 카테고리의 다른 글

Openoffice....  (0) 2006.06.29
불여시 확장기능 리스트(쓸만한거)  (0) 2006.06.27
flickr 사용법 - Email편.....  (0) 2006.06.27
오옷~ 구글 툴바  (0) 2006.06.22
firefox extenction - snapper  (0) 2006.06.22

u-boot 상에서 irq로 led테스트

Xscale PXA255로 공부하고 있는 학생입니다.

유영창님의 보드를 살려보자라는 글을 보고 어셈으로 start.S와 링커파일과 Makefile을
만들어서 이미지 생성 후 포팅했는데 전혀 GPIO 17번 핀에 연결 된 LED가 작동을 하지 않습니다.

자세히 보니깐 칩 LED인데 아주 미세하게 켜지는건 같은데 제대로 된 동작같지는 않아여

혹시 부트 로더로 LED on/off 해보신분 답변좀 해주세여...

start.S 어셈파일입니다.



#define PXA_REG_GP_BASE 0x40E0000
#define PXA_REG_OFFSET_GPDR0 0x0C
#define PXA_REG_OFFSET_GPSR0 0x18
#define PXA_REG_OFFSET_GPCR0 0x24
#define WAIT_TIME_LOOP 0xa0000
#define DEBUG_GPIO_LED1 (1<<17)


.text
.globl _start
_start:
b reset
b Undefined_Instruction
b Software_Interrupt
b Prefetch_Abort
b Data_Abort
b Not_Used
b IRQ

b FIQ


reset:
ledtest:

ldr r0, =PXA_REG_GP_BASE
mov r1, #DEBUG_GPIO_LED1

str r1, [r0, #PXA_REG_OFFSET_GPDR0]
str r1, [r0, #PXA_REG_OFFSET_GPCR0]

ledon: mov r4, #WAIT_TIME_LOOP

delay: nop
nop
subs r4, r4, #1
bne delay

str r1, [r0, #PXA_REG_OFFSET_GPSR0]

mov r4, #WAIT_TIME_LOOP

ledoff: nop
nop
subs r4, r4, #1
bne ledoff
str r1, [r0, #PXA_REG_OFFSET_GPSR0]
b ledon


boot_falut:
b reset


led_error_loop:

Undefined_Instruction:
Software_Interrupt:
Prefetch_Abort:
Data_Abort:
Not_Used:
IRQ:
FIQ:
b led_error_loop


powered by performancing firefox




'develop > dogvelop' 카테고리의 다른 글

프로세스 찾아서 지우고 실행하기  (0) 2006.08.21
데몬 프로그램 만들기  (0) 2006.08.21
Arm Assemble  (0) 2006.06.29
API &amp; SDK  (0) 2006.06.28
에라이 씨발...  (0) 2006.06.23

에라이 씨발...



에라이 씨발...
u-boot에서 삽질하던거 진짜 삽질 됐다. 그 동안 한거 때려치우고, ADS에 다시 작업해야 한다.
ADS 할 줄도 모르는데...ㅠㅡㅠ



'develop > dogvelop' 카테고리의 다른 글

프로세스 찾아서 지우고 실행하기  (0) 2006.08.21
데몬 프로그램 만들기  (0) 2006.08.21
Arm Assemble  (0) 2006.06.29
API &amp; SDK  (0) 2006.06.28
u-boot 상에서 irq로 led테스트  (0) 2006.06.23

현재 나으 이너넷 서핑 패턴....

구글 데스크탑을 설치하니, 요즘 나온건 ctrl 2번 눈 질러 주니깐 바로 검색어 입력창이 훌러덩 떠준다.
(근데, 불여시나 익스 화면 위에서 해야 되나부다 바탕화면에서 눈질러 보니깐 반응이 없다. =,.=)
거기다 딴 컴터에서 내 데스크탑에 있는 검색 내용도 보여준단다 이건 아직 확인 안해봐서 잘 모르겠지만,
블러그는 불여시에 있는 performancing를 사용하고, 내가 자주가는 사이트들의 포스팅은 불여시에 있는 sage로 읽어 오고,
글고 보니 이렇게 편하게 된건 불여시와 구글의 도움이 크구만, 둘이서 지구를 정복해라...

ps. ㅎㅎㅎㅎ....어제 한국모질라에서 배포하는 불여시 스티커 신청했다...요넘을 어따 붙일지 고민해봐야겠다.



'기타' 카테고리의 다른 글

[Winxp] 윈도우 시작시 자동로그온 방법  (0) 2007.01.07
크로스케이블 따기  (0) 2006.11.25
일본식 함박스테이크 전문점 - 스테키팬  (0) 2006.10.29
이글루스 xml-api 등록하기  (0) 2006.08.21
레노보..ㅋㅋ...  (0) 2006.06.27
Posted by shellbt

오옷~ 구글 툴바

난 브라우저에 툴바 같은 거 다는 거 싫어하는데, 우찌하다 불여시에 하나 달아 줬다.
별로 좋은 거 못 느끼고, 서핑하다가 우연히 포인터가 영단어에 붙었는데, 아뉘 같자기 포인터
밑으로 단어 뜻이 조록 ~ 나오네...
역쉬 구글의 최종 목표는 지구 정보인게다...

ps. 아마 2~3년만 지나면 구글os를 쓰게 되지 않을까?.....


powered by performancing firefox




'프로그램' 카테고리의 다른 글

Openoffice....  (0) 2006.06.29
불여시 확장기능 리스트(쓸만한거)  (0) 2006.06.27
flickr 사용법 - Email편.....  (0) 2006.06.27
불여시 웹사이트 빠르게 로딩하기  (0) 2006.06.23
firefox extenction - snapper  (0) 2006.06.22
Posted by shellbt

firefox extenction - snapper

웹페이지를 이미지로 저장할 수 있단다.

********
howto
********
1. 원하는 페이지로 이동
2. 상태막의 붉은 물고기를 클릭하믄, 활성화 (활성화가 되믄 물고기 아가리 오픈)
3. 브라우저 내에서 저장하고 싶은 부분을 마우스 왼쪽을 잡고 지정
4. 버튼을 떼면, 저장할 이미지 파일을 입력하고 저장



powered by performancing firefox




'프로그램' 카테고리의 다른 글

Openoffice....  (0) 2006.06.29
불여시 확장기능 리스트(쓸만한거)  (0) 2006.06.27
flickr 사용법 - Email편.....  (0) 2006.06.27
불여시 웹사이트 빠르게 로딩하기  (0) 2006.06.23
오옷~ 구글 툴바  (0) 2006.06.22
Posted by shellbt
prev 1 ··· 49 50 51 52 next

openclose