'kernel'에 해당되는 글 7건

  1. 2009.09.27 커널 업뎃(2.6.31) 후 글픽기능 향상.
  2. 2008.03.11 ctags 설정 4
  3. 2007.04.22 본체 전원키로 시스템 off 시키기 4
  4. 2007.04.06 운영체제 없이 화면에 A를 찍어보아요... 6
  5. 2007.02.12 USB 스토리지 마운트 하기(SD,MMC카드,USB메모리) 6

커널 업뎃(2.6.31) 후 글픽기능 향상.

그냥 잠수 블로그로 남겨두느니 뻘글이라도 쓰는게 나을거 같어서 걍 쓰빈다..

이번에 커널 2.6.31로 업뎃한후로 부터, 그래픽 카드 기능이 꽤 많이 향상된거 같은 느낌이 들어요


1 일단 뭐 어떻게 바꿨는진 모르겠지만 메모리 점유율이 상당히 많이 줄었습니다..

처음 부팅했을때는 옛날에 데탑에 리눅스 깔아 쓰는거 처러 100mb 도 안나옴 ㅋㅋ

2 xf86-video-intel-legacy 드라이버는 더이상 지원이 안되는거 같습니다.. 이거 깔면 저인경우 아예 X가 안뜨던..

(기냥 xf86-video-intel 깔아야....)

3 glxgears 하면 프레임수는 얼마 안나옵니다

(개인적으로 glxgears못 믿겠어요! - fps 차이는 3배라도 성능차는 체감 못함) 한 600프레임 가까이 나오네요

4 리눅이에서 3D겜 지원이 그나마 좀더 나아 보이는거 같습니다 몇몇 안돌아가는게 있었는데 잘 돌아가는듯..

5 mplayer로 1280x720급 HD(?) 동영상이 CPU가 저번보다냐는 상당히 적게 먹는거 같은 느낌이 듭니다..

이제는 XV로 재생해도 잘 돌아가요 ㅋㅋ(근데 이상하게 스샷이 찍히네여? 가속이 안되는건가..??)

기분상인진 몰라도, 좀더 빨라진거 같은 느낌도 들고...

6 xcompmgr과 그 검은 그림자 and 화면 짤리기 스킬 시전이 이제 멈추게 되었습니다 ㅋㅋ 플빡 문제가 아니라,

그래픽 카드 문제였군여 이것도,,(이거 해결된게 젤 맘에 듬,,)

7 3ddek는 여전이 작동안함...

8  UXA모드?(xorg.conf)  이거 최신 글픽카드(?)에서 좋다길래 함 해봤는데.. 되긴되는데 체감 변화는 제로

9 spring-ba에서 "loading ruarules" 에서 프로그램이 멈춰버리네여 그렇다고 이 옵션 끄자니 지형이 색깔이 안나오는;

그래서 걍 게임은 접었음;;


이제야 슬슬 "X3100 글픽카드" 도 리눅스에서 쓸만해지는 건가요 아... 드디어,..

ctags 설정



<어라 새로운 플긴이네요...... 몰랐네....... 이거함 적용 ㅋ>
리눅스 커널 프로그래밍(IT EXPERT)(CD1장포함) 상세보기
한동훈 지음 | 한빛미디어 펴냄
리눅스 실무서. 이 책은 리눅스 커널 프로그래밍 환경 구축부터 커널 컴파일 개발법, 리눅스 시스템 호출과 모듈 프로그래밍 방법, 문자 디바이스 프로그래밍과 블록 디바이스 프로그래밍, 메모리 관리와 프로세스 관리 등의 내용을 담았다. 부록 CD에는 본문에서 사용한 예제소스와 커널 2.4.32 소스와 커널 2.26.14.6 소스, 데비안 리눅스 최소 설치 버전, VMWare 이미지 및 플레이어가 수록됐다.


리눅스 커널 프로그래밍이란 책을 보고 있습니다

커널책중에 이게 젤 만만해 보이더군요 ( 쉽다는 말이 아니라 그중에서............)

뭐 암튼.;; 근데 앞부분에 ctags를 설정하는 부분이 있길래(csope,tlist는 사용하지만 이건 처음) 122 page..........

따라서 해봤는데 제대로 안되네여..

일단 커널소스있는데서

ctags -R

을 한뒤에 검색...

일단 tags 가 있는데서
vim -t task_struct

하면 잘되는데 그안(vim)에서

:ta mm_struct 하면 안되는겨 -_- 그래서 구글도 찾아보고 하니까 답이 나오네...

~/.vimrc에다가

set tags=./tags,tag파일이있는작업디렉토리/tags,.............. "여기 set tags를 아예 안적으면 ctags가 제대로 작동 X

라는 식으로 tags파일을 "절대경로" 로 정해줘야 하네요.. 직접 저 태그파일의 경로를 말이에요..

그러니까 control + ] 도 잘 동작하네요 ㅋ

<대충 요약> 자세한건 :help tags (이겟죠뭐)
control + ] => 현제 커서위치에 해당하는 자료구조로 이동
control + t => 좀전의 위치로 이동
:ta XXX     => tag파일에서 XXX 검색
:ta /XXX    => tag파일에서 XXX 포함하는것도 검색
:tj XXX     => 2개이상이면 ls처럼 list 출력
:tn,:tp      => (tag)next,prev
tags        => History list

아나 설정파일 같은거 할때 책에 이런거좀 적어주지 칫.,. 데뱡이나 펫호라아님 무시하는 건가효??

우리 아치는 머셈??

내가 만드는 호좁한 기껏해야 천줄안팍인 프로그램은 이딴거 별 필요 없었는데....... 확실히 커널크기가 크니까

이런것도 필요한듯하네요

음......글구 스터디할분이랑 같이 수요일날부터 하기로 했는데 같이할님이랑 못만나겠네요......

일단 혼자서라도 해야...............

.......................학과 공부 대충하고 이거 해도 되려나........

덧> tags파일이 자주 수정된다면 걍 crontab에 등록시켜 버려도 될거 같다 알아서 갱신하게 ㅋ

학교땜에 바빠서 제대로 건들일수가 없네여 ㅜㅜ

본체 전원키로 시스템 off 시키기


원래 내가 쓰고 있는 리눅스에서는 전원버튼 눌르는거만으로는 시스템이 안꺼졌다 ...;

사실 별 필요 없는 기능 (.............) 이기때문에..

(왜냐햐면 단축키로 컴퓨터를 끄는게 더 빠르기 때문..

control+window_key+alt+delete라는 극악(?)의 조합으로 종료 시킴 -_- )

뭐 모르고 리눅스를 들어오는 가족들한테는 좀 도움이 될까.. (걍 전원버튼 누르면 꺼져여~ 하면 되니..)

뭐 암튼간에 커널에서 저어어 부분을 모듈 체크 하고 rc.conf에서 모듈을 잘 올려주면 문제없이 잘 작동했다

꼭 모듈로 올려야 하는것 같다 커널자체에 넣어버리면 동작이 안되네...
사용자 삽입 이미지

사용자 삽입 이미지

그리고
"여기여"
를 보고 파일을 수정(추가) 해주면 된다

원래 아치 리눅스 배포판에서는 아마 기본적으로 모듈올려주고 할거 같으니까
아마 저 링크타고 수정만 좀 해주면 될거 같다
데비안같은경우에는 저럴필요도 없고 그냥 패키지 설치하면 된다고 하는데 아치도 그냥
간단하지만 패키지하나 만들어 주면 좋겠다 (귀찮으니까............)

'Programming > Kernel' 카테고리의 다른 글

확실히 다르잖아!!  (4) 2008.04.15
ctags 설정  (4) 2008.03.11
운영체제 없이 화면에 A를 찍어보아요...  (6) 2007.04.06
KernelProgramming-printk  (5) 2006.07.24
Kernel Panic!  (2) 2006.07.21

운영체제 없이 화면에 A를 찍어보아요...

말하기 앞서서
일단 세그먼트/오프셋이 뭔지 알고 있다고 가정하고  내용을 작성하였습니다.
그것만 알고 계시다면 다음 이야기를 읽는데는 지장이 없을듯하네요
뭐 틀린내용이 있을수도 있으니 100%다 믿진 마시고요;
혹시 틀린게 있으면 지적 부탁합니다
덧> vmware,nasm,vi 정도는 다 아신다고 가정

0 preview
[org 0x07C0]:처음 시작 주소를 여기부터 시작한대여..바이오스가 이주소를 제일 먼저 읽는다고 함
(왜 거기냐? 라고 묻지마세요 저도 모릅니다 찾아도 도저히 못찾겠더라고요..혹시 아시는 분 있으면 댓글 부탁;)
mov        :데이터 치환 (nasm에선 mov ax,0x07 하면 ax=0x07과 같다고 보면 된다)
byte[es:di]:es레지스터에서 di의 오프셋의 위치의 데이터에서 byte(1byte)만큼 데이터를 읽는다
C랑 비교한다면
char buf[3];            이 있다고 할때
char는 byte,buf 는 es, []안의 숫자는 di로 보면 되겠다...(이게 더 복잡한가?)

=>plus! 그리고 byte[di] 같이 쓰는것은 ds레지스터를 생략해서 쓴것뿐이다
(ds세그먼트의 di 오프셋)
byte[ds:di] == byte[di]랑 같다는 얘기!!

1우리가 알아야 하는것
1)0x7C0라는 주소(세그먼트) 에 프로그램을 위치시켜야한다(org []라는게 이말이다)
2)비디오 메모리(화면에 출력하기 위한) 의 세그먼트는 0xB800이다
3)비디오 메모리 세그먼트가 가리키는 위치에 (오프셋대로)순서대로 값을 집어 넣는다
==>offset 에 관해서.. 첫번짜 byte는 문자 두번째 바이트는 색깔을 잡어 넣는다
ex> 0x07이라면.... 0검정 7하양(0x 0 7)

  1 [org 0x07C0]
  2
  3 mov byte[0xB800:0x0000],'A'  
  4 mov byte[0xB800:0x0001],0x07

이상하네... 바로 메모리 접근이 안되나보다.세그먼트 레지스터를 이용해서 접근해보자
es세그먼트(사용자세그먼트 레지스터)레지스터에다가 0xB800를 (컬러 비디오 메모리 주소)
복사한다음 그 값을 복사한 범용레지스터를 다시 세그먼트 레지스터에 복사해 넣는다
대충 다름과 같은 예가 되겠지...
ax=0x07
es=ax
암튼....그리하여 ax,로 넘긴다음  ... es를 설정해준다

  1 [org 0x07C0]
  2
  3 mov ax,0xB800
  4 mov es,ax
  5    
  6 mov byte[es:0],'A'
  7 mov byte[es:1],0x07

이리하면 잘아알 실행됨.. 화면에 당당히 A출력,바탕은 검정,글색깔은 흰색
ds 레지스터를 이용하여 좀더 간단하게

  1 [org 0x07C0]
  2
  3 mov ax,0xB800
  4 mov ds,ax
  5    
  6 mov byte[0],'A'     ;[ds:0]
  7 mov byte[1],0x07;[ds:1]
 
일단 좀더 폼 잡어서 약간더 추가하면..
  1 [org 0x07C0]
  2
  3 start:
  4     mov ax,0xB800
  5     mov es,ax
  6     mov di,0
  7
  8     mov byte[es:di],'A' 
  9     inc di ;c로 치면 di++
 10     mov byte[es:di],0x07
 11
 12     jmp $

추가:jmp $란 현재주소에서 현재주소로(?) jump!하기다 즉,제자리 뛰기
현재상태를 유지하기 위해서다 (프로그램이 끝나면 안되므로..그래도 때에 따라서 돌아가는덴 지장 없을때도)

아놔 이거 하나 안다고 정말 뻘짓한 시간 생각하면 크윽..;;
어셈블리 생판 모르는 상태애서 이거 이해한다고 어려워 죽는줄(?) 알았어영 ㅜㅜ
저같이 삽질을 하시는 분을 조금이라도 줄이기 위해서 이글을 바칩니다 ㅜㅜ 어흑...

'Programming > Kernel' 카테고리의 다른 글

확실히 다르잖아!!  (4) 2008.04.15
ctags 설정  (4) 2008.03.11
본체 전원키로 시스템 off 시키기  (4) 2007.04.22
KernelProgramming-printk  (5) 2006.07.24
Kernel Panic!  (2) 2006.07.21

USB 스토리지 마운트 하기(SD,MMC카드,USB메모리)



linux2.6.20애서 USB 메모리를 잡을려고 모듈 올린 부분..(usb마우스랑 기타 겹치는게 있음.. 중요한건 저 스토리지랑 SCSI
사용자 삽입 이미지

사용자 삽입 이미지


현재 들어와 있는 모듈




usb_storage 31620 1
usbhid 13060 0
rtc 9776 0
ohci1394 28592 0
ieee1394 75444 1 ohci1394
ohci_hcd 16388 0
ehci_hcd 23820 0
radeon 109216 2
drm 101400 3 radeon
nvidia_agp 6172 1
agpgart 23752 2 drm,nvidia_agp
snd_intel8x0 26396 3
snd_ac97_codec 85156 1 snd_intel8x0
ac97_bus 2304 1 snd_ac97_codec
snd_pcm 59908 3 snd_intel8x0,snd_ac97_codec
snd_timer 16260 2 snd_pcm
snd 33912 8 snd_intel8x0,snd_ac97_codec,snd_pcm,snd_timer
soundcore 5728 1 snd
snd_page_alloc 7304 2 snd_intel8x0,snd_pcm

마운트 하기
mount /dev/sdX /mnt/fl
아 그리고 뭐 charset 몿찾겠다면서 거품물때가 있는데 (dmesg | tail 쓰라고 애러 날때중 하나)

디바이스 설정중 로케일을 다음과 같이 넣으면됨
사용자 삽입 이미지

'Linux > 내부설정' 카테고리의 다른 글

단축키가 부족해!!!  (2) 2007.03.28
USB 부팅 리눅스는 GG  (2) 2007.02.14
usb마운트  (2) 2007.02.11
Amarok 스크립트로 터미널에서 가사보기  (6) 2007.01.08
[linux] 랜덤으로 바탕화면 바꾸기.  (2) 2006.12.24
prev 1 2 next