2012년 3월 18일 일요일

커널 컴파일 후 에도 grub 메뉴에 추가 되지 않았을 때


커널 컴파일 후 에도 grub 목록에 추가 되지 않았을 때..
혹은 커널 컴파일 후 initrd 이미지가 생성되지 않았을때 해결방법

initrd 이미지가 생성이 되지 않으면
update-grub 혹은 update-grub2를 실행해도
/boot/grub/grub.cfg에 추가 되지 않는다.
이것 때문에.. 5일 정도 삽질함.. ㅡㅡ;; 검색해도 계속 딴 말만 나오고..

됐고!!

이렇게 해서 해결했다. 물론 환경에 따라 달라질 수 도 있습니다~

관련 스크립트 수동 복사
$sudo cp /usr/share/kernel-package/examples/etc/kernel/postinst.d/initramfs /etc/kernel/postinst.d/
$sudo cp /usr/share/kernel-package/examples/etc/kernel/postrm.d/initramfs /etc/kernel/postrm.d

$sudo update-initramfs -c -k 2.6.32.58
 : 2.6.32.58은 /lib/modules/ 에 있는 폴더명 대로 해주거나 위 명령어 오류시 해당 위치에 모듈이 없다고 메시지가 나오니 참조하면 된다.

/boot/grub/grub.cfg 에서 컴파일된 버전이 menuentry에 추가 되어 있는지 확인한다.

아래 링크 참조
http://ubuntu.or.kr/viewtopic.php?p=52374

커널 컴파일

다운로드
http://www.kernel.org

컴파일
http://blog.daum.net/snbosoft/6

2012년 3월 4일 일요일

ext2 파일 복구 [펌글]

http://wiki.kldp.org/wiki.php/DocbookSgml/Ext2fs-Undeletion-Dir-Struct

ext2 파일 시스템 만들고 마운트[펌글]

http://www.joinc.co.kr/modules/moniwiki/wiki.php/ext2

아래링크에서 dd 명령어로 덤프 이미지 만들때 크기를 50k로 해서 생성한다.
그렇지 않으면 fat파일시스템으로 만들때 오류!
http://www.troot.co.kr/tc/2067

리눅스 파일 시스템
http://www.ibm.com/developerworks/kr/library/l-linux-filesystem/

파일 시스템 분석
http://secuworld.blogspot.com/2009/05/unix-%EB%AA%85%EB%A0%B9%EC%96%B4%EB%A1%9C-%ED%95%98%EB%93%9C-%EC%9D%B4%EB%AF%B8%EC%A7%80-%EC%88%98%EB%8F%99%EC%9C%BC%EB%A1%9C-%EC%83%9D%EC%84%B1%ED%95%98%EA%B8%B0.html

아래는 위 링크 복사한 자료입니다.


Unix 명령어로 하드 이미지 수동으로 생성하기.

파일 시스템(FAT, NTFS, EXT, etc,.) 공부 할 때 실제로 하드디스크를 물리적으로 PC 에 연결하여 일일이 포멧(Format) 하고 덤프뜬 이미지를 사용한다면 여간 번거러운 일이 안일것이다.
Unix 계열의 OS 에서는 쉽게 장치 이미지를 생성하여 마운트(Mount) 시킬 수 있다. 이번 글에서는 이러한 이미지를 만드는데 필요한 일련의 명령어를 통해 얻을 수 있다.

그리고 아래에서 사용되는 fsstat, istat 등의 프로그램을 얻기 위해서는 sleutkit 을 설치하여야 하는데, http://www.sleuthkit.org/ 여기에 Unix 용과 Windows 설치 파일이 존제하며 Unix 용으로 mac os x 에서 컴파일이 잘 된다.



// 우선 dd 를 이용하여 만들고 싶은 크기만큼의 Null 파일을 생성한다.

// 이렇게 생성된 파일은 단지 Null 로만 채워진 파일이다.
$> dd if=/dev/zero of=hard.dd bs=1024 count=20000
// 따라서 이런 파일을 장치로 인식시켜야 하는데,
// 먼저 현재 시스템이 사용중인 장치이름을 아래의 명령어로 확인한다.
$> losetup -a

// 내가 사용할 장치 즉, 비어있는 장치이름을 아래 명령어로도 얻을 수 있다.
$> losetup -f

// 이렇게 장치명이 결정되었으면
// 현재 Null 파일인 파일을 디바이스로 인식시키기 위한 포멧으로 변경한다.
$> losetup /dev/loop5 hard.dd

// 그리고 여기서는 ext2 형식으로 파일 시스템을 포멧(format) 한다.
// 다른 파일시스템을 원할 경우 지원하는 다른 형식의 파일시스템으로 포멧 하면된다.
$> mkfs.ext2 /dev/loop5

// 임의의 폴더를 생성하고
$> mkdir hard

// 이미지 파일을 임의의 폴더에 마운트(mount) 한다.
$> mount -o loop hard.dd ./hard

// 이렇게 준비가 모두 끝났다면, 하드 디스크의 정보를 출력하여 확인한다.
$> fsstat /dev/loop5

// 이제부터는 해당 파일 시스템을 분석하면 된다.
// 위에서 포멧한 ext2 파일 시스템의 Root Directory Node 정보를 아래와 같은 명령어를 사용하여 출력할 수 있다.
$> istat hard.dd 2

2012년 2월 18일 토요일

Go Lang 설치

Go를 설치하기 위한 다른 프로그램 설치는 아래 링크에서..
http://code.google.com/p/golang-korea/wiki/GoInstall

Go를 다운 받은 후 인스톨 및 리눅스 환경설정은 아래 링크에서..
http://ggogun.tistory.com/category/Programming

2012년 2월 4일 토요일

우분투 한글입력기 설정

sudo apt-get install nabi

그리고 로그아웃 했다가 다시 로그인 하면 쫘자잔~~~