2011년 9월 1일.


요즘 메모리(램,RAM)값이 매우 싸진데다, 회사 직원분들이 맥북에 램을 8G로 업그레이드 하는 모습을 보고 저도 제 노트북에 메모리(램,RAM)을 8G를 끼우게 되었습니다.

제 노트북에 컴파일 작업 및 VM으로 리눅스 사용등 메모리를 많이 차지 하는 작업을 많이 하기 때문에 메모리(램,RAM) 4G로는 매우 부족하더군요.

그루폰 코리아에 계신 모 분께선 "맥북프로쓰는 남자는 RAM 8G, SSD를 달아야죠!"라고 주장하는걸 계속 듣다보니... 어느덧 신용카드로 4G짜리 메모리(램,RAM) 2개(DDR3-1066Mhz)를 긁었군요. @.@

9월 3일 토요일에 주문한 메모리(램,RAM)(DDR3-1066Mhz, 4G*2)이 도착했다만, 벌초를 다녀와서 팔이 힘이 없는데다, 너무 피곤해서 교체는 못했습니다...

9월 3일 맥북프로에 끼워놓을 4G 2개의 램이 도착하였습니다.
맥북프로위에 은박지로 덮힌 4G 2개의 램. 아름다운 자태입니다. 맥북프로에 끼어놓으면 3배(?) 빨라질것 같은 느낌? ㅎㅎ

2011년 9월 6일.

5일엔 회식때문에 맥북프로에 메모리(램,RAM) 교체를 못했다만, 6일 밤, 집에 도착하여 도착한 메모리(램,RAM)(DDR3-1066Mhz 4G*2) 2개를 맥북프로에 이미 끼워진 램과 교체를 하였습니다.

맥북프로에서 메모리(램,RAM) 교체하는 방법은 아래 링크와 동영상을 보고 따라하면 됩니다.


13" Unibody MacBook Pro RAM Upgrade



저도 아래의 사진과 같이, 드라이버를 이용하여 나사를 풀고, 맥북프로 하단 덮개를 열었습니다.

맥북프로의 속살(?!)이 공개되는 순간입니다. (하앍하앍 - 틀려!)

아래 사진을 보면 메모리(램,RAM), 하드디스크, 배터리, DVD-RW, 팬쿨러가 보이군요.

맥북프로의 속살 아니 내부 모습

메모리(램,RAM)을 교체하려고 기존의 메모리(램,RAM)을 꺼냈더니 Hynix에서 제조한 2G짜리 램 2개가 끼워졌더군요. 전 삼성에서 제조한 4G짜리 메모리(램,RAM) 2개로 교체합니다.

Hynix메모리와 삼성 메모리 - 대한민국제(Made in Korea) 메모리(RAM)이 전세계적으로 유명하다는 증거?
교체 후 부팅한 후, 메모리(램,RAM) 8G로 업그레이드 한 것을 확인하였습니다.

아직까지 Mac OSX 10.7 Lion으로 업그레이드할 생각은 안하네요 @.@

램 추가 후 패러랠즈로 Windows와 Ubuntu Linux를 띄어보니 컴퓨터 성능이 좋아진 것같아요. 그리고 컴파일 작업할때도 빨리 되구요. >.< 

이제 조만간 하드디스크 업그레이드도 검토중에 있습니다.

아직까진 SSD에 대한 검증이 덜끝났고 용량이 작다는 생각으로 1TB하드디스크로 교체할까 고민되네요. (신용카드무서운줄 모르다 파산하라;; -ㅁ-)


Buy me a coffeeBuy me a coffee



이번 놀고 있는 연구실 컴퓨터에 있는 Cent OS에 있는 커널 버전이 낮은 관계에다 평소에 많은 자원들을 사용하지 않기때문에 커널 컴파일을 하게 되었다.

현재, 이 글을 쓰고 있는 시점에서 Cent OS 5.5 커널 버전은 2.6.18대이다. (현재 커널 버전과 차이가 많이 남)


[root@localhost ~]$ cat /proc/version

Linux version 2.6.18-194.8.1.el5 (mockbuild@builder17.centos.org) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-48)) #1 SMP Thu Jul 1 19:07:06 EDT 2010

[root@localhost ~]$


또는 uname -a 로 현재 커널 버전을 알 수 있다.


[root@localhost linux-2.6.35]# uname -a

Linux localhost 2.6.18-194.8.1.el5 #1 SMP Thu Jul 1 19:07:06 EDT 2010 i686 i686 i386 GNU/Linux

[root@localhost ~]$


현재, 리눅스 커널 정보를 알아보려면 finger @ftp.kernel.org 로 알수 있다.


[studioego@localhost ~]$ finger @ftp.kernel.org

The latest linux-next version of the Linux kernel is:         next-20100816

The latest mainline 2.6 version of the Linux kernel is:       2.6.36-rc1

The latest snapshot 2.6 version of the Linux kernel is:       2.6.35-git17

The latest stable 2.6.35 version of the Linux kernel is:      2.6.35.2

The latest stable 2.6.34 version of the Linux kernel is:      2.6.34.4

The latest stable 2.6.33 version of the Linux kernel is:      2.6.33.7

The latest stable 2.6.32 version of the Linux kernel is:      2.6.32.19

The latest stable 2.6.31 version of the Linux kernel is:      2.6.31.14

The latest stable 2.6.27 version of the Linux kernel is:      2.6.27.51

[studioego@localhost ~]$


저는 위에서 안정화된 버전중에서 최신버전인 2.6.35.2 를 받아 설치하게 되었습니다.

커널은 git을 받아 설치하게 되었다.


[root@localhost src]# pwd

/usr/src

[root@localhost src]# git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-2.6.35.y.git linux-2.6.35


커널을 받고 나선 make menuconfig && make modules && make modules_install && make headers_install &&  make install 로 설치를 하였습니다.

아래와같이 make install을 하고 나서 아래와 같이 bzImage를 /boot 로 복사를 하고 grub에 이미지를 생성합니다. 이제 커널 컴파일이 끝나고 컴파일된 커널을 사용하게 되었습니다.


[root@localhost linux-2.6.35]# make install

sh /usr/src/linux-2.6.35/arch/x86/boot/install.sh 2.6.35.2 arch/x86/boot/bzImage \

                System.map "/boot"

[root@localhost linux-2.6.35]#



그러나 재부팅후에 아래와 같은 커널 패닉이 생겼다.


insmod: error inserting '/lib/dm-region-hash.ko': -1 File exists

Reading all physical volumes. This may take a while....

Volume group "VolGroup00" not found

mount: Could not find filesystem '/dev/root" 

setuproot: moving /dev failed

setuproot: error mounting /proc failed

setuproot: error mounting /sys failed

kernel panic - not syncing Attemped to kill init!

Pid:1, comm: init not tained 2.6.35.2 #1

(...)


커널 패닉이 일어나서 멸망하였습니다.


참고: CentOS 5.4: installing new kernel 2.6.32.9 guide http://funky-dennis.livejournal.com/3290.html 

위의 문제를 해결하기 위해 위의 내용을 보고 삽질한 끝에, 다시 컴파일 초기화 후, .config파일 불려들여 컴파일을 하게 함.

[root@localhost linux-2.6.35]# make clean

[root@localhost linux-2.6.35]# make mrproper

[root@localhost linux-2.6.35]# cp /boot/config-현재커널 버전 ./.config

[root@localhost linux-2.6.35]# make menuconfig


현재 구동중인 커널의 환경정보를 기준으로 커널을 컴파일 하기 위하여 cp /boot/config-현재커널 버전 ./.config 를 함

메뉴 하단에 Load an Al ternate Configuration File을 선택하였다.

.config 파일이 입력되어 있는데, 이를 선택하여 현재 커널 환경을 불러들였음.

이후 General Setup ---> enable deprecated sysfs features which may confuse old usersp 를 Y키를 눌러 *로 활성화 시킨다.

이후 저장하여 메뉴 환경 설정 메뉴에서 저장하고 나왔음

컴파일 완료 재부팅을 하니 좋은 결과가 나왔음.


[root@localhost src]# cat /proc/version

Linux version 2.6.35.2 (root@localhost) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-48)) #1 SMP Tue Aug 17 02:26:27 KST 2010

[root@localhost src]# uname -a

Linux localhost 2.6.35.2 #1 SMP Tue Aug 17 02:26:27 KST 2010 i686 i686 i386 GNU/Linux

[root@localhost src]#

그러나 문제가 생김. 2.6.35에서 kernel BUG at arch/x86/mm/highmem_32.c:45

highmem_32.c 의 45번째줄에서 메모리를 잘못 참조하는 에러가 나옵니다. 

2.6.35.2를 사용하다 보니 아래와 같은 메시지가 뜨면서 Kernel Panic이 일어납니다.


Message from syslogd@ at Tue Aug 17 15:04:27 2010 ...

localhost kernel: ------------[ cut here ]------------


Message from syslogd@ at Tue Aug 17 15:04:27 2010 ...

localhost kernel: invalid opcode: 0000 [#2] SMP


Message from syslogd@ at Tue Aug 17 15:04:27 2010 ...

localhost kernel: last sysfs file: /sys/devices/pci0000:00/0000:00:1c.3/0000:02:00.0/irq


Message from syslogd@ at Tue Aug 17 15:04:28 2010 ...

localhost kernel: Process sh (pid: 3941, ti=f51c8000 task=f6b936c0 task.ti=f51c8000)


Message from syslogd@ at Tue Aug 17 15:04:28 2010 ...

localhost kernel: Stack:


Message from syslogd@ at Tue Aug 17 15:04:28 2010 ...

localhost kernel: Call Trace:


Message from syslogd@ at Tue Aug 17 15:04:28 2010 ...

localhost kernel: Code: e8 57 98 06 00 8b 0d 00 b0 8c c0 64 a1 a4 ef 8a c0 6b c0 29 8b 15 ac 62 81 c0 8d 2c 30 8d 04 ad 00 00 00 00 29 c1 83 39 00 74 04 <0f> 0b eb fe 89 f8 83 e7 01 8b 35 00 31 92 c0 74 13 23 05 ac 4a


Message from syslogd@ at Tue Aug 17 15:04:28 2010 ...

localhost kernel: EIP: [<c0420638>] kmap_atomic_prot+0x6e/0xad SS:ESP 0068:f51c8ea8


Broadcast message from root (pts/1) (Tue Aug 17 15:21:20 2010):


The system is going down for reboot NOW!



결국은 이 문제가 해결 못한것을 알고, 이전 커널 버전인 2.6.27로 다시 컴파일 해서 설치하였습니다.


다시 2.6.27을 받아 설치 


[root@localhost src]# git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-2.6.27.y.git linux-2.6.27

위와 같이 

[root@localhost linux-2.6.27]# cp /boot/config-현재커널 버전 ./.config

[root@localhost linux-2.6.27]# make menuconfig

그리고 나서 .config파일 불러들여 저장후

[root@localhost linux-2.6.27]# CONCURRENCY_LEVEL=3 make && make modules && make modules_install && make headers_install &&  make install

컴파일을 하였습니다.


(...)

sh /usr/src/linux-2.6.27/arch/x86/boot/install.sh 2.6.27.51 arch/x86/boot/bzImage System.map "/boot"

이 나오고 Linux 2.6.27의 컴파일이 완료하였습니다. 이후 재부팅을 하였습니다.


[root@localhost linux-2.6.27]# reboot



결과, 성공!

[root@localhost ~]# uname -a

Linux localhost 2.6.27.51 #1 SMP Tue Aug 17 17:32:26 KST 2010 i686 i686 i386 GNU/Linux

[root@localhost ~]# cat /proc/version

Linux version 2.6.27.51 (root@localhost) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-48)) #1 SMP Tue Aug 17 17:32:26 KST 2010

[root@localhost ~]#


Linux Kernel 2.6.27.51 로 간신히 올렸음 -_-;;


오늘의 교훈: 최신 버전이라고 다 좋은 것도 아님. 아주 최신 버전에서 버그가 나올 수 있다.



Buy me a coffeeBuy me a coffee



제주도에 숙소를 정하다 보니 어디서 제주 올레를 걸어볼까 이런 생각을 해보았습니다. 

제주 올레를 어디쪽으로 갈까에 대한 정확한 정보는 제주올레 홈페이지에 있더라군요.

무적전설(박성기)형님께 제주도 어디에 숙소 잡을까에 대해 물어보니 아래와 같이 답변을 주더군요.

무적전설(박성기)형님이 말한 서귀포쪽 숙소를 알아보려고 하니 이미 예약이 꽉 차 있었고, 12~15코스쪽은 별로 내키지도 않았지요.

그러다가 1~3코스부터 가봐야되지 않을까 이런 생각이 들면서 1~3코스쪽 숙소 예약을 하기로 하였습니다. (의도하지도 않게 무적전설(박성기)형님이 있는 곳과 약간 먼 곳에 숙소를 잡게 되었답니다^^)

2009년 12월 29일~1월 1일 일정에서 마지막 12월 31일과 1월 1일은 2009년 마지막 일몰과 2010년 첫 일출을 볼 생각을 해보자고 생각하니 결정할 곳이 1~3코스밖에 없었더랍니다^^

숙소 예약을 하려고 하니 원하는 민박집들은 예약이 꽉 찼다고 하였고, 그나마 자리 잡은 곳은 제주특별자치도 제주시 구좌읍 월정리에 있는 소낭 게스트하우스였습니다.


숙소를 예약하고 나선 일정을 확실하게 잡았지요,


2009년 12월 29일은 제주 올레 1~2코스탐방 
2009년 12월 30일은 서귀포시내쪽 6~7코스 탐방,
2009년 12월 31일은 우도탐방 및 일몰광경,
2010년 1월 1일은 일출광경보고 서울가기


일정을 잡고 나선 드디어 여행갈 짐을 쌌습니다.


제주도갈때 가져갈 볼펜, 수..
제주도갈때 가져갈 볼펜, 수.. by StudioEgo 저작자 표시비영리동일조건 변경허락

의도하지 않은 다음 수첩, 다음 볼펜, 제주여행 지도, 우비, 휴대폰배터리, 디카 배터리, 디지털카메라, 겉옷들, 속옷들등과 올레걷다 출출할때 먹어야 하는 주전부리와 음료도 준비를 하였습니다.

이제는 짐을 다 싸고 김포공항에 갈 준비만 하고있습니다.

다음 여행기는 제주 여행을 하고 나서 모두 올리겠습니다.

Buy me a coffeeBuy me a coffee

+ Recent posts