Advertisement
enriquelira

kernel netbook 3.13.5 build deb

Mar 3rd, 2014
1,063
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 23.12 KB | None | 0 0
  1. ###################################################################################
  2. # This work is licensed under a Creative Commons Reconocimiento-NoComercial 3.0 Unported License.
  3. # http://creativecommons.org/licenses/by-nc/3.0/deed.es_ES
  4. # Creado por Paulo Lira Gutiérrez (enriquelira948@gmail.com)
  5. # Algunas partes tomadas del PKGBUILD del proyecto del mismo nombre para ArchLinux https://aur.archlinux.org/packages.php?ID=34625
  6. # Actualizado por lighta (lightaisme@gmail.com)
  7. # Se concede permiso para copiar, distribuir y/o modificar este programa siempre
  8. # y cuando se cite al autor y la fuente de http://kernel-netbook.blogspot.com
  9. # y según los términos de la GNU General Public License, Versión 3 o cualquiera
  10. # posterior publicada por la Free Software Foundation.
  11.  
  12. # Este script construye paquetes .deb del kernel netbook.
  13.  
  14. USUARIO=$(echo ${HOME:6})
  15. YELLOW="\033[1;33m"
  16. ENDCOLOR="\033[0m"
  17. RED="\033[1;31m"
  18. GREEN="\033[1;32m"
  19.  
  20. function tiempo_transcurrido()
  21. {
  22. FINAL=$(date +%s)
  23. SEGUNDOSTRANSCURRIDOS=$(echo "$FINAL - $INICIO" | bc)
  24. MINUTOS=$(echo $SEGUNDOSTRANSCURRIDOS/60 | bc )
  25. HORAS=$(echo $MINUTOS/60 | bc )
  26. MINUTOS=$(echo "($SEGUNDOSTRANSCURRIDOS/60) -$HORAS*60" | bc )
  27. echo -e $YELLOW"El proceso completo tardó $HORAS horas y $MINUTOS minutos "$ENDCOLOR
  28. }
  29.  
  30. if [ $USER != root ]; then
  31.   echo -e $RED"Error: debes ser root"
  32.   echo -e $YELLOW"Saliendo..."$ENDCOLOR
  33.   exit 0
  34. fi
  35. INICIO=$(date +%s)
  36. rm $HOME/kernel-netbook.log $HOME/kernel-netbook.err >/dev/null 2>&1
  37. echo -e $YELLOW"Comprobando conexión a Internet..."$ENDCOLOR
  38. ping www.google.com -c 3 >/dev/null 2>&1
  39. if [ $? = 1 ]; then
  40.     echo -e $RED"No se ha podido establecer una conexión a internet"$ENDCOLOR
  41.     exit 0
  42. fi
  43.  
  44. echo -e $YELLOW"Instalando dependencias..."$ENDCOLOR
  45. sudo apt-get install w3m build-essential gcc libncurses5-dev patch kernel-package unzip
  46.  
  47. if [  $? != 0 ]; then
  48.         echo -e $RED"No se ha podido instalar las dependencias. Saliendo..."$ENDCOLOR
  49.     echo -e $RED"`cat $HOME/kernel-netbook.err`"$ENDCOLOR
  50.         exit 0
  51. fi
  52. echo -e $GREEN"OK"$ENDCOLOR
  53. echo -e $YELLOW"Descargando e instalando bibliotecas lz4 desde launchpad.net..."$ENDCOLOR
  54. cd /tmp
  55. wget -q -c https://launchpad.net/ubuntu/+source/lz4/0.0~r94-2/+build/4631294/+files/liblz4-0.0-dbg_0.0%7Er94-2_i386.deb
  56. wget -q -c https://launchpad.net/ubuntu/+source/lz4/0.0~r94-2/+build/4631294/+files/liblz4-0.0_0.0%7Er94-2_i386.deb
  57. wget -q -c https://launchpad.net/ubuntu/+source/lz4/0.0~r94-2/+build/4631294/+files/liblz4-dev_0.0%7Er94-2_i386.deb
  58. wget -q -c https://launchpad.net/ubuntu/+source/lz4/0.0~r94-2/+build/4631294/+files/liblz4-tool_0.0%7Er94-2_i386.deb
  59. sudo dpkg -i liblz4*.deb
  60. if [  $? != 0 ]; then
  61.         echo -e $RED"No se ha podido instalar las dependencias. Saliendo..."$ENDCOLOR
  62.     echo -e $RED"`cat $HOME/kernel-netbook.err`"$ENDCOLOR
  63.         exit 0
  64. fi
  65. echo -e $GREEN"OK"$ENDCOLOR
  66. rm $HOME/kernel-netbook.log $HOME/kernel-netbook.err >/dev/null 2>&1
  67. URL=$(echo "https://aur.archlinux.org/packages/kernel-netbook")
  68. ULTIMA_VERSION_AUR=$(w3m -dump $URL | grep -m 1 -o "kernel-netbook [[:digit:].]*" | grep -o [[:digit:].]*) 
  69.  
  70. ########################DESCARGA DE LAS FUENTES DEL KERNEL##################################
  71. PRINCIPAL=3.x
  72. _basekernel=3.13
  73.     pkgver=${_basekernel}.5
  74.     pkgrel=1
  75. VERSION=$pkgver
  76. LINUX_VERSION=linux-$VERSION.tar.xz
  77. echo -e $YELLOW"Buscando $LINUX_VERSION en  $HOME"$ENDCOLOR
  78. BUSQUEDA=$(find $HOME -name $LINUX_VERSION | grep -o linux-'[0123456789.]*'.tar.xz)
  79. DIR=$(find $HOME -name $LINUX_VERSION | grep  linux-'[0123456789.]*'.tar.xz | sed "s/linux-[0123456789.]*.tar.xz//")
  80. if [ "$BUSQUEDA" = "$LINUX_VERSION" ]; then
  81.     echo -e $YELLOW"Se encontraron las fuentes en $DIR"$ENDCOLOR
  82.     sleep 3
  83.     cd $DIR
  84.     MD5_REMOTO=$(echo b9fa20262a7ecbbc3277aa2ee10412da)
  85.     MD5_LOCAL=$(md5sum $LINUX_VERSION | awk '{ print $1 }')
  86.     echo -e $YELLOW"Verificando sumas MD5..."$ENDCOLOR
  87.     if [ "$MD5_REMOTO" = "$MD5_LOCAL" ]; then
  88.         echo -e $GREEN"OK"$ENDCOLOR
  89.         sleep 1
  90.         else
  91.         echo -e "el MD5 remoto es de $MD5_REMOTO"
  92.         echo -e "el MD5 local es de $MD5_LOCAL"
  93.         echo -e $RED"El archivo está corrupto o no se ha terminado de descargar"$ENDCOLOR
  94.         echo -e $YELLOW"Descargando..."$ENDCOLOR
  95.         sleep 3
  96.         wget -c ftp://ftp.kernel.org/pub/linux/kernel/v${PRINCIPAL}/$LINUX_VERSION
  97.     fi
  98.         if [  $? = 1 ]; then
  99.             echo -e $RED"No se encontraron las fuentes del kernel"$ENDCOLOR
  100.             exit
  101.         fi
  102.     else
  103.     echo -e $RED"No se encontraron las fuentes, necesita descargalas"$ENDCOLOR
  104.     sleep 2
  105.     echo -e $YELLOW"Hay una nueva versión del kernel de linux: $VERSION"  
  106.     rm  -v linux*.tar.xz >/dev/null 2>&1   
  107.     echo -e $YELLOW"Descargando $LINUX_VERSION a la carpeta `pwd`..."$ENDCOLOR
  108.     sleep 2
  109.     wget -c ftp://ftp.kernel.org/pub/linux/kernel/v${PRINCIPAL}/$LINUX_VERSION
  110.     sleep 2
  111.    
  112. fi
  113. ############################DESCARGAS DE kernel-netbook.tar.gz de AUR##############################
  114.     URL=$(echo "https://aur.archlinux.org/packages/ke/kernel-netbook/kernel-netbook.tar.gz")
  115.     echo -e $YELLOW"Descargando kernel-netbook.tar.gz de AUR..."$ENDCOLOR
  116.     wget -c $URL >$HOME/kernel-netbook.log 2> $HOME/kernel-netbook.err
  117.     echo -e $YELLOW"Descomprimiendo kernel-netbook.tar.gz"$ENDCOLOR
  118.     tar xvzf kernel-netbook.tar.gz >$HOME/kernel-netbook.log 2> $HOME/kernel-netbook.err
  119.     MD5=$(echo 90d4df017519844828ed455b4703b75b)
  120.     MD5_LOCAL=$(md5sum kernel-netbook.tar.gz | awk '{ print $1 }')
  121.     echo -e $YELLOW"Verificando sumas MD5..."$ENDCOLOR
  122.     if [ "$MD5" = "$MD5_LOCAL" ]; then
  123.         echo -e $GREEN"OK"$ENDCOLOR
  124.         sleep 1
  125.         else
  126.         echo -e $RED"El archivo kernel-netbook.tar.gz está corrupto "$ENDCOLOR
  127.         exit 0
  128.     fi
  129.     rm kernel-netbook.tar.gz
  130. #####################################################################################
  131. echo -e $YELLOW"La versión de los paquetes ubicados en AUR es $ULTIMA_VERSION_AUR"$ENDCOLOR
  132. sleep 2
  133. cd $DIR
  134. LISTAR=$(ls *.tar.xz)
  135. VERSION_LISTADO=$(ls *.tar.xz | grep -o '[0123456789.]*'| head -1 | sed 's/.$//g')
  136. if [ $ULTIMA_VERSION_AUR = $VERSION_LISTADO ]; then
  137.     sudo cp $DIR/$LISTAR /usr/src/$LISTAR
  138.     cd /usr/src
  139.  
  140.     if [ -d /usr/src/linux-$VERSION_LISTADO ]; then
  141.         echo -e $YELLOW"Limpiando directorio /usr/src/linux-$VERSION_LISTADO"$ENDCOLOR
  142.         sudo rm -rf /usr/src/linux-$VERSION_LISTADO /usr/src/linux
  143.         else
  144.         rm /usr/src/linux
  145.     fi
  146.     echo -e $YELLOW"Descomprimiendo el código fuente en /usr/src/linux-$VERSION_LISTADO..."$ENDCOLOR
  147.     sleep 2
  148.     tar -Jxf $LISTAR
  149. if [ $? = 0 ]; then        
  150. echo -e $GREEN"OK"$ENDCOLOR        
  151. else       
  152.     echo -e $RED"Hubo un error al descomprimir"$ENDCOLOR
  153.     exit
  154. fi
  155.     sudo rm $LISTAR
  156.     sudo rm -rf linux
  157.     sudo ln -s linux-$VERSION_LISTADO linux
  158.     cd /usr/src/linux
  159.    
  160. ################################################################################################
  161. #                                         PARCHES                                              #
  162. # ALGUNAS PARTES TOMADAS DEL PKGBUILD DE DIEGHEN89
  163. #https://github.com/dieghen89/kernel-netbook/blob/master/PKGBUILD
  164.     TUX_ON_ICE="n"
  165.     BROADCOM_WL="n"
  166.     UKSM="y"
  167.     LOCALMODCONFIG="n"
  168.     GCONFIG="y"
  169.     INSTALL="n"
  170.     EXFAT="n"
  171.  
  172. ### HOW-TO:
  173. #
  174. ## >> Details for: TUX_ON_ICE
  175. #       Set it to "n" you you don't want the Tux On Ice support
  176. #
  177. ## >> Details for: BROADCOM_WL
  178. #       Set is to "y" if you need the iw module for your wireless card
  179. #
  180. #
  181. #       P.S. this pkgbuild supports the graysky's modprobe_db package
  182. #
  183. #
  184. ## >> Details for: UKSM
  185. #       Set it to "y" to enable the testing uKSM patch, more info here:
  186. #       http://kerneldedup.org
  187. #
  188. ## >> The previous BFQ_IO_SCHEDULER is useless, read the wiki page in google code
  189. #
  190. ##########
  191.     echo -e $YELLOW"TUXONICE está configurado en $TUX_ON_ICE"$ENDCOLOR
  192.     sleep 0.3
  193.     echo -e $YELLOW"BROADCOM_WL está configurado en $BROADCOM_WL"$ENDCOLOR
  194.     sleep 0.3
  195.     echo -e $YELLOW"UKSM está configurado en $UKSM"$ENDCOLOR
  196.     sleep 0.3
  197.     echo -e $YELLOW"LOCALMODCONFIG está configurado en $LOCALMODCONFIG"$ENDCOLOR
  198.     sleep 0.3
  199.     echo -e $YELLOW"GCONFIG está configurado en $GCONFIG"$ENDCOLOR
  200.     sleep 0.3
  201.     echo -e $YELLOW"INSTALL está configurado en $INSTALL"$ENDCOLOR
  202.     sleep 0.3
  203.     echo -e $YELLOW"EXFAT está configurado en $EXFAT"$ENDCOLOR
  204.     sleep 0.3
  205.     echo -e $YELLOW"Presione <enter> para continuar"$ENDCOLOR
  206.     read a
  207.     DIR_FUENTE=/usr/src/linux
  208.     #Exfat:
  209.     _exfat_version="1.2.4" 
  210.     #exFAT patch:
  211.     _exfat_zip="exfat_${_exfat_version}.zip"
  212.     _exFAT_patch="exFAT-${_basekernel}-combined.patch"
  213.  
  214.     #Broadcom-wl:
  215.     broadcom_ver=6.30.223.141
  216.     broadcom="hybrid-v35-nodebug-pcoem-${broadcom_ver//./_}"
  217.     #BFS: - http://users.on.net/~ckolivas/kernel/ -
  218.     _ckpatchversion=1
  219.     _ckpatchname="patch-${_basekernel}-ck${_ckpatchversion}"
  220.     #BFQ: - http://algo.ing.unimo.it/people/paolo/disk_sched/ -
  221.     _bfqpath="http://www.algogroup.unimo.it/people/paolo/disk_sched/patches/3.13.0-v7r2"
  222.     #TuxOnIce:
  223.     #New official patch
  224.     #_toipath="https://github.com/NigelCunningham/tuxonice-kernel/compare"
  225.     #_toipatchname="mirrors:v${pkgver}...tuxonice-${_basekernel}.diff"
  226.     _toipatchname="toi-${_basekernel}.patch"
  227.     #uKSM:
  228.     _uksm="http://kerneldedup.org/download/uksm/0.1.2.2"
  229.     _uksm_name="uksm-0.1.2.2-for-v3.13"
  230.     #GCC patch to enable more CPU optimizations
  231.     _gcc_patch="kernel-312-gcc48-1.patch"
  232.  
  233.     echo -e $YELLOW"Descargando parche BFS..."$ENDCOLOR
  234.     wget -q -c http://ck.kolivas.org/patches/3.0/3.13/3.13-ck${_ckpatchversion}/${_ckpatchname}.bz2
  235.     echo -e $YELLOW"Descargando parche uKSM..."$ENDCOLOR
  236.     wget -q -c -T 5 ${_uksm}/${_uksm_name}.patch
  237.     echo -e $YELLOW"Descargando parche BFQ..."$ENDCOLOR
  238.     wget -q -c "${_bfqpath}/0001-block-cgroups-kconfig-build-bits-for-BFQ-v7r2-3.13.patch"
  239.     wget -q -c "${_bfqpath}/0002-block-introduce-the-BFQ-v7r2-I-O-sched-for-3.13.patch"
  240.     wget -q -c "${_bfqpath}/0003-block-bfq-add-Early-Queue-Merge-EQM-to-BFQ-v7r2-for-3.13.0.patch"
  241.  
  242.     echo -e $YELLOW"Descargando parche Broadcom..."$ENDCOLOR
  243.     wget -q -c http://www.broadcom.com/docs/linux_sta/${broadcom}.tar.gz
  244.     echo -e $YELLOW"Descargando parche bc_wl_complete.patch..."$ENDCOLOR
  245.     wget -q -c http://mm-businessconsult.com/wp-content/uploads/2012/05/bc_wl_complete_patch.zip
  246.     echo -e $YELLOW"Descargando parche gcc..."$ENDCOLOR
  247.     wget -q -c http://repo-ck.com/source/gcc_patch/${_gcc_patch}.gz
  248.     echo -e $YELLOW"Descargando logos..."$ENDCOLOR
  249.     wget -q -c -O logo_linux_clut224.ppm  http://ubuntuone.com/1ndrfd3t5rxlZKCmNp0J8V
  250.     wget -q -c -O logo_linux_mono.pbm http://ubuntuone.com/2eXJ2FWTHfuCqLVnRzn87z
  251.     wget -q -c -O logo_linux_vga16.ppm http://ubuntuone.com/1MV98UXrBHi2zxsTlrDjrr
  252.     #echo -e $YELLOW"Descargando parche TuxOnIce..."$ENDCOLOR
  253.     #wget -q -c "${_toipath}/${_toipatchname}"
  254.     echo -e $YELLOW"Copiando ficheros a directorio de trabajo..."$ENDCOLOR
  255.     cp "$DIR"kernel-netbook/linux-recent.patch linux-recent.patch
  256.     cp "$DIR"kernel-netbook/license.patch license.patch
  257.     cp "$DIR"kernel-netbook/user-ioctl.patch user-ioctl.patch
  258.     cp "$DIR"kernel-netbook/acerhdf.patch acerhdf.patch
  259.     cp "$DIR"kernel-netbook/fix-brcmsmac.patch fix-brcmsmac.patch
  260.     cp "$DIR"kernel-netbook/exfat_1.2.4.zip exfat_1.2.4.zip
  261.     cp "$DIR"kernel-netbook/exFAT-3.12-combined.patch exFAT-3.12-combined.patch
  262.     cp "$DIR"kernel-netbook/toi-3.13.patch toi-3.13.patch
  263.  
  264.     echo -e $YELLOW"Según su configuración,se aplicarán los parches."$ENDCOLOR
  265.     sleep 3
  266.     function error()
  267.     {
  268.         echo -e $RED"Hubo un error al aplicar los parches"$ENDCOLOR
  269.         echo -e $RED"`cat $HOME/kernel-netbook.err`"$ENDCOLOR
  270.         exit
  271.     }
  272.  
  273.  
  274.    
  275.     # --> BFS
  276.     #Adjust localversion
  277.     echo -e $YELLOW"Aplicando parche ck..."$ENDCOLOR
  278.     bzip2 -d patch-${_basekernel}-ck${_ckpatchversion}.bz2
  279.     sed -i -e "s/-ck${_ckpatchversion}//g" $DIR_FUENTE/${_ckpatchname}
  280.     patch -Np1 -i $DIR_FUENTE/patch-${_basekernel}-ck${_ckpatchversion} >$HOME/kernel-netbook.log 2> $HOME/kernel-netbook.err
  281.         if [ $? = 0 ]; then
  282.             if [ $TUX_ON_ICE = "y" ] ; then
  283.                 echo -e $GREEN"OK"$ENDCOLOR
  284.                 echo -e $YELLOW"Aplicando parche TuxOnIce..."$ENDCOLOR
  285.                 patch -Np1 -i $DIR_FUENTE/toi-3.13.patch >$HOME/kernel-netbook.log 2> $HOME/kernel-netbook.err
  286.             fi
  287.             else
  288.             error
  289.         fi
  290.         if [ $? = 0 ]; then
  291.             echo -e $GREEN"OK"$ENDCOLOR
  292.             echo -e $YELLOW"Aplicando parche BFQ..."$ENDCOLOR
  293.             for patch in $(ls $DIR_FUENTE/000*BFQ*.patch) ; do
  294.             patch -Np1 -i $patch >$HOME/kernel-netbook.log 2> $HOME/kernel-netbook.err
  295.             done
  296.             else
  297.             error
  298.         fi
  299.         if [ $? = 0 ]; then        
  300.             if [ $UKSM = "y" ] ; then
  301.             echo -e $GREEN"OK"$ENDCOLOR
  302.             echo -e $YELLOW"Aplicando parche uksm..."$ENDCOLOR
  303.             patch -Np1 -i $DIR_FUENTE/${_uksm_name}.patch >$HOME/kernel-netbook.log 2> $HOME/kernel-netbook.err
  304.             fi
  305.             else
  306.             error
  307.         fi
  308.         if [ $? = 0 ]; then
  309.             echo -e $GREEN"OK"$ENDCOLOR
  310.             echo -e $YELLOW"Aplicando parche acerhdf..."$ENDCOLOR
  311.             # Update the acerhdf module to fix fan issues:
  312.             patch -p1 -i $DIR_FUENTE/acerhdf.patch >$HOME/kernel-netbook.log 2> $HOME/kernel-netbook.err
  313.             else
  314.             error      
  315.         fi
  316.         if [ $? = 0 ]; then
  317.             echo -e $GREEN"OK"$ENDCOLOR
  318.             echo -e $YELLOW"Aplicando parche gcc..."$ENDCOLOR  
  319.             ## Patch source to enable more gcc CPU optimizatons via the make nconfig
  320.             gzip -d ${_gcc_patch}.gz
  321.             patch -Np1 -i $DIR_FUENTE/${_gcc_patch} >$HOME/kernel-netbook.log 2> $HOME/kernel-netbook.err
  322.             else
  323.             error              
  324.         fi
  325.  
  326.         if [ $? = 0 ]; then
  327.             echo -e $GREEN"OK"$ENDCOLOR
  328.             #if [ $EXFAT = "y" ] ; then
  329.             #echo -e $YELLOW"Extrayendo el controlador exFAT..."$ENDCOLOR  
  330.             #Extract the exFAT driver to a folder inside $srcdir
  331.             #Marca un error al instalar los drivers, recomiendo seguir esta guía para obtener soporte para ExtFat:
  332.             # http://ruby019.wordpress.com/2011/11/22/installing-and-mounting-exfat-in-linux-with-write-option/
  333.             #cd $DIR_FUENTE
  334.             #mkdir exFAT/ && cd exFAT/
  335.             #unzip $DIR_FUENTE/"exfat_${_exfat_version}.zip"  >/dev/null 2>&1
  336.             #cd $DIR_FUENTE/
  337.             # --> exFAT
  338.             #cd $DIR_FUENTE/exFAT/
  339.             #echo -e $YELLOW"Aplicando parche del controlador exFAT..."$ENDCOLOR
  340.            
  341.             #patch -Np1 -i $DIR_FUENTE/exFAT-${_basekernel}-combined.patch >$HOME/kernel-netbook.log 2> $HOME/kernel-netbook.err
  342.             #cd $DIR_FUENTE/
  343.             ##Section: exFAT
  344.             #echo -e $YELLOW"Compilando parche del controlador exFAT..."$ENDCOLOR
  345.             #cd $DIR_FUENTE/exFAT/
  346.             #make -C $DIR_FUENTE/ M=`pwd` modules
  347.             #install -D -m 755 exfat_core.ko /usr/src/lib/modules/exfat_core.ko
  348.             #install -D -m 755 exfat_fs.ko /usr/src/lib/modules/exfat_fs.ko
  349.             #else
  350.             #error
  351.             #fi
  352.            
  353.         fi
  354.  
  355. # Este parche marca el siguiente error "patch: **** Only garbage was found in the patch input."
  356. #       if [ $? = 0 ]; then
  357. #           echo -e $GREEN"OK"$ENDCOLOR
  358. #           echo -e $YELLOW"Fix brcmsmac regression introduced in f47a5e4f1aaf1d0e2e6875e34b2c9595897bef6 of linux tree"$ENDCOLOR  
  359. #           patch -Np1 -i "$DIR_FUENTE/fix-brcmsmac.patch" >$HOME/kernel-netbook.log 2> $HOME/kernel-netbook.err
  360. #           else
  361. #           error              
  362. #       fi
  363.  
  364.         if [ $? = 0 ]; then
  365.             echo -e $GREEN"OK"$ENDCOLOR
  366.             echo -e $YELLOW"Reemplazando logo tux con logo Ubuntu..."$ENDCOLOR             
  367.             install -m644 $DIR_FUENTE/logo_linux_clut224.ppm drivers/video/logo/ >$HOME/kernel-netbook.log 2> $HOME/kernel-netbook.err
  368.             install -m644 $DIR_FUENTE/logo_linux_mono.pbm drivers/video/logo/ >$HOME/kernel-netbook.log 2> $HOME/kernel-netbook.err
  369.             install -m644 $DIR_FUENTE/logo_linux_vga16.ppm drivers/video/logo/ >$HOME/kernel-netbook.log 2> $HOME/kernel-netbook.err
  370.             else
  371.             error
  372.         fi
  373.         if [ $? = 0 ]; then
  374.         echo -e $GREEN"OK"$ENDCOLOR
  375.         else
  376.         error
  377.         fi
  378.     ##Section: Broadcom-wl
  379.     ## Hasta el momento se me ha hecho imposible compilarlo sin que existan errores
  380.     if [ "${BROADCOM_WL}" == "y" ] ; then
  381.         echo -e $YELLOW"Compilando módulo Broadcom"$ENDCOLOR
  382.         tar xzvf ${broadcom}.tar.gz
  383.         unzip bc_wl_complete_patch.zip
  384.         cp -ar src/wl src/wl_orig
  385.         patch src/wl/sys/wl_linux.c < bc_wl_complete_patch.patch           
  386.             patch -p1 -N -i linux-recent.patch
  387.             patch -p1 -N -i license.patch
  388.             patch -p1 -N -i user-ioctl.patch
  389.             make
  390.         if [  $? != 0 ]; then
  391.             echo -e $RED"Hubo un error al compilar el controlador Broadcom"$ENDCOLOR
  392.             exit
  393.         fi
  394.             rm -r src/wl
  395.             mv src/wl_orig src/wl
  396.     fi
  397.  
  398.     sudo make mrproper   
  399. #                                      FIN DE PARCHES                                          #
  400. ################################################################################################
  401.     if [ -f "$DIR"kernel-netbook/config ] ; then
  402.     sudo cp $DIR/kernel-netbook/config /usr/src/linux/.config
  403.     else
  404.     echo -e $RED"No se ha encontrado el archivo de configuración .config de kernel netbook"$ENDCOLOR
  405.     echo -e $YELLOW"Saliendo..."$ENDCOLOR
  406.     exit 0 
  407.     fi
  408.     sleep 1
  409.     if [ $GCONFIG = "y" ] ; then
  410.         echo -e $YELLOW"Iniciando gconfig..."$ENDCOLOR
  411.         sudo make gconfig >$HOME/kernel-netbook.log 2> $HOME/kernel-netbook.err
  412.     fi
  413.     echo -e $YELLOW"Limpiando el kernel..."$ENDCOLOR
  414.     sleep 1
  415.     sudo make-kpkg clean >$HOME/kernel-netbook.log 2> $HOME/kernel-netbook.err
  416.     if [ ! $? = 0 ]; then
  417.         echo -e $RED"Hubo un error al limpiar el kernel"$ENDCOLOR
  418.         echo -e $RED"`cat $HOME/kernel-netbook.err`"$ENDCOLOR
  419.         sleep 3
  420.         exit 0
  421.     fi
  422.     echo -e $GREEN"OK"$ENDCOLOR
  423.     if [ $LOCALMODCONFIG = "y" ] ; then
  424.         echo -e $YELLOW"Se van a incluir los módulos que estén corriendo en este momento"$ENDCOLOR
  425.         sleep 0.3
  426.         echo -e $YELLOW"Por favor conecte los periféricos necesarios"$ENDCOLOR
  427.         sleep 1
  428.         echo -e $YELLOW"Presione una tecla para continuar"$ENDCOLOR
  429.         read a
  430.         sudo make localmodconfig
  431.         echo -e $YELLOW"Ahora puede desconectar los periféricos, se han añadido los módulos necesarios al archivo de configuración"$ENDCOLOR
  432.         sleep 3
  433.     fi
  434.     echo -e $YELLOW"Asegúrese que se haya añadido el archivo .config"$ENDCOLOR
  435.     cat /usr/src/linux/.config | grep CONFIG_MATOM
  436.    
  437.     sleep 2
  438.     echo -e $YELLOW"Copiando fichero .config a Ubuntu One"$ENDCOLOR
  439.     sudo cp /usr/src/linux/.config $HOME/"Ubuntu One"/kernel-netbook/kernel-netbook-$VERSION_LISTADO
  440.     echo -e $YELLOW"Compilando el kernel..."$ENDCOLOR
  441.     rm "$DIR"linux*.deb >/dev/null 2>&1
  442.     sudo make-kpkg -j2 --initrd linux_headers linux_image >$HOME/kernel-netbook.log 2> $HOME/kernel-netbook.err
  443.     if [ ! $? = 0 ]; then
  444.         echo -e $RED"Hubo un error al construir el kernel, saliendo..."$ENDCOLOR
  445.         echo -e $RED"`cat $HOME/kernel-netbook.err`"$ENDCOLOR
  446.         sleep 3
  447.         #Control interno
  448.         /home/paulo/Scripts/alarma_error_compilar_kernel.sh
  449.         exit 0
  450.     fi
  451.     tiempo_transcurrido
  452.     echo -e $GREEN"Se construyó existosamente el kernel-netbook"$ENDCOLOR
  453.     cd ..
  454.     ULTIMA_VERSION_AUR=$(cat /usr/src/linux/.config| grep Linux | grep -o [[:digit:].]* | tail -1) 
  455.     FILENAME=$(ls linux-image-$ULTIMA_VERSION_AUR-netbook_"$ULTIMA_VERSION_AUR"_i386.deb)
  456.     if [ ! $? = 0 ]; then
  457.         echo -e $RED"linux-image-$ULTIMA_VERSION_AUR-netbook_"$ULTIMA_VERSION_AUR"_i386.deb no encontrado, saliendo..."$ENDCOLOR
  458.         exit 0
  459.     fi
  460.     FILENAME=$(ls linux-headers-$ULTIMA_VERSION_AUR-netbook_"$ULTIMA_VERSION_AUR"_i386.deb)
  461.     if [ ! $? = 0 ]; then
  462.         echo -e $RED"linux-headers-$ULTIMA_VERSION_AUR-netbook_"$ULTIMA_VERSION_AUR"_i386.deb no encontrado, saliendo..."$ENDCOLOR
  463.         exit 0
  464.     fi 
  465.    
  466.     echo -e $YELLOW"Moviendo archivos linux-headers-$ULTIMA_VERSION_AUR-netbook_"$ULTIMA_VERSION_AUR"_i386.deb y linux-image-$ULTIMA_VERSION_AUR-netbook_"$ULTIMA_VERSION_AUR"_i386.deb a $DIR"$ENDCOLOR
  467.     sudo mv /usr/src/linux*.deb $DIR
  468.     echo -e $YELLOW"Cambiando propietario..."$ENDCOLOR
  469.    
  470.     sudo chown $USUARIO "$DIR"linux*.deb   
  471.     cd $DIR
  472.     sleep 1
  473. #######################CAMBIO DE LA DESCRIPCIÓN DEL PAQUETE LINUX-IMAGE####################
  474.     mkdir linux-image-"$ULTIMA_VERSION_AUR"-netbook_"$ULTIMA_VERSION_AUR"_i386
  475.     dpkg -x linux-image-"$ULTIMA_VERSION_AUR"-netbook_"$ULTIMA_VERSION_AUR"_i386.deb linux-image-"$ULTIMA_VERSION_AUR"-netbook_"$ULTIMA_VERSION_AUR"_i386
  476.     dpkg -e linux-image-"$ULTIMA_VERSION_AUR"-netbook_"$ULTIMA_VERSION_AUR"_i386.deb linux-image-"$ULTIMA_VERSION_AUR"-netbook_"$ULTIMA_VERSION_AUR"_i386/DEBIAN
  477.     cd linux-image-"$ULTIMA_VERSION_AUR"-netbook_"$ULTIMA_VERSION_AUR"_i386/DEBIAN
  478.     sed '17,26d' control > $$.tmp && mv $$.tmp control
  479.     sed "12a Homepage: http://kernel-netbook.blogspot.mx" control > $$.tmp && mv $$.tmp control
  480.     echo -e " Static kernel for netbooks with Intel Atom N270/N280/N450/N550/N570 such as eeepc with the add-on of external firmware (broadcom-wl) and patchset (BFS + TOI + BFQ optional) - Only Intel GPU - Give more power to your netbook!.\n ." >> control
  481.     echo -e $YELLOW"Construyendo paquete modificado del archivo de control de linux-image"$ENDCOLOR
  482.     cd $DIR
  483.     dpkg -b linux-image-"$ULTIMA_VERSION_AUR"-netbook_"$ULTIMA_VERSION_AUR"_i386
  484.     if [ $? = 1 ]; then
  485.         echo -e $RED"Hubo un error al cambiar la descripción del paquete linux-image"$ENDCOLOR
  486.         sleep 3
  487.     else
  488.     echo -e $GREEN"OK"$ENDCOLOR
  489.     fi
  490.    
  491. #######################CAMBIO DE LA DESCRIPCIÓN DEL PAQUETE LINUX-HEADERS####################
  492.     mkdir linux-headers-"$ULTIMA_VERSION_AUR"-netbook_"$ULTIMA_VERSION_AUR"_i386
  493.     dpkg -x linux-headers-"$ULTIMA_VERSION_AUR"-netbook_"$ULTIMA_VERSION_AUR"_i386.deb linux-headers-"$ULTIMA_VERSION_AUR"-netbook_"$ULTIMA_VERSION_AUR"_i386
  494.     dpkg -e linux-headers-"$ULTIMA_VERSION_AUR"-netbook_"$ULTIMA_VERSION_AUR"_i386.deb linux-headers-"$ULTIMA_VERSION_AUR"-netbook_"$ULTIMA_VERSION_AUR"_i386/DEBIAN
  495.     cd linux-headers-"$ULTIMA_VERSION_AUR"-netbook_"$ULTIMA_VERSION_AUR"_i386/DEBIAN
  496.     sed '16,21d' control > $$.tmp && mv $$.tmp control
  497.     sed "12a Homepage: http://kernel-netbook.blogspot.mx" control > $$.tmp && mv $$.tmp control
  498.     echo -e " Static kernel for netbooks with Intel Atom N270/N280/N450/N550/N570 such as eeepc with the add-on of external firmware (broadcom-wl) and patchset (BFS + TOI + BFQ optional) - Only Intel GPU - Give more power to your netbook!.\n ." >> control
  499.     echo -e $YELLOW"Construyendo paquete modificado del archivo de control de linux-headers"$ENDCOLOR
  500.     cd $DIR
  501.     dpkg -b linux-headers-"$ULTIMA_VERSION_AUR"-netbook_"$ULTIMA_VERSION_AUR"_i386
  502.     if [ $? = 1 ]; then
  503.         echo -e $RED"Hubo un error al cambiar la descripción del paquete linux-headers"$ENDCOLOR
  504.         sleep 3
  505.     else
  506.     echo -e $GREEN"OK"$ENDCOLOR
  507.     fi
  508. ##########################################################################################################
  509.     echo -e $YELLOW"Eliminando archivos innecesarios.."$ENDCOLOR
  510.     sudo rm -rf linux-image-"$ULTIMA_VERSION_AUR"-netbook_"$ULTIMA_VERSION_AUR"_i386
  511.     sudo rm -rf linux-headers-"$ULTIMA_VERSION_AUR"-netbook_"$ULTIMA_VERSION_AUR"_i386
  512.     sudo rm control *.tmp  >/dev/null 2>&1
  513.     rm $HOME/kernel-netbook.log $HOME/kernel-netbook.err >/dev/null 2>&1
  514.     if [ -d /usr/src/$LINUX_VERSION ]; then
  515.         echo -e $YELLOW"Limpiando directorio /usr/src/linux-$VERSION_LISTADO"$ENDCOLOR
  516.         sudo rm -rf /usr/src/linux-$VERSION_LISTADO
  517.         sudo rm /usr/src/linux
  518.         echo -e $GREEN"OK"$ENDCOLOR
  519.     fi
  520.         if [ $INSTALL = "y" ] ; then
  521.             echo -e $YELLOW"Instalando linux-image y linux_headers..."$ENDCOLOR
  522.             sudo dpkg -i linux-image-$ULTIMA_VERSION_AUR-netbook_"$ULTIMA_VERSION_AUR"_i386.deb linux-headers-$ULTIMA_VERSION_AUR-netbook_"$ULTIMA_VERSION_AUR"_i386.deb
  523.         echo -e $GREEN"OK"$ENDCOLOR
  524.         fi
  525.     echo -e $YELLOW"Cambiando propietario..."$ENDCOLOR
  526.     sudo chown -R $USUARIO "$DIR"kernel-netbook
  527.     sudo chgrp -R $USUARIO "$DIR"kernel-netbook
  528.     echo -e $YELLOW"Subiendo linux-image y linux-headers a 4shared..."$ENDCOLOR
  529.     cadaver --rcfile=$HOME/.4shared-kernel
  530.     sudo rm -rf /usr/src/linux-$VERSION_LISTADO
  531.     else
  532.     echo -e $RED"Hubo un error: No se encontraron las fuentes O Las versiones difieren, O existe más de un archivo de fuentes"$ENDCOLOR
  533.     echo -e $YELLOW"Verifique que sólo exista $LINUX_VERSION en $DIR "$ENDCOLOR
  534.     sleep 5
  535.     echo -e $YELLOW"Saliendo..."$ENDCOLOR
  536.     exit 1
  537. fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement