close
티루트 . 처음 . 목록 . 전시 . 앨범 . 찾기 . 방명록 . 링크 . 흔적 . 일기장 . 관리자



+ 최근 글

  • ` 통진당 난장판의 긍정효과.. (1)
  • ` 이재오는 왜 나왔을까?.
  • ` 제임스 갈브레이드.
  • ` 영화들... (6)
  • ` 담담한 하우스 푸어 기사.



  • + 최근 댓글

  • ` 정말 그렇군. *vividian
  • ` 난 배트맨 비긴즈는 좋아해염... 뭔가 오덕스러운... *dawnsea
  • ` 아.. 기사 윌리엄이 히스 레저였구나.. OTL ... *dawnsea
  • ` 브라이언 싱어의 슈퍼맨은 렉스루터도 매력없어요... *코젯
  • ` 아니 뭐 내가 뭘 알고 쓰는 건 아니고 영화라고는... *dawnsea



  • + 최근 엮인글

  • ` dawnsea의 생각 *dawnsea's me2day
  • ` [파이어폭스,팁] 파이어폭스 포터블 업데이트, 쓰... *월풍도원(月風道院) - Delight on the Simple Life
  • ` 일룸 옷장 전시품 판매합니다~~(일룸올리) *iloom1님의 블로그
  • ` 색깔 심리 테스트 *활자중독증
  • ` 티에프의 생각 *tfurban's me2DAY

    리눅스

    1. 2011/07/26 커널 시끄럽게 빌드하기
    2. 2011/07/25 커널 부팅 초기 디버그
    3. 2011/06/30 <강>만능 vim 튜닝 !!!! <추>
    4. 2011/06/28 wine에서 실행하는 울트라에디터의 ctag
    5. 2011/06/28 vim이 귀찮은 개발자의 ctag, cscope. @ kernel
    6. 2011/06/27 리눅스에서 token2 쓰기 (wine에서 serial port)
    7. 2011/06/27 커널 소스를 삼바로 백업한 만행을 당했을 때..
    8. 2011/06/27 리눅스에서 dnw 사용하기. (2)
    9. 2011/06/27 윈도우에서 리눅스로 "원격 데스크탑" 접속하기 (3)
    10. 2011/06/24 ubuntu wine, samba 설치
    11. 2011/06/24 ubuntu 11.04, emerald, compiz, xorg.conf (3)
    12. 2011/06/23 내 compiz 컴피즈 설정, 단축키 (2)
    13. 2011/06/23 unity dual monitor nvidia setting
    14. 2011/06/23 GLib-GIO:ERROR:
    15. 2011/06/23 vnc 한글 키 입력 문제.
    16. 2011/06/22 ubuntu ppa 란?
    17. 2011/06/22 노틸러스에서 히든 파일 보기
    18. 2011/06/21 check battery state, booting crash
    19. 2011/06/09 우분투만의 독특한 커널 개발 환경
    20. 2011/05/30 간단한 이중 포인터, 포인터의 포인터 예제.
    21. 2011/05/20 svn + trac + apache
    22. 2011/05/19 커널에서 모듈 빌드만 빨리 하기.
    23. 2011/05/17 데스크탑 유지하면서 리눅스 커널 실험.
    24. 2011/05/16 리눅스 커널 패치
    25. 2011/05/06 glibc build 정리 중.. (2)
    26. 2011/05/06 gcc 4.6 build 하기. (1)
    27. 2011/04/01 우분투에서 벅스 사용하기.
    28. 2011/03/30 SVN Store password unencrypted (yes/no)?
    29. 2011/03/30 우분투 시작 프로그램 등록. (1)
    30. 2011/03/30 우분투에서 tortoise 처럼 svn 쓰기, nautilus 확장
    커널 시끄럽게 빌드하기
    2011/07/26 10:16



    make help 치면 도움말이 콸콸콸..

    make V=1 Image

    하면 make 본연의 모습이 나온다네..

    dawnsea
    2011/07/26 10:16 2011/07/26 10:16
    tag : 리눅스
    댓글 / 엮인글 / HanRSS 구독
    엮인글 주소 :: http://keeptalk.cafe24.com/tc/trackback/2624

    커널 부팅 초기 디버그
    2011/07/25 12:37


    linux, kernel, debug, boot, console, serial, uart





    커널 부팅 극초기의 상황을 시리얼로 찍고 싶다면?

    커널 컨피그에서
    커널 해킹 -> 커널 디버깅 -> 커널 로우 레벨 디버깅 펑션을 활성화

            adr     r0, my_string
            bl      printascii   ## 문자열 찍음
            b       __error      ## 스톱 시킴

    my_string : .asciz  "\nfucking kernel crash!!"
             .align

    ... 띄엄띄엄 추억속의 그녀를 회상하자니 이름도 생각이 나질 않아 검색해보니 아주 잘 정리한 글이 있습니다..

    http://bmfrog.tistory.com/entry/2628-% ··· 5b6%259c

    일타삼피님 감사합니다.


    dawnsea
    2011/07/25 12:37 2011/07/25 12:37
    tag : 리눅스, 임베디드
    댓글 / 엮인글 / HanRSS 구독
    엮인글 주소 :: http://keeptalk.cafe24.com/tc/trackback/2623

    <강>만능 vim 튜닝 !!!! <추>
    2011/06/30 11:19



    같이 일한 동생인 정원민군의 삽질의 산물.
    감사합니다 ㅠ.ㅠ



    f4 key -> 파일탐색기
    f8 key -> 함수 리스트

    좌하단 -> 열린 파일

    기타 마우스를 써도 되고.. vim의 기능은 ctrl w + w 를 써도 된다.
    ctrl + ] 를 쓰면 ctag + cscope로 동작한다.



    첨부된 파일을 자기 계정에 푼다.

    /root/에도 풀어놓는다.
    .vimrc도 /root/.vimrc에 위치하도록 한다.





    참고로 리눅스에서 스크린샷 쉽게 찍으려면 compiz에서 스크린샷을 켜고.
    윈도우 키 + 좌클릭 한 상태에서 드래그하면 파일이 생긴다.

    dawnsea
    2011/06/30 11:19 2011/06/30 11:19
    tag : 리눅스, 컴퓨팅팁, 프로그래밍
    댓글 / 엮인글 / HanRSS 구독
    엮인글 주소 :: http://keeptalk.cafe24.com/tc/trackback/2617

    wine에서 실행하는 울트라에디터의 ctag
    2011/06/28 16:46


    wine, ultraedit, ctags, linux


    와인으로 울트라에디트를 돌릴 때..
    ctag를 쓰고 싶다면.. 그냥 리눅스 ctag를 쓰면 된다.

    ctags -R ./ 등으로 tags를 만들거나
    커널이라면
    make tags로 태그 파일을 만든 후,


    울트라에디터에서
    project->ctags options 의 default tagfile에 방금 만든 tag 파일을 지정하면 된다.

    따로 프로젝트 안 만들어도 된다.
    프로젝트 만들면 여러 태그를 관리할 수 있긴 하다.


    tag 찾기 키는 F11이다.

    이제 앞 키 뒷 키를 ctrl [, ] 로 각각 바인딩하자.
    소스 인사이트처럼 ctrl <, > 로 바인딩 하던가.. vim 처럼 ctrl ], ctrl t 로 바인딩 해도 좋다.



    dawnsea
    2011/06/28 16:46 2011/06/28 16:46
    tag : 리눅스, 프로그래밍
    댓글 / 엮인글 / HanRSS 구독
    엮인글 주소 :: http://keeptalk.cafe24.com/tc/trackback/2616

    vim이 귀찮은 개발자의 ctag, cscope. @ kernel
    2011/06/28 16:25



    와인에 소스 인사이트가 있어도..

    vim에 ctag은 피할 수 없는 숙명..

    apt-get install ctags



    우분투의 기본 vim은 기능 다 빠진 vim.tiny 이므로

    apt-get install vim



    커널에서

    make tags한다.
    이렇게 하면 태그 파일이 있는 커널 소스 루트에서만 먹응께..

    echo set tags+=$PWD/tags >> $HOME/.vimrc



    이건 걍 스크립트로 만들어놓고 쓰자.


    #!/bin/sh
    echo set tags+=$PWD/tags >> $HOME/.vimrc



    실행 퍼미션 부여해서 /usr/bin 등에 복사해 줌..








    이제 커널 소스에서.. ctrl+] 키로 점프.. ctrl + t 키로 돌아오기를 쓰자.
    아참.. 대문자 K로 맨 페이지도 들락거립시다;; 알면서 꼭 새 터미널에서 하는 악습;;


    나는 vim에서 cscope를 사용하지 않으므로.. 나처럼 그냥 심볼 검색기로 사용하는 사람들은..
    다음 스크립트로 파일만 만들고 터미널에 하나 띄워놓고 보면 된다.

    http://mustafa.tistory.com/19
    dawnsea
    2011/06/28 16:25 2011/06/28 16:25
    tag : 리눅스, 프로그래밍
    댓글 / 엮인글 / HanRSS 구독
    엮인글 주소 :: http://keeptalk.cafe24.com/tc/trackback/2615

    리눅스에서 token2 쓰기 (wine에서 serial port)
    2011/06/27 15:54

    linux, wine, serial

    토큰2의 시리얼 모드는 실로 위대한 것이다.
    상위 버전 말고 토큰2를 추천한다.
    http://download.cnet.com/token-2/3000- ··· 287.html



    1. 깔면 기본적으로 고정폭 비트맵 폰트를 지원.
    2. 대용량 버퍼를 지원하여 트래킹 쉬움
    3. 헥사 덤프 지원
    4. 기타 등등 아몰라 짱.



    wine에서 token2는 쉽게 깔린다.
    wine 1.3 을 쓰자.

    /home/자기계정/.wine/dosdevices로 들어가서..

    해당 디바이스의 심볼릭 링크를 만들어주자.


    일반적으로는 /dev/ttyS0를 com1으로 링크하면 잘 동작한다.
    USB로 시리얼을 확장해서 달았다면
    /dev/ttyUSB0를 com1등으로 확장하면 된다.

    dawnsea
    2011/06/27 15:54 2011/06/27 15:54
    tag : 리눅스
    댓글 / 엮인글 / HanRSS 구독
    엮인글 주소 :: http://keeptalk.cafe24.com/tc/trackback/2613

    커널 소스를 삼바로 백업한 만행을 당했을 때..
    2011/06/27 15:16

    linux, samba

    리눅스 문화가 정착되지 않은 곳에서는..
    삼바로 일을 많이 하기에;;

    정말 어이없는 만행을 많이 당하곤 한다.

    커널 소스를 삼바로 백업한 압축을 받았을 때 -_-;

    이렇게 해보자 -_-;


    include/asm 지운다.

    ln -s asm-arm asm    ; 심볼릭 링크 재생성

    마찬가지로

    include/asm/arch 를 include/asm/arch-s3c2440 등으로 재설정
    include/asm/proc 을 include/asm/proc-armv 등으로 재설정


    Makefile의 ARCH를 arm등으로 재설정..

    make mrproper

    make clean dep

    cp arch/arm/def-config/mba2440.... 을 .config로 복사.

    make menuconfig 때리고 저장하면서 빠져나옴

    이제 빌드 -_-;;



    아 정말 별별 경우가 다 있네;
    dawnsea
    2011/06/27 15:16 2011/06/27 15:16
    tag : 리눅스
    댓글 / 엮인글 / HanRSS 구독
    엮인글 주소 :: http://keeptalk.cafe24.com/tc/trackback/2612

    리눅스에서 dnw 사용하기.
    2011/06/27 14:21
    linux, dnw, smdk, samsung..


    어쩌다 한 물간(?) 2440을 쓰고 있는데.
    사실 2440 이 계열이 불후의 명작임;;

    어쩌다보니..

    원래 일반적인 구성이라고 하면..

    u-boot - tftp - nfs - samba 정도가 가장 쉬운 구성인데..
    여전히 리눅스가 불편한 사람들이 많은 관계로 dnw - usb에 의존하는 경우도 많다.
    (이더넷을 장악하지 못 한 경우에도)

    우야뜬..
    dnw가 리눅스용도 나와있다.
    오리지널 소스 위치는 모르겠지만..

    http://www.aesop.or.kr/?document_srl=310312


    리눅스에서 usb 다운로드가 된다.

    잘쓰겠습니다. 감사합니다.
    dawnsea
    2011/06/27 14:21 2011/06/27 14:21
    tag : 리눅스
    댓글.2 / 엮인글 / HanRSS 구독
    엮인글 주소 :: http://keeptalk.cafe24.com/tc/trackback/2611
    1. dawnsea 2011/06/30 14:53  X  O

      ./smdk-usbdl -a 0xc000800 -f /tftpboot/zImage > /dev/null

    2. dawnsea 2011/09/29 16:04  X  O

      http://bumnux.tistory.com/4
      http://www.fluff.org/ben/smdk/tools/

    윈도우에서 리눅스로 "원격 데스크탑" 접속하기
    2011/06/27 10:47



    ubuntu, linux, remote desktop


    보통 리눅스에서는 vnc를 써서 접속하지만..
    유독 보안팀에서 vnc는 막고 윈도우용 "원격 데스크탑"은 허용하는 경우가 많다.

    원격 데스크탑이 사용하는 RDP 서버만 깔면 해결된다.
    즉, 윈도우 컴에서 윈도우 컴을 원격 접속하듯이 접속할 수 있다.

    시냅틱에서 XRDP를 검색하여 깐다.
    vnc관련 프로그램도 같이 깔린다.

    이제 윈도우에서 "원격 데스크탑"기능으로 리눅스를 접속해본다.
    unity는 지우고 재부팅한다.
    아 진짜 내가 unity 때문에 허송시간 날린거 생각하면 부들..

    dawnsea
    2011/06/27 10:47 2011/06/27 10:47
    tag : 리눅스
    댓글.3 / 엮인글 / HanRSS 구독
    엮인글 주소 :: http://keeptalk.cafe24.com/tc/trackback/2610
    1. 가짜집시 2011/06/27 12:00  X  O

      요새 회사에서 Linux 작업하는 거 보니, 처음엔 다들 FreeNX 서버 세팅하고 썼는데 , 속도가 별로 쾌적하지 않다고들 느끼는지, 요즘은 아예 머신에 하이퍼바이저 깔고 Vmware로 가상 머신을 windows desktop에 불러다 쓰는 식으로 전환해버리더군요. Linux box 성능이 빵빵하면 remote desktop 에 의존하는 것 보다는 훨씬 쾌적해보입니다. 개발 환경 세팅도 한 군데 다 해놓고 머신 이미지를 복제하는 식으로 하면 오히려 다중 사용자용 환경 세팅 하는 것 보다 편한 것 같아요.

      • └ dawnsea 2011/06/27 14:17  X

        저도 지금 그러고 있습니다 ㅠ.ㅠ
        안 그래도 실험실에서 PC 한 대만 쓰라고 해서 -_-;
        버쳘머신에 윈도우를 깔았더니.. 아이구야..
        완전 날라가네요 -_-;;
        옛날 vmware 생각하면 안 되네요 ^^;

        실험용 짭퉁 USB만 어떻게 해결하면 될 것 같습니다;;

      • └ dawnsea 2011/06/27 14:18  X

        아참;; 오랫만입니다;; 자주 방문하셔서 가르침 좀 부탁드립니다 ^^;;;
        댓글 감사합니다 꾸벅~

    ubuntu wine, samba 설치
    2011/06/24 13:57


    ubuntu, linux, wine


    add-apt-repository ppa:ubuntu-wine/ppa
    apt-get update

    apt-get install wine1.3


    http://www.winehq.org/download/ubuntu



    적당히 삼바를 연결하여 윈도우의 Font 디렉토리를 통으로 압축해서 가져온다.
    디렉토리는 자기 계정으로 가면 된다. /home/dawnsea/.wine ....



    apt-get install samba
    apt-get install system-configs-samba


    시스템 메뉴에 삼바 메뉴가 생기는데.. 사용자 계정의 암호 입력을 다시한다.
    옛날부터 존재하던 암호 인코딩 체계 문제 인듯.


    이제 울트라에디터와 소스인사이트를 설치한다.




    이제 폰트까지 완벽한 개발환경이 구축됐다.


    .. 는 됐고 vim에 ctag하러 가자..





    dawnsea
    2011/06/24 13:57 2011/06/24 13:57
    tag : 리눅스
    댓글 / 엮인글 / HanRSS 구독
    엮인글 주소 :: http://keeptalk.cafe24.com/tc/trackback/2609

    ubuntu 11.04, emerald, compiz, xorg.conf
    2011/06/24 13:24


    우분투 11.04에서 에메랄드 테마는 문제가 있다.
    세그퐅트가 뜨질않나.. 우측 보더가 깨지질 않나.

    검색해보니.. 궁합이 맞지 않기 때문에,
    패키지를 설치하지 말고 재빌드 하라고 한다.


    다음 자료를 그대로 따라하면 된다.
    http://ubuntugenius.wordpress.com/2011 ··· -bars%2F



    요약한다.

    sudo apt-get purge emerald

    sudo apt-get install autoconf git intltool libdecoration0-dev libemeraldengine0 libtool libwnck1.0-cil-dev libwnck-dev

    git clone git://anongit.compiz.org/fusion/decorators/emerald

    cd emerald

    git checkout -b compiz++ origin/compiz++

    ./autogen.sh

    ./configure --prefix=/usr/local

    make

    sudo make install

    cd ~

    rm -rf emerald

    Alt+F2 and run emerald --replace.

    update-menus (or even update-menus && killall gnome-panel)

    emerald-theme-manager --replace


    unity와 gnome3는 그냥 포기했고.

    듀얼모니터는 여전히 명확하지 않다. 최신 xorg.conf를 첨부한다.

    xorg.conf

    dawnsea
    2011/06/24 13:24 2011/06/24 13:24
    tag : 리눅스
    댓글.3 / 엮인글 / HanRSS 구독
    엮인글 주소 :: http://keeptalk.cafe24.com/tc/trackback/2608
    1. 랜덤여신 2011/06/27 19:32  X  O

      저도 세그먼테이션 오류가 떠서 뭔가 했는데, 최신 버전으로 다시 깔아야 하는 거였군요. 빌드하기 귀찮은데 주류에 반영 안 되려나...

      • └ 랜덤여신 2011/06/27 19:35  X

        찾아보니 ppa:malteworld/compiz 가 있네요.

      • └ dawnsea 2011/06/27 20:53  X

        흙;;;;; 감사합니다 ㅠ.ㅠ
        fusion-icon이 안 되는 문제도 아마 해결 될 것 같은 느낌이 드네요 -_-;

    내 compiz 컴피즈 설정, 단축키
    2011/06/23 16:54


    unity_dawnsea.profile




    적당히 셋팅해놨다.


    컴피즈 + 유니티에서 단축키를 잘 쓰면 편리하다.

    alt + f2 / 커맨드 라인, 그놈의 거시기
    alt + 좌클릭 / 창 끌고 다니기
    alt + 휠클릭 / 창 크기 조절
    윈도우 + s / 가상 데스크탑 선택
    윈도우 + 탭 / 태스크 넘기기

    dawnsea
    2011/06/23 16:54 2011/06/23 16:54
    tag : 리눅스
    댓글.2 / 엮인글 / HanRSS 구독
    엮인글 주소 :: http://keeptalk.cafe24.com/tc/trackback/2607
    1. 김호준 2011/07/15 11:45  X  O

      컴피즈때문에 리눅스를 새로깔기를 몇번이나 했는데 ㅠㅠ

      덕분에;; 이번에는 삭제를 안해도 되었다는 ㅠㅠ

      8.04 사용할때랑 10.04 쓸때랑 .. 옵션이 다른건지 ㅠㅠ

      너무 고맙습니다 ^^

      • └ dawnsea 2011/07/18 11:32  X

        도움이 되셨다니 감사합니다.
        11.04로는 천천히 넘어오십쇼.. 자기 뜻대로 안 되는 경우가 많습니다;

    unity dual monitor nvidia setting
    2011/06/23 16:47



    아 진짜 개떡같네


    일단 대충 쓰자..

    unity는 완전한 듀얼 모니터를 인식 못하는 것 같다.



    첨부 파일 참고.
    xorg.conf

    dawnsea
    2011/06/23 16:47 2011/06/23 16:47
    tag : 리눅스
    댓글 / 엮인글 / HanRSS 구독
    엮인글 주소 :: http://keeptalk.cafe24.com/tc/trackback/2606

    GLib-GIO:ERROR:
    2011/06/23 13:03
    ubuntu. linux.


    ubuntu 에서 GLib-GIO:ERROR: 에러의 원인은.


    대부분 superuser 문제다.
    일반 계정으로 실행 또는 alt+f2  로 실행한다.
    dawnsea
    2011/06/23 13:03 2011/06/23 13:03
    tag : 리눅스
    댓글 / 엮인글 / HanRSS 구독
    엮인글 주소 :: http://keeptalk.cafe24.com/tc/trackback/2605

    vnc 한글 키 입력 문제.
    2011/06/23 00:18



    이제는 거울 앞에 선 내 누님 같은 자료.

    - http://kldp.org/files/vncviewer_patch_478.zip
    - 관련글 : http://kldp.org/node/43878




    dawnsea
    2011/06/23 00:18 2011/06/23 00:18
    tag : 리눅스
    댓글 / 엮인글 / HanRSS 구독
    엮인글 주소 :: http://keeptalk.cafe24.com/tc/trackback/2604

    ubuntu ppa 란?
    2011/06/22 15:33



    퍼스널 페이지 아카이브.
    personal page archive

    ubuntu ppa

    개발자들이 빠락빠락 올려놓는 최신 버전 저장소이다.

    추가는?

    rabbitvcs 같은 경우 다음과 같이 추가한다.
    이런 저장소 이름은 개발 홈페이지에서 제공한다.

    add-apt-repository ppa:rabbitvcs/ppa


    이제 apt-get update 하면 최신 버전 체킹을 한다.


    그 다음 apt-get install 어쩌구저쩌구 하면 최신버전이 설치된다.


    사실 업데이트 관리자->설정에서 등록해도 되고
    /etc/apt/souces.list 에 deb을 추가하는 것과 모두 같은 작업이다.







    dawnsea
    2011/06/22 15:33 2011/06/22 15:33
    tag : 리눅스
    댓글 / 엮인글 / HanRSS 구독
    엮인글 주소 :: http://keeptalk.cafe24.com/tc/trackback/2603

    노틸러스에서 히든 파일 보기
    2011/06/22 15:14


    nautilus, hidden file, linux, ubuntu




    노틸러스에서 히든 파일을 보고 싶을 땐,
    ctrl + h 를 누르면 된다.


    참고 : 노틸러스에서 터미널 바로 열기, rabbitsvn 붙이기.
    http://www.troot.co.kr/tc/2564


    계속 히든 파일로 보고 싶다면 gconf-editor를 사용해서 아예 수정한다.
    http://www.watchingthenet.com/always-s ··· ser.html


    dawnsea
    2011/06/22 15:14 2011/06/22 15:14
    tag : 리눅스
    댓글 / 엮인글 / HanRSS 구독
    엮인글 주소 :: http://keeptalk.cafe24.com/tc/trackback/2602

    check battery state, booting crash
    2011/06/21 10:26



    ubuntu, linux, nvidia, unity, compiz.


    우분투 11.04를 깔고 nvidia 드라이버 활성화가 안 되는 경우가 있다.
    특히 home 파티션을 보존하면서 업그레이드 하는 경우 이전 프로필이 살아 있어서 그런지...
    이전 환경이 남는 경우도 있다.




    1. 우분투 11.04의 경우..

     램이 4g 이므로 일단 PAE 커널을 받자.

     apt-get install linux-image-$(uname -r)-pae





    2. nvidia 드라이버를  nvidia 홈피에서 받아다가 빌드하니 문제가 생겼다 -_-;
    아오놔..

    apt-get remove --purge nvidia*   다 지운다.


    3. /etc/X11/xorg.cfg 도 지운다 ㅡ.ㅡ;



    4. 재부팅한다..
    부팅 중 크래시가 문제가 된다면 alt+ctrl+f3 키로 런레벨 3 이상.. 이 아니라 사실 아무거라도 상관없다..
    에서 작업한다.




    5. 재부팅하면 그동안 크래시나서 망가졌던 부팅이 일단 동작한다.
    추가 드라이버 기능을 동작시켜서 3D 드라이버와 nvidia 드라이버를 활성화시킨다.



    6. 다시 xorg.cfg 를 편집한다. 필요 없다면 냅둔다. 듀얼 모니터 구성이 내 뜻대로 안 되는 경우가 있어서 편집이 필요할 수 있다.


    7. 일단 unity가 활성화 된다.






    dawnsea
    2011/06/21 10:26 2011/06/21 10:26
    tag : 리눅스
    댓글 / 엮인글 / HanRSS 구독
    엮인글 주소 :: http://keeptalk.cafe24.com/tc/trackback/2600

    우분투만의 독특한 커널 개발 환경
    2011/06/09 14:09


    ubuntu


    요즘은 커널 원본을 받아다 이런저런 실험을 하기가 어렵다.
    다들 데스크탑 리눅스를 쓰기 때문이다.
    뭐라도 하나 망가지면 시스템이 작살날 뿐더러..
    현 시스템의 커널 설정을 마이그레이션 하기도 어렵다.
    .config만 복사한다고 될 일이 아니로다.
    이게 커널인지 나비가 나인지..

    우분투의 경우 몇 가지 룰을 알고 있으면 커널 실험(개발)이 쉽다.

    각설하고..

    apt-get source linux-image-$(uname -r)


    이 작업은 현재 자신이 쓰고 있는 시스템과 같은 버전의 커널 소스를 우분투 레파짓에서 긁어온다.
    여기에 우분투 패치까지 알아서 다 해준다.

    이제 /usr/src/linux-2.6.38 디렉토리가 생기며 커널 소스가 깔렸다.


    apt-get install linux-headers-$(uname -r)

    커널 헤더를 받는다. 물론 커널 소스에도 있지만. 이것은 현 시스템의 커널 빌드가 반영된 헤더다.
    /usr/src/linux-headers-2.6.38-8 이 생겼다.
    거의 모든 파일이 심볼릭 링크로 연결되어 있을 것이다.

    이때 /lib/modules/2.6.38-generic 도 생긴다.
    이 디렉토리는 알다시피 모듈 버전등을 관리한다.

    이제 /lib/modules/2.6.38-generic/build 심볼릭 링크가 /usr/src/linux-headers-2.6.38-8 에 연결되어 있는지 확인한다.
    제대로 연결되어 있어야 한다.


    /lib/modules/2.6.38-generic/build 를 들어가보면 source라는 끊어진 심볼릭 링크가 보인다.


    /build/buildd 를 /usr/src/linux-2.6.38 에 심볼릭 링크로 연결한 후
    source를 /build/buildd 로 연결한다. 왜 이렇게 하는지는 모르겠다. 그냥 직빵 연결해도 되는 듯.
    우분투 기본 값이 그렇다.

    커널 풀빌드를 하려면 /boot/config ... 를 .config로 복사한다.
    모듈 빌드만 빠르게 하려면 make modules 해도 느린 편이므로...

    http://www.troot.co.kr/tc/2591


    ..를 참고한다. 정말로 필요한 모듈만 빌드 할 수 있다.









    dawnsea
    2011/06/09 14:09 2011/06/09 14:09
    tag : 리눅스, 임베디드
    댓글 / 엮인글 / HanRSS 구독
    엮인글 주소 :: http://keeptalk.cafe24.com/tc/trackback/2597

    간단한 이중 포인터, 포인터의 포인터 예제.
    2011/05/30 13:28


    간단한 이중 포인터 예제.

    포인터를 다수 써야 하는 데,
    이걸 포인터의 배열로 쓰기는 싫고..
    힙에서 끌어오고 싶을 때는..

    이중 포인터를 쓴다.

    뭐 대부분은 굳이 몇 바이트까지 바득바득 쥐어짜는 것 보다는..
    전역변수를 잡는 것이 성능에서 유리하지만..

    소프트웨어 신뢰성도 그렇고 폼도 안 나니깐..



    dawnsea
    2011/05/30 13:28 2011/05/30 13:28
    tag : 리눅스, 프로그래밍
    댓글 / 엮인글 / HanRSS 구독
    엮인글 주소 :: http://keeptalk.cafe24.com/tc/trackback/2593

    svn + trac + apache
    2011/05/20 12:25


    잘 된 원본 글.
    http://ayasaki.egloos.com/4068452


    감사합니다!

    apt-get install trac
    apt-get install subversion

    서브버전 정리, 설치.. 셋팅..

    mkdir /home/svn
    chown www-data.www-data /home/svn
    svnadmin create /home/svn/MyProject

    mkdir /home/trac
    chown www-data.www.data /home/trac
    trac-admin /home/trac/MyProject initenv

    프롬프트 뜨면..
    /home/svn/MyProject 입력

    trac-admin /home/trac/MyProject permission add dawnsea TRAC_ADMIN  // dawnsea 관리자 계정

    apt-get install apache2-threaded-dev libapache2-svn libapache2-mod-python python-dev

    vim /etc/apache2/mods-avaiable/dav_svn.conf

    <Location /svn>
         DAV svn
         SVNParentPath /home/svn
         AuthType Digest
         AuthName "Repository"
         AuthUserFile /etc/apache2/.htdigest
         <LimitExcept REPORT>
             Require valid-user
         </LimitExcept>
    </Location>


    a2enmod dav_svn
    a2enmode auth_digest

    vim /etc/apache2/sites-available/trac

     <Location /trac>
         SetHandler mod_python
         PythonHandler trac.web.modpython_frontend
         PythonOption TracEnvParentDir /home/trac
         PythonOption TracUriRoot /trac
         AuthType Digest
         AuthName "Trac"
         AuthUserFile "/etc/apache2/.htdigest"
         Require valid-user
    </Location>


    a2ensite trac
    htdigest -c /etc/apache2/.htdigest Repository dawnsea
    htdigest /etc/apache2/.htdigest Trac dawnsea
    // 계정은 추가 등록 -c 빼고

    chmod 600 /etc/apache2/.htdiget
    chown www-data.www-data /etc/apache2.htdigest

    /etc/init.d/apache2 restart

    http://localhost/trac 테스트!



    dawnsea
    2011/05/20 12:25 2011/05/20 12:25
    tag : 리눅스
    댓글 / 엮인글 / HanRSS 구독
    엮인글 주소 :: http://keeptalk.cafe24.com/tc/trackback/2592

    커널에서 모듈 빌드만 빨리 하기.
    2011/05/19 19:36


    fast kernel module build

    커널이 비대해지니까 정말 지친다.

    make modules 등등으로 힘들긴 마찬가지다..
    임베디드 커널 다룰 땐 괜찮았지만..
    데탑으로 들어오니까 빡치다.

    make menuconfig 로 하나씩 지우다 하나라도 실수하면,
    재빌드해야 하는 문제도 있다 -_-;

    인생의 1/3은 똥싸고 밥먹는데 소모하고..
    인생의 1/3은 와우하는데..
    인생의 1/3은 빌드하는데 쓰자는거냐..

    사실 커널 2.2 시절에는 빌드 단축을 위해서 *.o 파일을 제외한,
    모든 디렉토리를 삭제하는 방법이 가장 쉬운 빌드 시간 단축 방법이었다.
     
    디렉토리 인 아웃이 은근 속도를 엄청 잡아 먹는다.
    파일 시스템 공부 해 본 사람은 이유를 알 꺼임..

    게다가 디렉토리 들어가서 체크하고 나오고..
    에 여튼... 아 몰라..

    커널 모듈 빌드만 따로 획기적으로 더 빠르게 하는 방법..

    정답 : 리드더뻐킹매뉴얼.

    ..쏘리.. 그게 아이고..


    apt-get source linux-image ..  $(uname -r)을 달아도 됨..
    apt-get install linux-headers..

    다 깐다.

    /lib/modules/2.6.35. .../build 가 잘 살아 있나 본다.

    원래는 헤더만 있어도 된다.

    새로 모듈을 만들어보자.

    커널 디렉토리 아무 곳에서나 커널 모듈을 하나 짠다.

    mkdir test

    vim hello.c



    Makefile을 만든다.



    all:
            make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules

    clean:
            make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean
                                                                          

    make 하면 잘 된다.


    만약 ext3 같은 것을 빌드하려고 하면 에러가 난다.
    linux header가 불완전하기 때문이다.
    /lib/modules/2.6.35.../build 의 심볼릭 링크를 지운 후, 현재 사용하고 있는 커널 소스에 링크시킨다.
    이 커널 소스는 풀커널 소스다.

    이래저래 귀찮으면 커널 소스를 우분투의 오리지널 경로인 /build/buildd/linux ... 로 복사해둔다.
    그러면 /lib/modules/.../build/source 의 심볼릭 링크가 정상적으로 붙는다.

    이제 make 하면 잘 된다.
    만약 안 된다면 전체 빌드를 한 번 수행한 후 한다. (스크래치 머신에서 실행해 봤는데 필요없다.)
    잘 될 것이다.

    이렇게 ext3 에서 실험 결과 잘 된다.
    ext3 를 복사하여 uccfs 라는 파일 시스템을 만들었다.

    Makefile


    PWD = $(shell pwd)

    obj-m += uccfs.o

    uccfs-y := balloc.o bitmap.o dir.o file.o fsync.o ialloc.o inode.o \
               ioctl.o namei.o super.o symlink.o hash.o resize.o ext3_jbd.o

    uccfs-$(CONFIG_EXT3_FS_XATTR)    += xattr.o xattr_user.o xattr_trusted.o
    uccfs-$(CONFIG_EXT3_FS_POSIX_ACL) += acl.o
    uccfs-$(CONFIG_EXT3_FS_SECURITY)         += xattr_security.o

    all:
            make -C /lib/modules/2.6.38-8-generic/build M=$(PWD) modules

    clean:
            make -c /lib/modules/2.6.38-8-generic/build M=$(PWD) clean


    /include/linux/magic.h 를 까서 EXT3_SUPER_MAGIC 대신 UCCFS 를 하나 등록한다.
    /fs/uccfs/super.c 를 까서 위 상수를 내 것으로 다 고친다.
    /fs/uccfs/ext3_fs_type를 내 것으로 고치고 다 고친다.

    .. 에 이상..

    dawnsea
    2011/05/19 19:36 2011/05/19 19:36
    tag : 리눅스
    댓글 / 엮인글 / HanRSS 구독
    엮인글 주소 :: http://keeptalk.cafe24.com/tc/trackback/2591

    데스크탑 유지하면서 리눅스 커널 실험.
    2011/05/17 10:05
    linux kernel build



    요즘 커널에 이런저런 해킹을 하는 것은 버츄얼 박스로 하는 편..
    나는 데스크탑이라서.. 낭패 -_-;

    지금 환경을 그대로 유지하면서 빌드하는 것이 중요함..

    커널 빌드를 자주 하는 것이 아닌데..
    할 때마다 내용이 조금씩 다른 편..

    make-kpkg 를 쓰면 할 때마다 오래 걸려서 불편..

    apt-get source linux-image-$(uname -r)

    cp /boot/config ... ./linux-2.6.35/.config

    커널 디렉토리에서

    make
    make modules_install
    make install
    mkinitramfs -o /boot/initrd.img-2.6.35.11

    여기까지 완료하고 부팅하면 콘솔까지는 뜸.

    nvidia 가서 소스 다운로드 받음.
    NVIDIA ... run 파일 실행.

    리부팅..

    X까지 잘 뜸..

    dawnsea
    2011/05/17 10:05 2011/05/17 10:05
    tag : 리눅스
    댓글 / 엮인글 / HanRSS 구독
    엮인글 주소 :: http://keeptalk.cafe24.com/tc/trackback/2590

    리눅스 커널 패치
    2011/05/16 10:49

    linux kernel patch


    우분투 레파짓에서 커널 소스를 받으면.

    오리지널 커널과 diff 가 나온다.
    각각 압축을 풀고
    diff 파일을 리눅스 디렉토리에 넣고

    patch -p1 < ....diff



    우분투에서는 에라 나도 몰라..

    apt-get install linux-source

    들어가서 make, make install 하면 땡인 듯..
    grub 등록까지 해주나..

    잘 몰갔으면.. grub-mkconfig > grub.cfg 한 후.. /boot/grub/에 복사..
    부팅 안 되도 책임 안 짐;;
    dawnsea
    2011/05/16 10:49 2011/05/16 10:49
    tag : 리눅스, 컴퓨팅팁
    댓글 / 엮인글 / HanRSS 구독
    엮인글 주소 :: http://keeptalk.cafe24.com/tc/trackback/2589

    glibc build 정리 중..
    2011/05/06 17:23



    일단 받자.
    가급적 LFS의 가르침을 따르자..


    1. 리눅스 커널 헤더 준비..

    귀찮으면 걍 복사... 심볼릭 링크가 정답임..

    /usr/src/linux-headers-2.6.38-8 에서
    ./include/linux 를 /usr/include 로 복사
    ./include/asm-generic 을 /usr/include로 복사
    ./arch/x87/include/asm 을 /usr/include로 복사



    2. glibc 받자
    http://ftp.gnu.org/pub/pub/gnu/glibc/


    3. 빈 디렉토리 2개 생성 (make 할 곳, 설치할 곳)

    4. 빈 디렉토리에서 glibc 압축 푼 곳 지정하여 configure
    예)/root/home/glibc-2.13/configure

    5. 에러나면 gawk 설치 apt-get install gawk

    6. make

    7. 에러나면 패치 / http://www.linuxfromscratch.org/patches/lfs/development/glibc-2.13-gcc_fix-1.patch
    .. 패치 파일 안에 2.11 에 맞춰져 있음.. 손으로 수정하던가.. 패치 파일 고쳐서 패치. patch -p0 < .. patch 등.




    8. make


    9. make check 중에 에러남..


    10. make install 이거 무서움.. 버츄얼 박스 깔고 다시 해 볼 것..




    dawnsea
    2011/05/06 17:23 2011/05/06 17:23
    tag : 리눅스, 임베디드
    댓글.2 / 엮인글 / HanRSS 구독
    엮인글 주소 :: http://keeptalk.cafe24.com/tc/trackback/2586
    1. dawnsea 2011/05/06 17:58  X  O

      패치를 했던가 안 했던가..
      http://sourceware.org/bugzilla/attachm ··· n%3Dview

    2. dawnsea 2011/05/15 21:38  X  O

      SPECS=`dirname $(gcc -print-libgcc-file-name)`/specs gcc -dumpspecs | sed \ -e 's@/lib\(64\)\?/ld@/glibc&@g' \ -e "/^\*cpp:$/{n;s,$, -isystem /glibc/include,}" > $SPECS echo "New specs file is: $SPECS"
      gcc -specs=/specs -o a a.c
      ldd a
      readelf -l a

      마무리 완료

    gcc 4.6 build 하기.
    2011/05/06 11:43


    옛날엔 어떻게 했는지 기억도 안 나고..



    해야 할 일이 있어서 해봤다.
    크로스 빌드가 아니라 걍 하면 되는듯.

    하는 법 : 매뉴얼 보고 하면 된다. 끗.




    .
    .
    .

    매뉴얼 보기 귀찮은 사람은..

    1. 매뉴얼 / http://gcc.gnu.org/install/

    2. 4.6 다운로드 / http://ftp.gnu.org/pub/pub/gnu/gcc/
    ; 참고 / svn 으로 다운로드 받으면 천년 걸림... -_-;

    3. ./configure 하면 에러난다.

    4. ftp://gcc.gnu.org/pub/gcc/infrastructure/ 방문한다.

    5. gmp, 4.3.2 다운로드
    ./configure
    make
    make check
    make install

    6. mpfr 2.4.2 다운로드
    ./configure
    make
    make check
    make install

    7. mpc-0.8.1 다운로드
    ./configure
    make
    make check
    make install

    8. 에러나면 ldconfig 한 번 때려본다. /etc/ld.so.conf 에 자료만 추가되고 ldconfig 명령이 실행이 안 된 것 같다.

    9. gcc 디렉토리로 들어가서 다시 ./configure, make make install 한다.

    끗.

    참고 / 크로스 빌드는 케겔운동 부터 시작하자 / http://www.kegel.com/crosstool/



    linux from scratch
    http://www.linuxfromscratch.org/lfs/vi ··· dex.html


    glibc 의 모든 것
    http://www.gnu.org/s/hello/manual/libc/index.html#Top

    LFS w-get 하기
    http://www.linuxfromscratch.org/lfs/view/development/w붙여쓰자get-list
    dawnsea
    2011/05/06 11:43 2011/05/06 11:43
    tag : 리눅스, 임베디드, 컴퓨팅팁, 프로그래밍
    댓글. 1 / 엮인글 / HanRSS 구독
    엮인글 주소 :: http://keeptalk.cafe24.com/tc/trackback/2584
    1. dawnsea 2011/05/11 13:59  X  O

      m4 에러나면 apt-get install m4

      m4 못 찾으면 미러를 daum으로 변경한다.

    우분투에서 벅스 사용하기.
    2011/04/01 17:48


    크롬, 파이어폭스에서 공히 잘 된다.
    다운로드를 받아야 하면 어도비 air를 깔아야 하는데..
    이게 좀 문제 있다.

    http://get.adobe.com/kr/air/?promoid=BUIGQ


    직접 air를 설치한 후 다운로드 매니저를 설치하면 된다.
    태스트 결과 잘 됨.
    dawnsea
    2011/04/01 17:48 2011/04/01 17:48
    tag : 리눅스, 컴퓨팅
    댓글 / 엮인글 / HanRSS 구독
    엮인글 주소 :: http://keeptalk.cafe24.com/tc/trackback/2569

    SVN Store password unencrypted (yes/no)?
    2011/03/30 16:51


    svn 처음 깔고...
    콘솔에서 커밋하다가...

    Store password unencrypted (yes/no)?

    라고 나오는데 yes, no 아무 것도 안 먹으면...
    "대운하 반대"를 4번 외친 후...



    ~/.subversion/servers 를 열어서,
    # store-passwords = no 의 주석을 해제하면 된다..






    svn commit -m 메시지 안 하고 svn commit 시,
    자꾸 지랄맞은 nano 에디터가 뜬다면 다음과 같이 수정한다.

    vim ~/.bashrc 열어서

    SVN_EDITOR=/usr/bin/vim
    export SVN_EDITOR



    * * *


    인증이 없으면 체크아웃도 없다!

    conf/svnserver.conf 를 열어서

    anon-access = none  ... none 으로 변경!


    dawnsea
    2011/03/30 16:51 2011/03/30 16:51
    tag : 리눅스, 임베디드
    댓글 / 엮인글 / HanRSS 구독
    엮인글 주소 :: http://keeptalk.cafe24.com/tc/trackback/2567

    우분투 시작 프로그램 등록.
    2011/03/30 13:38


    ubuntu start script

    /etc/init.d/ 에 시작 스크립트를 넣는다.
    실행권한을 주고,

    update-rc.d svnstart defaults 98 02
    이렇게 하면 땡.

    dawnsea
    2011/03/30 13:38 2011/03/30 13:38
    tag : 리눅스
    댓글. 1 / 엮인글 / HanRSS 구독
    엮인글 주소 :: http://keeptalk.cafe24.com/tc/trackback/2565
    1. dawnsea 2011/05/20 11:30  X  O

      예를 들어 시작 스크립트를
      #!/bin/bash
      svnserver -d -r /home/svn

      이라고 작성했다면..

      update-rd.d svnstart defaults 라고 쓰면 됩니다.

    우분투에서 tortoise 처럼 svn 쓰기, nautilus 확장
    2011/03/30 13:33


    ubuntu, svn, tortoise.

    윈도우에 거북이가 있다면,
    리눅스에는 토끼가 있구나;;;;

    요즘은 머큐리얼이 대세라는데...
    일단 svn + trac 조합을 쓰니깐.. 대충 써봅시다.


    http://www.rabbitvcs.org/


    환장하게 편리함. rabbit svn 등의 툴과는 다른 우클릭 툴이다.
    우클릭으로 tortoise에서 하던 대부분의 작업을 할 수 있다.

    근데 막상 깔아놓고 보면... 습관적으로 터미널로 작업을 하고 있는 나의 모습;;
    마우스는 어깨가 아프죠.


    그러니까...


    노틸러스에 터미널 오픈을 붙여보자.

    apt-get install nautilus-open-terminal

    이제 노틸러스로 터미널 오픈을 할 수 있다;;
    그러나 나도 모르게 터미널로 작업을 하고 있는... 자동반사..

    ctrl+alt+t 키를 눌러보자. 터미널이 무릎과 무릎사이 팍팍팍...



    노틸러스 기능 확장들은 반드시 그놈을 재시작해야 동작한다.



    nautilus-image-converter 를 설치하면 노틸러스에 그림 파일 리사이즈도 할 수 있다.



    dawnsea
    2011/03/30 13:33 2011/03/30 13:33
    tag : 리눅스, 임베디드
    댓글 / 엮인글 / HanRSS 구독
    엮인글 주소 :: http://keeptalk.cafe24.com/tc/trackback/2564

    다음
    이전

    1 2 3 4 5 ... 7
    dawnsea’s Blog is powered by Textcube 1.8.5 : Accelerando / Designed by dawnsea / rss feed / A1503552.T400.Y764