wok 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