1. 커널 다운
2. 압축 풀기

# tar xvfz linux-2.6.29.4.tar.gz


3. 압축 푼 커널 이동

# mv linux-2.6.29.4 /usr/src

4. 압축 해제된 디렉토리로 이동

#  cd /usr/src/linux-2.6.29.4
 
5. 이전 오브젝트 파일 삭제 
 
# make mrproper

6. 환경 설정

# make menuconfig 

7. 컴파일
- /usr/src/linux-2.6.29.4/arch/i686/boot 디렉토리에 bzImage를 생성하는 커널 컴파일 과정 수행
-  make dep, clean, bzImage 명령을 make 명령어로 한번에 처리

# make
 
8. 모듈 설정
- make menuconfig 환경설정에서 (M)로 선택한 모듈 부분을 커널 내부 구성요소에게 알려주고 그 구성요소들이 사용될 때 Auto kenel 적재가능하게 설정

# make modules
 
9. 모듈 설치
- 8번 단계에서 설정한 대로 설치

#make modules_install

10.
 - 자동으로 /boot 디렉토리에 initrd-2.6.18.img, vmlinux-2.6.18 파일들을 생성하고 이동시킨다.
 - 예전의 2.4.x 커널 컴파일 방식보다 매우 편리하고 간단하게 커널컴파일 과정을 할 수 있다. 또한 /boot/grub/grub.conf 혹은 menu.list 파일을 자동으로 변경해주어 따로 부트로더 설정할 필요가 없어졌다.

#make install

11. 재부팅
# reboot

'Education > Linux Kernel' 카테고리의 다른 글

커널 소스 트리  (0) 2009.11.18
root passwd  (0) 2009.10.28
명령어  (0) 2009.10.28
Samba 설치  (0) 2009.09.24
root 계정  (0) 2009.09.07
Posted by 초상큼발랄
l

root 계정

1. Login in as a regular user

# vi /etc/pam.d/gdm

2. Remove or comment out

# auth required pam_succeed_if.so user != root quiet

3. Save and close

4. In Fedora 11, follow the cource of top

# vi /etc/pam.d/gdm-password

-> Remove or commet out  " # auth required pam_succeed_if.so user != root quiet "

'Education > Linux Kernel' 카테고리의 다른 글

커널 소스 트리  (0) 2009.11.18
root passwd  (0) 2009.10.28
명령어  (0) 2009.10.28
Samba 설치  (0) 2009.09.24
Fedora11 ( linux-2.6.29.4 ) Compile 과정  (0) 2009.09.07
Posted by 초상큼발랄
l

<foo.h>

  #ifndef __FOO_H_
  #define __FOO_H_
  
  #include <QObject>
  
  class Foo : public QObject
  {
      Q_OBJECT
  
      public:
          Foo() {}
          int value() const { return val; }
  
          public slots:
              void setValue(int v)
              {
                  if(v != val)
                  {
                      val = v;
                      emit valueChanged(v);
                  }
              }
  
      signals:
          void valueChanged(int);
  
      private:
          int val;
  };
  
  #endif


<foo.cpp>        

  #include <QApplication>
  #include <iostream>
  
  using namespace std;
  
  #include "foo.h"
  
  int main(int argc, char ** argv)
  {
      QApplication app(argc, argv);
      Foo a,b;
      int ret;
  
      QObject::connect(&a, SIGNAL(valueChanged(int)), &b, SLOT(setValue(int)));
      b.setValue(11);
      a.setValue(79);
      ret = b.value();
  
      cout << ret << endl;
  
      return 0;
  }       



-> 출력 79

'Education > QT programming' 카테고리의 다른 글

madplayer  (4) 2009.11.04
mount  (7) 2009.11.03
QT designer 4  (0) 2009.09.04
Posted by 초상큼발랄
l