wok-6.x annotate slitaz-eeepc/stuff/tazeee @ rev 2374
slitaz-eeepc: add support for EeePC 900 (Thanks crunchybits)
author | Christophe Lincoln <pankso@slitaz.org> |
---|---|
date | Fri Mar 06 22:26:42 2009 +0100 (2009-03-06) |
parents | a11dd6a8f1a4 |
children | 954adaf24456 |
rev | line source |
---|---|
pankso@2346 | 1 #!/bin/sh |
pankso@2346 | 2 # |
pankso@2346 | 3 # Configure SliTaz for EeePC. Tazee prodide first boot initialisation |
pankso@2346 | 4 # to configure the EeePC model and a GTK box to have quick access to |
pankso@2346 | 5 # SliTaz EeePC stuff. |
pankso@2346 | 6 # |
pankso@2346 | 7 # 20090301 <pankso@slitaz.org> - GNU gpl v3. |
pankso@2346 | 8 # |
pankso@2346 | 9 : ${DIALOG=dialog} |
pankso@2346 | 10 |
pankso@2346 | 11 check_root() |
pankso@2346 | 12 { |
pankso@2346 | 13 if test $(id -u) != 0 ; then |
pankso@2346 | 14 echo -e "\nYou must be root to run `basename $0` with this option." |
pankso@2346 | 15 echo -e "Please use 'su' and root password to become super-user.\n" |
pankso@2346 | 16 exit 0 |
pankso@2346 | 17 fi |
pankso@2346 | 18 } |
pankso@2346 | 19 |
pankso@2346 | 20 get_model() |
pankso@2346 | 21 { |
pankso@2346 | 22 EEEPC_MODEL=`dmidecode -s system-product-name` |
pankso@2346 | 23 echo "EeePC model detected: $EEEPC_MODEL" |
pankso@2346 | 24 # Create config file used at boot time by init script. |
pankso@2346 | 25 cat > /etc/eeepc.conf << _EOF_ |
pankso@2346 | 26 # EeePC configuration file for SliTaz GNU/Linux. |
pankso@2346 | 27 # |
pankso@2346 | 28 EEEPC_MODEL="$EEEPC_MODEL" |
pankso@2346 | 29 _EOF_ |
pankso@2346 | 30 } |
pankso@2346 | 31 |
pankso@2346 | 32 # Specific model settings. |
pankso@2346 | 33 model_config() |
pankso@2346 | 34 { |
pankso@2346 | 35 . /etc/eeepc.conf |
pankso@2346 | 36 case $EEEPC_MODEL in |
pankso@2346 | 37 701) |
pankso@2346 | 38 KERNEL_MODULES='atl2' |
pankso@2346 | 39 SCREEN_SIZE='800x480x24' |
pankso@2346 | 40 HACK_915='5c 800 480 32' ;; |
pankso@2374 | 41 900) |
pankso@2374 | 42 KERNEL_MODULES='atl2 ath_pci' |
pankso@2374 | 43 SCREEN_SIZE='1024x600x24' |
pankso@2374 | 44 HACK_915='54 1024 600 32' |
pankso@2374 | 45 WIFI_INTERFACE='ath0' |
pankso@2374 | 46 # Fix poweroff |
pankso@2374 | 47 echo 'rmmod snd_hda_intel' >> /etc/init.d/shutdown.sh ;; |
pankso@2346 | 48 901) |
pankso@2346 | 49 KERNEL_MODULES='atl1e rt2860sta' |
pankso@2346 | 50 SCREEN_SIZE='1024x600x24' |
pankso@2346 | 51 HACK_915='54 1024 600 32' |
pankso@2346 | 52 WIFI_INTERFACE='ra0' ;; |
pankso@2346 | 53 1000) |
pankso@2346 | 54 KERNEL_MODULES='atl1e rt2860sta' |
pankso@2346 | 55 WIFI_INTERFACE='ra0' ;; |
pankso@2346 | 56 *) |
pankso@2346 | 57 echo "Skipping EeePC $EEEPC_MODEL setup..." && exit 0 ;; |
pankso@2346 | 58 esac |
pankso@2346 | 59 cat >> /etc/eeepc.conf << _EOF_ |
pankso@2346 | 60 |
pankso@2346 | 61 # Screen |
pankso@2346 | 62 SCREEN_SIZE="$SCREEN_SIZE" |
pankso@2346 | 63 HACK_915="$HACK_915" |
pankso@2346 | 64 |
pankso@2346 | 65 # Network |
pankso@2346 | 66 KERNEL_MODULES="$KERNEL_MODULES" |
pankso@2346 | 67 WIFI_INTERFACE="$WIFI_INTERFACE" |
pankso@2346 | 68 _EOF_ |
pankso@2346 | 69 } |
pankso@2346 | 70 |
pankso@2346 | 71 # Load module now and add them to LOAD_MODULE for next boot if installed |
pankso@2346 | 72 # With this /etc/init.d/network.sh will start the wireless interface. |
pankso@2346 | 73 load_modules() |
pankso@2346 | 74 { |
pankso@2346 | 75 for mod in $KERNEL_MODULES |
pankso@2346 | 76 do |
pankso@2346 | 77 modprobe $mod |
pankso@2346 | 78 done |
pankso@2346 | 79 # Add module to rcS.conf and avoid duplication. |
pankso@2346 | 80 . /etc/rcS.conf |
pankso@2346 | 81 sed -i s/"LOAD_MODULES=\"$LOAD_MODULES\""/"LOAD_MODULES=\"$LOAD_MODULES $KERNEL_MODULES\""/ \ |
pankso@2346 | 82 /etc/rcS.conf |
pankso@2346 | 83 } |
pankso@2346 | 84 |
pankso@2346 | 85 # Active wifi interface it will be configured by network.sh and config |
pankso@2346 | 86 # LXpanel. |
pankso@2346 | 87 active_wifi() |
pankso@2346 | 88 { |
pankso@2346 | 89 sed -i s/'WIFI="no"'/'WIFI="yes"'/ /etc/network.conf |
pankso@2346 | 90 sed -i s/'iface=eth0'/"iface=$WIFI_INTERFACE"/ \ |
pankso@2346 | 91 /etc/lxpanel/default/panels/panel |
pankso@2346 | 92 } |
pankso@2346 | 93 |
pankso@2346 | 94 # Small GTKdialog box the have quick access to slitaz-eeepc stuff. |
pankso@2346 | 95 box() |
pankso@2346 | 96 { |
pankso@2346 | 97 export EEE_BOX=' |
pankso@2346 | 98 <window title="SliTaz EeePC Box" icon-name="computer"> |
pankso@2346 | 99 <vbox> |
pankso@2346 | 100 <vbox> |
pankso@2346 | 101 <pixmap> |
pankso@2346 | 102 <input file>/usr/share/images/eeepc-logo.png</input> |
pankso@2346 | 103 </pixmap> |
pankso@2346 | 104 <text> |
pankso@2346 | 105 <label> |
pankso@2346 | 106 " |
pankso@2346 | 107 Small interface to access SliTaz EeePC information and tools |
pankso@2346 | 108 " |
pankso@2346 | 109 </label> |
pankso@2346 | 110 </text> |
pankso@2346 | 111 </vbox> |
pankso@2346 | 112 <hbox> |
pankso@2346 | 113 <button> |
pankso@2346 | 114 <label>Documentation</label> |
pankso@2346 | 115 <input file icon="help"></input> |
pankso@2346 | 116 <action>firefox /usr/share/doc/slitaz-flavors/eeepc.html &</action> |
pankso@2346 | 117 </button> |
pankso@2346 | 118 <button> |
pankso@2346 | 119 <label>Show configuration</label> |
pankso@2346 | 120 <input file icon="computer"></input> |
pankso@2346 | 121 <action>leafpad /etc/eeepc.conf &</action> |
pankso@2346 | 122 </button> |
pankso@2346 | 123 <button> |
pankso@2346 | 124 <label>SSD/HDD install</label> |
pankso@2346 | 125 <input file icon="system-installer"></input> |
pankso@2346 | 126 <action>subox "xterm -e tazeee install" &</action> |
pankso@2346 | 127 </button> |
pankso@2346 | 128 <button> |
pankso@2346 | 129 <label>Exit</label> |
pankso@2346 | 130 <input file icon="exit"></input> |
pankso@2346 | 131 <action type="exit">exit</action> |
pankso@2346 | 132 </button> |
pankso@2346 | 133 </hbox> |
pankso@2346 | 134 </vbox> |
pankso@2346 | 135 </window>' |
pankso@2346 | 136 gtkdialog --center --program=EEE_BOX |
pankso@2346 | 137 } |
pankso@2346 | 138 |
pankso@2346 | 139 case $1 in |
pankso@2346 | 140 setup) |
pankso@2346 | 141 check_root |
pankso@2346 | 142 get_model |
pankso@2346 | 143 model_config |
pankso@2346 | 144 load_modules |
pankso@2346 | 145 [ -n $WIFI_INTERFACE ] && active_wifi |
pankso@2346 | 146 echo "EeePC setup completed..." ;; |
pankso@2346 | 147 box) |
pankso@2346 | 148 box ;; |
pankso@2346 | 149 show-config) |
pankso@2346 | 150 echo "" |
pankso@2346 | 151 cat /etc/eeepc.conf |
pankso@2346 | 152 echo "" ;; |
pankso@2346 | 153 install) |
pankso@2346 | 154 # EeePC havn't got a cdrom so we must fake it. |
pankso@2346 | 155 echo "" |
pankso@2346 | 156 echo "Starting SliTaz EeePC installation..." |
paul@2351 | 157 echo "Please do not reboot through the installer, just exit." |
pankso@2346 | 158 sleep 4 |
pankso@2346 | 159 rmdir /media/cdrom |
pankso@2346 | 160 ln -s /home /media/cdrom |
pankso@2346 | 161 slitaz-installer |
pankso@2346 | 162 # Installer/GBUB see /dev/hdc1 as (hd2,0) --> we need (hd0,0) |
pankso@2346 | 163 mount /dev/hdc1 /mnt/target 2>/dev/null |
pankso@2346 | 164 if grep -q 'root=/dev/hdc1' /mnt/target/boot/grub/menu.lst 2>/dev/null; then |
pankso@2346 | 165 sed -i s/'(hd2,0)'/'(hd0,0)'/ /mnt/target/boot/grub/menu.lst |
pankso@2346 | 166 fi |
pankso@2346 | 167 umount /mnt/target 2>/dev/null |
pankso@2346 | 168 echo "" |
pankso@2346 | 169 echo "Installation completed. You can now reboot your EeePC" |
pankso@2346 | 170 echo "" ;; |
pankso@2346 | 171 *) |
pankso@2346 | 172 echo -e "\nUsage: `basename $0` [setup|box|show-config|install]\n" ;; |
pankso@2346 | 173 esac |
pankso@2346 | 174 |
pankso@2346 | 175 exit 0 |