나의 꿈 리눅스

기타 2009. 12. 12. 01:26

콘솔에 메시지 촤자작 뿌려대며
나의 접속을 기다리던 로그인.

무엇이나 할 수 있을 것 같던
캄캄한 화면 안 홀로 빛나던 프롬프트.

Openbox,
Fluxbox,
그밖의 모든

리눅스만의 날렵했던 창관리자.
결코 뻗지 않을 것같던, 강철의 X 윈도.

Thunar, scim, gmrun 그리고
날개가 되어준 애플리케이션들.

불여우 한 마리가 데려다준, 개방과 가능성의 월드 와이드 웹.

전 세계에서 솟아나던, 자유로운 정보와 지식들.
코드들.
사람들.
꿈들.


Posted by 猫한 보스코
,

맥북 리눅스

리눅스 2009. 4. 1. 21:54

전원 관리는 acpid, acpi-support, laptop-detect + powersaved까지.

부팅 시 커널 패닉을 막는 Workaround > 부트 파라미터 "lpj=8000000"

블루투스 :
/etc/default/bluetooth에서 HIDD_ENABLED를 1로,
/etc/bluetooth/hcid.conf에서 passkey를 "0000"으로.


가끔 안 잡힐 땐 로그인 후 "hidd --server" 실행.

애플 블루투스 무선 키보드 :
Fn키 작동 안 함. 왼쪽 Ctrl를 Mode_switch로, Caps_Lock을 Ctrl로.

remove Lock = Caps_Lock
keysym Caps_Lock = Control_L
add Control = Control_L

keysym Control_L = Mode_switch

keycode 22 = BackSpace NoSymbol Delete
keycode 98 = Up NoSymbol Prior
keycode 104 = Down NoSymbol Next
keycode 100 = Left NoSymbol Home
keycode 102 = Right NoSymbol End

Alt와 Meta(Mod4 혹은 윈도즈키) 교체
remove Mod1 = Alt_L
remove Mod4 = Super_L
keysym Alt_L = Super_L
keysym Super_L = Alt_L
add Mod1 = Alt_L
add Mod4 = Super_L

intel 드라이버로 외부 모니터 사용 시 버그 있음. 옵션 추가. 
Section "Device"
        ...
        Option          "FrameBufferCompression"  "off"
        ...
EndSection

외부 모니터만 쓰기
Section "Device"
        Identifier      "Configured Video Device"
        Driver          "intel"
        Option          "RenderAccel"   "true"
        Option          "CacheLines" "1024"
        Option          "FrameBufferCompression"  "off"
        Option          "monitor-LVDS"  "LCD"
        Option          "monitor-TMDS-1" "DVI"
EndSection

Section "Monitor"
        Identifier      "LCD"
        Option          "PreferredMode" "1280x800"
        Option          "Ignore"        "true"
EndSection

# Section "Monitor"
#       Identifier      "Configured Monitor"
# EndSection

Section "Monitor"
        Identifier      "DVI"
        Option          "LeftOf"        "LCD"
        Option          "PreferredMode" "1280x1024"
EndSection

Section "Screen"
        Identifier      "Default Screen"
#       Monitor         "Configured Monitor"
        Monitor         "DVI"
EndSection


팬속도 조절 :
제대로 안 됨. 보편적인 ACPI가 아닌 Apple SMC(System Management Controller)기 때문.
sensor-detect 명령으로 센서 몇 개는 잡히고 applesmc 모듈로 팬속도, 온도 체크는 가능하나
pwmconfig + fancontrol의 팬속도 조절은 안 됨.

/sys/devices/platform/applesmc.768/  

echo "1" > fan1_manual   팬속 수동 조절
echo "0" > fan1_manual   팬속 자동 조절
echo 숫자 > fan1_min     최소 팬속
echo 숫자 > fan1_output 수동 모드에서 팬속 지정

만 가능.

불완전한 applesmc 모듈:
OS X에서 smcfancontrol2를 띄우고 리눅스로 Warm 리붓하면 smcfancontrol2의 설정값을 쓰면서

안정적으로 작동. 하지만 리눅스로 바로 Cold 부팅하면 기본 팬속 3400 RPM이 나올 만큼

팬이 온도에 과민하게 반응. 해커들이 applesmc 모듈에 관심이 없는 듯.

결론 :
맥북에서 리눅스는 답 없음.
윈텔 가야 함
. (랩톱이라면 Thinkpad).

리눅스는 OS를 연구할 목적으로 다뤄보고 또 개발하는, 전산인들만의 자유로운 실습 도구이기도 함.

맥북 같은 시스템에선 하드웨어 지원 부족 등으로 리눅스 사용 자체가 삽질일 수 있다.
실력이 없다면 누군가가 해결해주길 마냥 기다려야 하는 게 Do it Yourself.

리눅스 테스크톱, 더구나 모바일 데스크톱의 길은 좁음.
일반인이 리눅스, GNU, 자유 소프트웨어를 경험하고 싶다면 VMware.
또는 OS X, 윈도즈에서 GPL 소프트웨어(ex. 파이어폭스)를 써볼 것.


진지하게 리눅스 데스크톱을 생각한다면
원이 확실한 (대개 출시된 지 2년 쯤 지난)
하드웨어를 고를 것.
참고로 맥북 1세대의 무선랜이 커널에서 정식으로 지원된 때는 출시 후 2년 반이 지나서부터.


Posted by 猫한 보스코
,

CPU 코어의 입력 전압을 낮춰 동일 클럭에서 발열과 전력 소모량을 줄임.
acpi_cpufreq 모듈을 패치하고 입력 전압값(VID)을 수정하는 방법임.

패치는 http://www.linux-phc.org > PHC Downloads

커널 버전, Intel용/AMD용을 확인할 것.
acpi_cpufreq 모듈만 컴파일하면 되지만 커널 소스를 받은 김에 커널까지 컴파일함.

패치 후

$ cat /sys/devices/system/cpu/cpu0/cpufreq/phc_controls

명령을 실행하면 PHC 적용 여부 확인 가능.

PHC를 쓸 수 있는 상황에서

$ echo "12:29 11:24 10:22 9:21 8:20 6:19" > /sys/devices/system/cpu/cpu0/cpufreq/phc_controls
$ echo "12:29 11:24 10:22 9:21 8:20 6:19" > /sys/devices/system/cpu/cpu1/cpufreq/phc_controls

처럼 값을 수정.
12 : 29 > 앞의 숫자가 클럭수(FID), 뒤의 숫자가 전압값(VID).

linux phc 홈페이지 >
PHC Downloads > read_msr 스크립트를 받아서 실행하면
기본 클럭수, 전압값을 알 수 있음.
msr 모듈을 먼저 띄울 것..

맥북 1세대 2GHz의 경우, FID는
12 = 2 GHz, 6 = 1 GHz이고
11 = 1.83 GHz, 10 = 1.66 GHz, 9 = 1.5 GHz, 8 = 1.33 GHz.

코어 듀오1 or 2의 VID(전압값) 공식

실제 전압(mV) = ( 712.5 + ( VID * 12.5 ))

Athlon64, Turion, Opteron

milli volt = ( 1550.0 - ( VID * 25 ))


펜티엄 M(센트리노)

milli volt = ( 700.0 + ( VID * 16 ))


오버클러킹처럼 Undervolt도 허용 한계가 있으므로 삽질로 최저값을 찾아내야 함.

http://ubuntuforums.org/showthread.php?t=786402-> 삽질 방법을 비롯한 자세한 설명.
(또 /sys/devices/system/cpu 디렉터리에서 대충 개념을 잡을 수 있음)


Posted by 猫한 보스코
,