· KLDP.org · KLDP.net · KLDP Wiki · KLDP BBS ·
Gentoo Laptop


1. GentooLaptop

Á¨Åõ ¸®´ª½º ³ëÆ®ºÏ»ç¿ëÀÚ¿¡°Ô Æí¸®ÇÒ ¸¸ÇÑ ¼³Á¤ ¸ðÀ½. - ¼ÛÈ¿Áø

2. Packages

  • USE ¸¦ ¹Ýµå½Ã º¸ÀÚ. nvidia, nforce2 µîÀÌ ÀÖ´Ù.
emerge acpi acpid acpitool cpufreqd cpufrequtils laptop-mode-tools hibernate-script
  • xfce4 ¿ë °¢Á¾ ¸ð´ÏÅ͸µ µµ±¸. ¾ø¾îµµ »ó°ü¾øÁö¸¸ ÇÏ´Ü¿¡ ÁÂ¾Ç ´Ã¾î³õÀ¸¸é ¸ÚÀÖ´Ù.
emerge xfce4-battery xfce4-cpu-freq xfce4-cpugraph xfce4-netload xfce4-sensors xfce4-systemload xfce4-wavelan

3. init.d

rc-update add acpid default
rc-update add cpufreqd default
rc-update add cpufrequtils default
rc-update add lm_sensors default
rc-update add laptop_mode default

4. ACPI

  • /etc/acpi/default.sh ÀÏ´Ü default.sh ¿¡¼­´Â ´Ù »«´Ù.
  • acpilog ÀÇ ÁÖ¼®À» Ç®°í ÀÌ°ÍÀú°Í ´­·¯º¸¸é /acpilog.txt ¿¡ ·Î±×°¡ ½×ÀδÙ. ±×°É º¸°í ½ºÅ©¸³Æ® µî·ÏÇÏ¸é µÈ´Ù.
# /etc/acpi/default.sh
# Default acpi script that takes an entry for all actions

set $*
#echo $* >> /acpilog.txt

group=${1%%/*}
action=${1#*/}
device=$2
id=$3
value=$4
  • /etc/acpi/events/default ¸¦ Á¦¿ÜÇÏ°í ¸ðµÎ ³¯¸° ÈÄ ¾Æ·¡°ÍÀ¸·Î ´ëüÇÏÀÚ.
  • ÀÌ ÆÄÀÏÀÌ ¼öÁ¤µÇ¸é /etc/init.d/acpid ¸¦ restart ÇØ¾ß ÇÑ´Ù.
  • lm_ac_adapter
event=ac_adapter
action=/etc/acpi/actions/lm_ac_adapter.sh %e
  • lm_battery
event=battery.*
action=/etc/acpi/actions/lm_battery.sh %e
  • lm_lid
event=button[ /]lid
action=/etc/acpi/actions/lm_lid.sh %e
  • lm_power
event=button[ /]power
action=/etc/acpi/actions/lm_power.sh %e
  • lm_sleep
event=button[ /]sleep
action=/etc/acpi/actions/lm_sleep.sh %e
  • /etc/acpi/actions/ µµ ´Ù ³¯·Á¹ö¸° ÈÄ ¾Æ·¡°ÍÀ¸·Î ´ëüÇÏÀÚ. ¿©±â´Â x ±ÇÇÑÀÌ ÇÊ¿äÇÏ´Ù.
  • lm_ac_adapter.sh, lm_battery.sh (cpufreq °¡ ´ã´çÇÏ´Ï ¾Æ¹«°Íµµ ¾ÈÇÑ´Ù.)

  • net.sh, netstart.sh ´Â ¾Æ·¡¿¡ ¼³¸íÇÑ´Ù.
  • lm_lid.sh (¶Ñ²±µ¤±â), lm_power.sh (Àü¿ø¹öÆ°)
/usr/local/bin/net.sh
hibernate-ram
/usr/local/bin/netstart.sh
  • lm_sleep.sh (xnote p300 ÀÇ °æ¿ì fn+f4 °¡ °ø½Ä(?)¼ö¸é¸ðµå Å°Àε¥ ¶Ñ²±°ú,Àü¿ø¿¡ ÇÒ´çÇÏ¿´À¸¹Ç·Î ±×³É È­¸éÀ» ÃÖ´ëÇÑ ¾îµÓ°Ô Çϴ°ɷΠ¼³Á¤ÇÏ¿´´Ù. ÀÚ¸®¸¦ ¿À·¡ ¶ã ¶§ ¾´´Ù. ´ëºÎºÐÀÇ ACPI À̺¥Æ®´Â 16Áø¼ö·Î Ä«¿îÆ® µÈ´Ù. µû¶ó¼­ ¾Æ·¡¿Í °°ÀÌ Çϸé ÀûÀýÈ÷ Åä±ÛµÇ°Ô µ¿ÀÛ½Ãų ¼ö ÀÖ´Ù.)
case "$*" in
	*[13579bdf])
		echo 1 > /proc/acpi/video/EGFX/LCD0/brightness
		;;
	*[02468ace])
		echo 7 > /proc/acpi/video/EGFX/LCD0/brightness
		;;
esac

5. cpufreq

  • ACÀü¿ø, ¹èÅ͸® ¸ðµå µî¿¡ ´Éµ¿ÀûÀ¸·Î ¹ÝÀÀÇÏ´Â ½ºÅ©¸³Æ®´Ù. ¾È°Çµå·Áµµ ±âº»°ªÀÌ ²Ï Àß µÇ¾îÀÖÁö¸¸, LCD ¹à±âÁ¶ÀýÀ» °É¾î³õÀ¸¸é ´õ ÁÁ´Ù.
  • /etc/cpufreqd.conf ÀÇ Rule ÂÊ ºÎºÐÀÇ exec_post ¿¡ ÀûÀýÈ÷ ½ºÅ©¸³Æ®¸¦ °É¸é µÈ´Ù.
  • ¿¹Á¦¿¡´Â ¼Ò´Ï /proc/acpi/sony/brightness °¡ °É·ÁÀÖ°í, xnote p300 (nvidia 8400M GS) Àº /proc/acpi/video/EGFX/LCD0/brightness ÀÌ´Ù. find /proc/acpi -name brightness ÇÏ¸é ½±°Ô ãÀ» ¼ö ÀÖ´Ù.
  • ³ª´Â AC 7, Battery High 5, Battery Medium 4, Battery Low 3 À¸·Î °É¾î³õ¾Ò´Ù.

6. net.sh

  • ¾î´À ¹èÆ÷ÆÇÀ̵ç Áý°ú ȸ»ç¸¦ ¿Ô´Ù°¬´Ù ÇÏ°í, À¯¼±°ú ¹«¼±À» ¿À°¡´Â »óȲ¿¡¼­ÀÇ ´Éµ¿ÀûÀÎ ´ëó°¡ µÇ´Â ½ºÅ©¸³Æ®¸¦ Á¦°øÇÏÁö´Â ¾Ê´Â°Í °°´Ù. ±×·¡¼­ ¸¸µé¾ú´Ù.
  • VirtualBox ¿ë bridge ¼³Á¤µµ ÇѲ¨¹ø¿¡ µÇ¹Ç·Î ÇÊ¿ä¾ø´Â ºÎºÐÀº Áö¿öÁÖ¸é µÈ´Ù.
  • ¹«¼± bridge ¿¡ ÇÊ¿äÇÑ parprouted ´Â layman gentoo-kr ¿¡ ¿Ã·Á³õ¾Ò°í bcrelay ´Â net-dialup/pptpd ¿¡ µé¾îÀÖ´Ù.
  • acpi ÀÇ ÀýÀü¸ðµå Á÷Àü¿¡ °É¾î³õ¾ÒÀ¸¹Ç·Î ÀýÀüµÇ±â Àü¿¡ ³×Æ®¿öÅ©¸¦ ²÷´Â´Ù.
  • »ç¿ë¹ý net.sh eth0, net.sh wlan0, net.sh (²÷±â)
  • /usr/local/bin/net.sh
killall -TERM dhcpcd
# for bridge start
killall -TERM parprouted
killall -TERM bcrelay
brctl delif br0 eth0
brctl delif br0 wlan0
brctl delif br0 wmaster0
brctl delif br0 tap0
brctl delif br0 tap1
# for bridge end
ifconfig eth0 0.0.0.0
ifconfig eth0 down
ifconfig wlan0 0.0.0.0
ifconfig wlan0 down
# for bridge start
ifconfig tap0 0.0.0.0
ifconfig tap1 0.0.0.0
ifconfig br0 down
brctl delbr br0
# for bridge end
rmmod iwlagn iwlcore # 4965 wireless ¾È¾µ¶§ ¸ðµâÁ¶Â÷ ³»·Á¹ö¸®¸é Àü¿ø¿¡ µµ¿ò Á» µÉ°Í°°´Ù. ±Ù°Å´Â ¾øÀ½.
/etc/init.d/iptables stop # for bridge

case "$1" in
	eth0)
		ifconfig eth0 up
# for bridge start
		brctl addbr br0
		brctl addif br0 eth0
		dhcpcd br0 -A
		brctl addif br0 tap0
		brctl addif br0 tap1
# for bridge end
# not bridge : dhcpcd eth0 -A
	;;
	wlan0)
		modprobe iwlagn # Àڽſ¡°Ô ¸Â´Â wireless ¸ðµâ
		ifconfig wlan0 up
		ESSIDS=`iwlist wlan0 scanning | grep ESSID | sed -e 's/\s*ESSID://g' -e 's/"//g'`
		KNOWNS="myessid companyessid iptime" # ¿©±â¿¡ ÀÚ½ÅÀÌ »ç¿ëÇÏ´Â essid ¸¦ Àû´Â´Ù.
		for ESS in $KNOWNS;
		do
			ESSID=`echo "$ESSIDS" | grep $ESS`
			if [[ "$ESSID" != "" ]]; then
				break
			fi
		done
		if [[ "$ESSID" == "" ]]; then
			ESSID=`echo "$ESSIDS" | head -n 1`
		fi
		iwconfig wlan0 essid $ESSID
		if [[ "$ESSID" == "companyessid" ]]; then
			# ¾ÏÈ£°¡ ÇÊ¿äÇϸé ÀÌ·¸°Ô ÇÏ¸é µÈ´Ù.
			iwconfig wlan0 key s:BF43425FC5B123
			iwconfig wlan0 essid companyessid
		fi
		echo $ESSID
		dhcpcd wlan0 -A
# for bridge start
		WLANIP=`ifconfig wlan0 | grep 'inet addr' | awk '{ print $2 }' | awk -F : '{ print $2 }' | awk -F . '{ print $1"."$2"."$3 }'`
		ifconfig tap0 $WLANIP.222 netmask 255.255.255.0
		ifconfig tap1 $WLANIP.223 netmask 255.255.255.0
		route del -net 192.168.0.0 netmask 255.255.255.0 tap0
		route del -net 192.168.0.0 netmask 255.255.255.0 tap1
		/etc/init.d/iptables start
		parprouted wlan0 tap0
		parprouted wlan0 tap1
		route add -net 192.168.0.0 netmask 255.255.255.0 tap0
		route add -net 192.168.0.0 netmask 255.255.255.0 tap1
		bcrelay -i tap0 -o wlan0 -d
		bcrelay -i tap1 -o wlan0 -d
# for bridge end
	;;
esac
  • ¹«¼±À¸·Î bridge ¸¦ »ç¿ëÇÑ´Ù¸é iptables ·ê Çϳª¸¦ Ãß°¡ÇÏÀÚ.
  • /etc/sysctl.conf ÀÇ net.ipv4.ip_forward = 1 ÁÖ¼®À» ÇØÁ¦ÇÏ°í
  • echo 1 > /proc/sys/net/ipv4/ip_forward
/etc/init.d/iptables start
iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
/etc/init.d/iptables save
/etc/init.d/iptables stop

7. netstart.sh

  • Àü¿øÀ» ÄѰųª ÀýÀü¸ðµå¿¡¼­ ³ª¿Ã ¶§ À¯/¹«¼± ±¸º° ¾øÀÌ dhcp ½Ãµµ¸¦ ÇÏ¸é °ï¶õÇÒ°ÍÀÌ´Ù.
  • À¯¼±ÀÇ ¿¬°á¿©ºÎ ÆľÇÀ» À§ÇØ ethtool À» »ç¿ëÇÑ´Ù. ÀÌ´õ³Ý¼±À» »©¸é 10M Half °¡ µÇ°í ²ÈÀ¸¸é 100M Full ÀÌ µÇ´Â »óŸ¦ ÀÌ¿ëÇß´Ù. 10M Half ¸¦ ¾²´Â°÷Àº ¼³¸¶ ¾ø°ÚÁö.
  • À¯¼±ÀÌ ²ÈÇôÀÖ³ª È®ÀÎÇÑ ÈÄ Á¢¼ÓÇÏ°í, ¾È²ÈÇôÀְųª Á¢¼ÓÀÌ µÇÁö ¾ÊÀ¸¸é ¹«¼±À» ½ÃµµÇÑ ÈÄ ±×¸¶Àú ½ÇÆÐÇÏ¸é ¸ðµÎ Á¤ÁöÇÑ´Ù.
  • acpi À̺¥Æ®·Î °É¾î³õ¾ÒÀ¸¹Ç·Î ÀýÀü¸ðµå¿¡¼­ »ì¾Æ³¯ ¶§ ½ÇÇàµÉ °ÍÀÌ´Ù.
  • echo /usr/local/bin/netstart.sh > /etc/X11/xinit/xinitrc.d/80-net; chmod 755 /etc/X11/xinit/xinitrc.d/80-net Á¤µµ ÇØ ³õÀ¸¸é X ¶ã¶§ ½ÇÇàµÈ´Ù. /etc/conf.d/local ¿¡ ³õÀ¸¸é ±×¸¸Å­ Áö¿¬ÀÌ »ý±ä´Ù.
  • /usr/local/bin/netstart.sh
NET=/usr/local/bin/net.sh
ethstart () {
	STATE=`ethtool eth0 | grep Duplex | awk -F : '{ print $2 }'`
	if [[ "$STATE" == " Full" ]]; then
		$NET eth0
		STATE=`ifconfig br0 | grep 'inet addr' | awk '{ print $2 }' | awk -F : '{ print $2 }' | awk -F . '{ print $1"."$2 }'` # bridge ¾È¾²¸é br0 ´ë½Å eth0
		if [[ "$STATE" == "169.254" ]]; then
			wlanstart
		fi
		exit
	fi
}
wlanstart () {
	$NET wlan0
	STATE=`ifconfig wlan0 | grep 'inet addr' | awk '{ print $2 }' | awk -F : '{ print $2 }' | awk -F . '{ print $1"."$2 }'`
	if [[ "$STATE" == "169.254" ]]; then
		$NET
		exit
	fi
}

ethstart
wlanstart

ID
Password
Join
His heart was yours from the first moment that you met.


sponsored by andamiro
sponsored by cdnetworks
sponsored by HP

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2008-11-22 17:49:26
Processing time 0.0062 sec