Advertisement
enriquelira

kernel netbook 3.12 build deb

Nov 20th, 2013
374
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 21.48 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. echo -e $YELLOW"Instalando dependencias..."$ENDCOLOR
  44. sudo apt-get install w3m build-essential gcc libncurses5-dev patch kernel-package
  45. if [  $? != 0 ]; then
  46.         echo -e $RED"No se ha podido instalar las dependencias. Saliendo..."$ENDCOLOR
  47.     echo -e $RED"`cat $HOME/kernel-netbook.err`"$ENDCOLOR
  48.         exit 0
  49. fi
  50. echo -e $GREEN"OK"$ENDCOLOR
  51. echo -e $YELLOW"Descargando e instalando bibliotecas lz4 desde launchpad.net..."$ENDCOLOR
  52. cd /tmp
  53. 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
  54. 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
  55. wget -q -c https://launchpad.net/ubuntu/+source/lz4/0.0~r94-2/+build/4631294/+files/liblz4-dev_0.0%7Er94-2_i386.deb
  56. wget -q -c https://launchpad.net/ubuntu/+source/lz4/0.0~r94-2/+build/4631294/+files/liblz4-tool_0.0%7Er94-2_i386.deb
  57. sudo dpkg -i liblz4*.deb
  58. if [  $? != 0 ]; then
  59.         echo -e $RED"No se ha podido instalar las dependencias. Saliendo..."$ENDCOLOR
  60.     echo -e $RED"`cat $HOME/kernel-netbook.err`"$ENDCOLOR
  61.         exit 0
  62. fi
  63. echo -e $GREEN"OK"$ENDCOLOR
  64. rm $HOME/kernel-netbook.log $HOME/kernel-netbook.err >/dev/null 2>&1
  65. URL=$(echo "https://aur.archlinux.org/packages/kernel-netbook")
  66. ULTIMA_VERSION_AUR=$(w3m -dump $URL | grep -m 1 -o "kernel-netbook [[:digit:].]*" | grep -o [[:digit:].]*) 
  67.  
  68. ########################DESCARGA DE LAS FUENTES DEL KERNEL##################################
  69. PRINCIPAL=3.x
  70. _basekernel=3.12
  71.     pkgver=${_basekernel}
  72.     pkgrel=1
  73. VERSION=$pkgver
  74. LINUX_VERSION=linux-$VERSION.tar.xz
  75. echo -e $YELLOW"Buscando $LINUX_VERSION en  $HOME"$ENDCOLOR
  76. BUSQUEDA=$(find $HOME -name $LINUX_VERSION | grep -o linux-'[0123456789.]*'.tar.xz)
  77. DIR=$(find $HOME -name $LINUX_VERSION | grep  linux-'[0123456789.]*'.tar.xz | sed "s/linux-[0123456789.]*.tar.xz//")
  78. if [ "$BUSQUEDA" = "$LINUX_VERSION" ]; then
  79.     echo -e $YELLOW"Se encontraron las fuentes en $DIR"$ENDCOLOR
  80.     sleep 3
  81.     cd $DIR
  82.     MD5_REMOTO=$(echo cc6ee608854e0da4b64f6c1ff8b6398c)
  83.     MD5_LOCAL=$(md5sum $LINUX_VERSION | awk '{ print $1 }')
  84.     echo -e $YELLOW"Verificando sumas MD5..."$ENDCOLOR
  85.     if [ "$MD5_REMOTO" = "$MD5_LOCAL" ]; then
  86.         echo -e $GREEN"OK"$ENDCOLOR
  87.         sleep 1
  88.         else
  89.         echo -e "el MD5 remoto es de $MD5_REMOTO"
  90.         echo -e "el MD5 local es de $MD5_LOCAL"
  91.         echo -e $RED"El archivo está corrupto o no se ha terminado de descargar"$ENDCOLOR
  92.         echo -e $YELLOW"Descargando..."$ENDCOLOR
  93.         sleep 3
  94.         wget -c ftp://ftp.kernel.org/pub/linux/kernel/v${PRINCIPAL}/$LINUX_VERSION
  95.     fi
  96.         if [  $? = 1 ]; then
  97.             echo -e $RED"No se encontraron las fuentes del kernel"$ENDCOLOR
  98.             exit
  99.         fi
  100.     else
  101.     echo -e $RED"No se encontraron las fuentes, necesita descargalas"$ENDCOLOR
  102.     sleep 2
  103.     echo -e $YELLOW"Hay una nueva versión del kernel de linux: $VERSION"  
  104.     rm  -v linux*.tar.xz >/dev/null 2>&1   
  105.     echo -e $YELLOW"Descargando $LINUX_VERSION a la carpeta `pwd`..."$ENDCOLOR
  106.     sleep 2
  107.     wget -c ftp://ftp.kernel.org/pub/linux/kernel/v${PRINCIPAL}/$LINUX_VERSION
  108.     sleep 2
  109.    
  110. fi
  111. ############################DESCARGAS DE kernel-netbook.tar.gz de AUR##############################
  112.     URL=$(echo "https://aur.archlinux.org/packages/ke/kernel-netbook/kernel-netbook.tar.gz")
  113.     echo -e $YELLOW"Descargando kernel-netbook.tar.gz de AUR..."$ENDCOLOR
  114.     wget -c $URL >$HOME/kernel-netbook.log 2> $HOME/kernel-netbook.err
  115.     echo -e $YELLOW"Descomprimiendo kernel-netbook.tar.gz"$ENDCOLOR
  116.     tar xvzf kernel-netbook.tar.gz >$HOME/kernel-netbook.log 2> $HOME/kernel-netbook.err
  117.     MD5=$(echo 96923c255d1081290baa174e34ed1060)
  118.     MD5_LOCAL=$(md5sum kernel-netbook.tar.gz | awk '{ print $1 }')
  119.     echo -e $YELLOW"Verificando sumas MD5..."$ENDCOLOR
  120.     if [ "$MD5" = "$MD5_LOCAL" ]; then
  121.         echo -e $GREEN"OK"$ENDCOLOR
  122.         sleep 1
  123.         else
  124.         echo -e $RED"El archivo kernel-netbook.tar.gz está corrupto "$ENDCOLOR
  125.         exit 0
  126.     fi
  127.     rm kernel-netbook.tar.gz
  128. #####################################################################################
  129. echo -e $YELLOW"La versión de los paquetes ubicados en AUR es $ULTIMA_VERSION_AUR"$ENDCOLOR
  130. sleep 2
  131. cd $DIR
  132. LISTAR=$(ls *.tar.xz)
  133. VERSION_LISTADO=$(ls *.tar.xz | grep -o '[0123456789.]*'| head -1 | sed 's/.$//g')
  134. if [ $ULTIMA_VERSION_AUR = $VERSION_LISTADO ]; then
  135.     sudo cp $DIR/$LISTAR /usr/src/$LISTAR
  136.     cd /usr/src
  137.  
  138.     if [ -d /usr/src/linux-$VERSION_LISTADO ]; then
  139.         echo -e $YELLOW"Limpiando directorio /usr/src/linux-$VERSION_LISTADO"$ENDCOLOR
  140.         sudo rm -rf /usr/src/linux-$VERSION_LISTADO /usr/src/linux
  141.         else
  142.         rm /usr/src/linux
  143.     fi
  144.     echo -e $YELLOW"Descomprimiendo el código fuente en /usr/src/linux-$VERSION_LISTADO..."$ENDCOLOR
  145.     sleep 2
  146.     tar -Jxf $LISTAR
  147. if [ $? = 0 ]; then        
  148. echo -e $GREEN"OK"$ENDCOLOR        
  149. else       
  150.     echo -e $RED"Hubo un error al descomprimir"$ENDCOLOR
  151.     exit
  152. fi
  153.     sudo rm $LISTAR
  154.     sudo rm -rf linux
  155.     sudo ln -s linux-$VERSION_LISTADO linux
  156.     cd /usr/src/linux
  157.    
  158. ################################################################################################
  159. #                                         PARCHES                                              #
  160. # ALGUNAS PARTES TOMADAS DEL PKGBUILD DE DIEGHEN89
  161. #https://github.com/dieghen89/kernel-netbook/blob/master/PKGBUILD
  162.     TUX_ON_ICE="n"
  163.     BROADCOM_WL="n"
  164.     UKSM="y"
  165.     LOCALMODCONFIG="n"
  166.     GCONFIG="y"
  167.     INSTALL="n"
  168.  
  169. ### HOW-TO:
  170. #
  171. ## >> Details for: TUX_ON_ICE
  172. #       Set it to "n" you you don't want the Tux On Ice support
  173. #
  174. ## >> Details for: BROADCOM_WL
  175. #       Set is to "y" if you need the iw module for your wireless card
  176. #
  177. #
  178. #       P.S. this pkgbuild supports the graysky's modprobe_db package
  179. #
  180. #
  181. ## >> Details for: UKSM
  182. #       Set it to "y" to enable the testing uKSM patch, more info here:
  183. #       http://kerneldedup.org
  184. #
  185. ## >> The previous BFQ_IO_SCHEDULER is useless, read the wiki page in google code
  186. #
  187. ##########
  188.     echo -e $YELLOW"TUXONICE está configurado en $TUX_ON_ICE"$ENDCOLOR
  189.     sleep 0.3
  190.     echo -e $YELLOW"BROADCOM_WL está configurado en $BROADCOM_WL"$ENDCOLOR
  191.     sleep 0.3
  192.     echo -e $YELLOW"UKSM está configurado en $UKSM"$ENDCOLOR
  193.     sleep 0.3
  194.     echo -e $YELLOW"LOCALMODCONFIG está configurado en $LOCALMODCONFIG"$ENDCOLOR
  195.     sleep 0.3
  196.     echo -e $YELLOW"GCONFIG está configurado en $GCONFIG"$ENDCOLOR
  197.     sleep 0.3
  198.     echo -e $YELLOW"INSTALL está configurado en $INSTALL"$ENDCOLOR
  199.     sleep 0.3
  200.     echo -e $YELLOW"Presione <enter> para continuar"$ENDCOLOR
  201.     read a
  202.     DIR_FUENTE=/usr/src/linux
  203.    
  204.     #Broadcom-wl:
  205.     broadcom_ver=6.30.223.141
  206.     #broadcom="hybrid-portsrc_x86_32-v${broadcom_ver//./_}"
  207.     broadcom="hybrid-v35-nodebug-pcoem-${broadcom_ver//./_}"
  208.     #BFS: - http://users.on.net/~ckolivas/kernel/ -
  209.     _ckpatchversion=1
  210.     _ckpatchname="patch-${_basekernel}-ck${_ckpatchversion}"
  211.     #BFQ: - http://algo.ing.unimo.it/people/paolo/disk_sched/ -
  212.     _bfqpath="http://www.algogroup.unimo.it/people/paolo/disk_sched/patches/3.12.0-v6r2"
  213.     #TuxOnIce:
  214.     #New official patch
  215.     _toipath="https://github.com/NigelCunningham/tuxonice-kernel/compare"
  216.     _toipatchname="mirrors:v${pkgver}...tuxonice-${_basekernel}.diff"
  217.  
  218.     #uKSM:
  219.     _uksm="http://kerneldedup.org/download/uksm/0.1.2.2"
  220.     _uksm_name="uksm-0.1.2.2-for-v3.12"
  221.     #GCC patch to enable more CPU optimizations
  222.     _gcc_patch="kernel-312-gcc48-1.patch"
  223.  
  224.     echo -e $YELLOW"Descargando parche BFS..."$ENDCOLOR
  225.     wget -q -c http://ck.kolivas.org/patches/3.0/3.12/3.12-ck${_ckpatchversion}/${_ckpatchname}.bz2
  226.     echo -e $YELLOW"Descargando parche uKSM..."$ENDCOLOR
  227.     wget -q -c -T 5 ${_uksm}/${_uksm_name}.patch
  228.     echo -e $YELLOW"Descargando parche BFQ..."$ENDCOLOR
  229.     wget -q -c "${_bfqpath}/0001-block-cgroups-kconfig-build-bits-for-BFQ-v6r2-3.12.patch"
  230.     wget -q -c "${_bfqpath}/0002-block-introduce-the-BFQ-v6r2-I-O-sched-for-3.12.patch"
  231.     wget -q -c "${_bfqpath}/0003-block-bfq-add-Early-Queue-Merge-EQM-to-BFQ-v6r2-for-3.12.0.patch"
  232.  
  233.     echo -e $YELLOW"Descargando parche Broadcom..."$ENDCOLOR
  234.     wget -q -c http://www.broadcom.com/docs/linux_sta/${broadcom}.tar.gz
  235.     echo -e $YELLOW"Descargando parche bc_wl_complete.patch..."$ENDCOLOR
  236.     wget -q -c http://mm-businessconsult.com/wp-content/uploads/2012/05/bc_wl_complete_patch.zip
  237.     echo -e $YELLOW"Descargando parche gcc..."$ENDCOLOR
  238.     wget -q -c http://repo-ck.com/source/gcc_patch/${_gcc_patch}.gz
  239.     echo -e $YELLOW"Descargando logos..."$ENDCOLOR
  240.     wget -q -c -O logo_linux_clut224.ppm  http://ubuntuone.com/1ndrfd3t5rxlZKCmNp0J8V
  241.     wget -q -c -O logo_linux_mono.pbm http://ubuntuone.com/2eXJ2FWTHfuCqLVnRzn87z
  242.     wget -q -c -O logo_linux_vga16.ppm http://ubuntuone.com/1MV98UXrBHi2zxsTlrDjrr
  243.     echo -e $YELLOW"Descargando parche TuxOnIce..."$ENDCOLOR
  244.     wget -q -c "${_toipath}/${_toipatchname}"
  245.     cp "$DIR"kernel-netbook/linux-recent.patch linux-recent.patch
  246.     cp "$DIR"kernel-netbook/license.patch license.patch
  247.     cp "$DIR"kernel-netbook/user-ioctl.patch user-ioctl.patch
  248.     cp "$DIR"kernel-netbook/acerhdf.patch acerhdf.patch
  249.     cp "$DIR"kernel-netbook/fix-brcmsmac.patch fix-brcmsmac.patch
  250.  
  251.     echo -e $YELLOW"Según su configuración,se aplicarán los parches."$ENDCOLOR
  252.     sleep 3
  253.     function error()
  254.     {
  255.         echo -e $RED"Hubo un error al aplicar los parches"$ENDCOLOR
  256.         echo -e $RED"`cat $HOME/kernel-netbook.err`"$ENDCOLOR
  257.         exit
  258.     }
  259.  
  260.    
  261.     # --> BFS
  262.     #Adjust localversion
  263.     echo -e $YELLOW"Aplicando parche ck..."$ENDCOLOR
  264.     bzip2 -d patch-${_basekernel}-ck${_ckpatchversion}.bz2
  265.     sed -i -e "s/-ck${_ckpatchversion}//g" $DIR_FUENTE/${_ckpatchname}
  266.     patch -Np1 -i $DIR_FUENTE/patch-${_basekernel}-ck${_ckpatchversion} >$HOME/kernel-netbook.log 2> $HOME/kernel-netbook.err
  267.         if [ $? = 0 ]; then
  268.             if [ $TUX_ON_ICE = "y" ] ; then
  269.                 echo -e $GREEN"OK"$ENDCOLOR
  270.                 echo -e $YELLOW"Aplicando parche TuxOnIce..."$ENDCOLOR
  271.                 patch -Np1 -i ${_toipatchname} >$HOME/kernel-netbook.log 2> $HOME/kernel-netbook.err
  272.             fi
  273.             else
  274.             error
  275.         fi
  276.         if [ $? = 0 ]; then
  277.             echo -e $GREEN"OK"$ENDCOLOR
  278.             echo -e $YELLOW"Aplicando parche BFQ..."$ENDCOLOR
  279.             for patch in $(ls $DIR_FUENTE/000*BFQ*.patch) ; do
  280.             patch -Np1 -i $patch >$HOME/kernel-netbook.log 2> $HOME/kernel-netbook.err
  281.             done
  282.             else
  283.             error
  284.         fi
  285.         if [ $? = 0 ]; then        
  286.             if [ $UKSM = "y" ] ; then
  287.             echo -e $GREEN"OK"$ENDCOLOR
  288.             echo -e $YELLOW"Aplicando parche uksm..."$ENDCOLOR
  289.             patch -Np1 -i $DIR_FUENTE/${_uksm_name}.patch >$HOME/kernel-netbook.log 2> $HOME/kernel-netbook.err
  290.             fi
  291.             else
  292.             error
  293.         fi
  294.         if [ $? = 0 ]; then
  295.             echo -e $GREEN"OK"$ENDCOLOR
  296.             echo -e $YELLOW"Aplicando parche acerhdf..."$ENDCOLOR
  297.             # Update the acerhdf module to fix fan issues:
  298.             patch -p1 -i $DIR_FUENTE/acerhdf.patch >$HOME/kernel-netbook.log 2> $HOME/kernel-netbook.err
  299.             else
  300.             error      
  301.         fi
  302.         if [ $? = 0 ]; then
  303.             echo -e $GREEN"OK"$ENDCOLOR
  304.             echo -e $YELLOW"Aplicando parche gcc..."$ENDCOLOR  
  305.             ## Patch source to enable more gcc CPU optimizatons via the make nconfig
  306.             gzip -d ${_gcc_patch}.gz
  307.             patch -Np1 -i $DIR_FUENTE/${_gcc_patch} >$HOME/kernel-netbook.log 2> $HOME/kernel-netbook.err
  308.             else
  309.             error              
  310.         fi
  311. # Este parche marca el siguiente error "patch: **** Only garbage was found in the patch input."
  312. #       if [ $? = 0 ]; then
  313. #           echo -e $GREEN"OK"$ENDCOLOR
  314. #           echo -e $YELLOW"Fix brcmsmac regression introduced in f47a5e4f1aaf1d0e2e6875e34b2c9595897bef6 of linux tree"$ENDCOLOR  
  315. #           patch -Np1 -i "$DIR_FUENTE/fix-brcmsmac.patch" >$HOME/kernel-netbook.log 2> $HOME/kernel-netbook.err
  316. #           else
  317. #           error              
  318. #       fi
  319.  
  320.         if [ $? = 0 ]; then
  321.             echo -e $GREEN"OK"$ENDCOLOR
  322.             echo -e $YELLOW"Reemplazando logo tux con logo Ubuntu..."$ENDCOLOR             
  323.             install -m644 $DIR_FUENTE/logo_linux_clut224.ppm drivers/video/logo/ >$HOME/kernel-netbook.log 2> $HOME/kernel-netbook.err
  324.             install -m644 $DIR_FUENTE/logo_linux_mono.pbm drivers/video/logo/ >$HOME/kernel-netbook.log 2> $HOME/kernel-netbook.err
  325.             install -m644 $DIR_FUENTE/logo_linux_vga16.ppm drivers/video/logo/ >$HOME/kernel-netbook.log 2> $HOME/kernel-netbook.err
  326.             else
  327.             error
  328.         fi
  329.  
  330.         if [ $? = 0 ]; then
  331.         echo -e $GREEN"OK"$ENDCOLOR
  332.         else
  333.         error
  334.         fi
  335.     ##Section: Broadcom-wl
  336.     ## Hasta el momento se me ha hecho imposible compilarlo sin que existan errores
  337.     if [ "${BROADCOM_WL}" == "y" ] ; then
  338.         echo -e $YELLOW"Compilando módulo Broadcom"$ENDCOLOR
  339.         tar xzvf ${broadcom}.tar.gz
  340.         unzip bc_wl_complete_patch.zip
  341.         cp -ar src/wl src/wl_orig
  342.         patch src/wl/sys/wl_linux.c < bc_wl_complete_patch.patch           
  343.             patch -p1 -N -i linux-recent.patch
  344.             patch -p1 -N -i license.patch
  345.             patch -p1 -N -i user-ioctl.patch
  346.             make
  347.         if [  $? != 0 ]; then
  348.             echo -e $RED"Hubo un error al compilar el controlador Broadcom"$ENDCOLOR
  349.             exit
  350.         fi
  351.             rm -r src/wl
  352.             mv src/wl_orig src/wl
  353.     fi
  354.  
  355.     sudo make mrproper   
  356. #                                      FIN DE PARCHES                                          #
  357. ################################################################################################
  358.     if [ -f "$DIR"kernel-netbook/config ] ; then
  359.     sudo cp $DIR/kernel-netbook/config /usr/src/linux/.config
  360.     else
  361.     echo -e $RED"No se ha encontrado el archivo de configuración .config de kernel netbook"$ENDCOLOR
  362.     echo -e $YELLOW"Saliendo..."$ENDCOLOR
  363.     exit 0 
  364.     fi
  365.     sleep 1
  366.     if [ $GCONFIG = "y" ] ; then
  367.         echo -e $YELLOW"Iniciando gconfig..."$ENDCOLOR
  368.         sudo make gconfig >$HOME/kernel-netbook.log 2> $HOME/kernel-netbook.err
  369.     fi
  370.     echo -e $YELLOW"Limpiando el kernel..."$ENDCOLOR
  371.     sleep 1
  372.     sudo make-kpkg clean >$HOME/kernel-netbook.log 2> $HOME/kernel-netbook.err
  373.     if [ ! $? = 0 ]; then
  374.         echo -e $RED"Hubo un error al limpiar el kernel"$ENDCOLOR
  375.         echo -e $RED"`cat $HOME/kernel-netbook.err`"$ENDCOLOR
  376.         sleep 3
  377.         exit 0
  378.     fi
  379.     echo -e $GREEN"OK"$ENDCOLOR
  380.     if [ $LOCALMODCONFIG = "y" ] ; then
  381.         echo -e $YELLOW"Se van a incluir los módulos que estén corriendo en este momento"$ENDCOLOR
  382.         sleep 0.3
  383.         echo -e $YELLOW"Por favor conecte los periféricos necesarios"$ENDCOLOR
  384.         sleep 1
  385.         echo -e $YELLOW"Presione una tecla para continuar"$ENDCOLOR
  386.         read a
  387.         sudo make localmodconfig
  388.         echo -e $YELLOW"Ahora puede desconectar los periféricos, se han añadido los módulos necesarios al archivo de configuración"$ENDCOLOR
  389.         sleep 3
  390.     fi
  391.     echo -e $YELLOW"Asegúrese que se haya añadido el archivo .config"$ENDCOLOR
  392.     cat /usr/src/linux/.config | grep CONFIG_MATOM
  393.    
  394.     sleep 2
  395.     echo -e $YELLOW"Copiando fichero .config a Ubuntu One"$ENDCOLOR
  396.     sudo cp /usr/src/linux/.config $HOME/"Ubuntu One"/kernel-netbook/kernel-netbook-$VERSION_LISTADO
  397.     echo -e $YELLOW"Compilando el kernel..."$ENDCOLOR
  398.     rm "$DIR"linux*.deb >/dev/null 2>&1
  399.     sudo make-kpkg -j2 --initrd linux_headers linux_image >$HOME/kernel-netbook.log 2> $HOME/kernel-netbook.err
  400.     if [ ! $? = 0 ]; then
  401.         echo -e $RED"Hubo un error al construir el kernel, saliendo..."$ENDCOLOR
  402.         echo -e $RED"`cat $HOME/kernel-netbook.err`"$ENDCOLOR
  403.         sleep 3
  404.         #Control interno
  405.         /home/paulo/Scripts/alarma_error_compilar_kernel.sh
  406.         exit 0
  407.     fi
  408.     tiempo_transcurrido
  409.     echo -e $GREEN"Se construyó existosamente el kernel-netbook"$ENDCOLOR
  410.     cd ..
  411.     ULTIMA_VERSION_AUR=$(cat /usr/src/linux/.config| grep Linux | grep -o [[:digit:].]* | tail -1) 
  412.     FILENAME=$(ls linux-image-$ULTIMA_VERSION_AUR-netbook_"$ULTIMA_VERSION_AUR"_i386.deb)
  413.     if [ ! $? = 0 ]; then
  414.         echo -e $RED"linux-image-$ULTIMA_VERSION_AUR-netbook_"$ULTIMA_VERSION_AUR"_i386.deb no encontrado, saliendo..."$ENDCOLOR
  415.         exit 0
  416.     fi
  417.     FILENAME=$(ls linux-headers-$ULTIMA_VERSION_AUR-netbook_"$ULTIMA_VERSION_AUR"_i386.deb)
  418.     if [ ! $? = 0 ]; then
  419.         echo -e $RED"linux-headers-$ULTIMA_VERSION_AUR-netbook_"$ULTIMA_VERSION_AUR"_i386.deb no encontrado, saliendo..."$ENDCOLOR
  420.         exit 0
  421.     fi 
  422.    
  423.     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
  424.     sudo mv /usr/src/linux*.deb $DIR
  425.     echo -e $YELLOW"Cambiando propietario..."$ENDCOLOR
  426.    
  427.     sudo chown $USUARIO "$DIR"linux*.deb   
  428.     cd $DIR
  429.     sleep 1
  430. #######################CAMBIO DE LA DESCRIPCIÓN DEL PAQUETE LINUX-IMAGE####################
  431.     mkdir linux-image-"$ULTIMA_VERSION_AUR"-netbook_"$ULTIMA_VERSION_AUR"_i386
  432.     dpkg -x linux-image-"$ULTIMA_VERSION_AUR"-netbook_"$ULTIMA_VERSION_AUR"_i386.deb linux-image-"$ULTIMA_VERSION_AUR"-netbook_"$ULTIMA_VERSION_AUR"_i386
  433.     dpkg -e linux-image-"$ULTIMA_VERSION_AUR"-netbook_"$ULTIMA_VERSION_AUR"_i386.deb linux-image-"$ULTIMA_VERSION_AUR"-netbook_"$ULTIMA_VERSION_AUR"_i386/DEBIAN
  434.     cd linux-image-"$ULTIMA_VERSION_AUR"-netbook_"$ULTIMA_VERSION_AUR"_i386/DEBIAN
  435.     sed '17,26d' control > $$.tmp && mv $$.tmp control
  436.     sed "12a Homepage: http://kernel-netbook.blogspot.mx" control > $$.tmp && mv $$.tmp control
  437.     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
  438.     echo -e $YELLOW"Construyendo paquete modificado del archivo de control de linux-image"$ENDCOLOR
  439.     cd $DIR
  440.     dpkg -b linux-image-"$ULTIMA_VERSION_AUR"-netbook_"$ULTIMA_VERSION_AUR"_i386
  441.     if [ $? = 1 ]; then
  442.         echo -e $RED"Hubo un error al cambiar la descripción del paquete linux-image"$ENDCOLOR
  443.         sleep 3
  444.     else
  445.     echo -e $GREEN"OK"$ENDCOLOR
  446.     fi
  447.    
  448. #######################CAMBIO DE LA DESCRIPCIÓN DEL PAQUETE LINUX-HEADERS####################
  449.     mkdir linux-headers-"$ULTIMA_VERSION_AUR"-netbook_"$ULTIMA_VERSION_AUR"_i386
  450.     dpkg -x linux-headers-"$ULTIMA_VERSION_AUR"-netbook_"$ULTIMA_VERSION_AUR"_i386.deb linux-headers-"$ULTIMA_VERSION_AUR"-netbook_"$ULTIMA_VERSION_AUR"_i386
  451.     dpkg -e linux-headers-"$ULTIMA_VERSION_AUR"-netbook_"$ULTIMA_VERSION_AUR"_i386.deb linux-headers-"$ULTIMA_VERSION_AUR"-netbook_"$ULTIMA_VERSION_AUR"_i386/DEBIAN
  452.     cd linux-headers-"$ULTIMA_VERSION_AUR"-netbook_"$ULTIMA_VERSION_AUR"_i386/DEBIAN
  453.     sed '16,21d' control > $$.tmp && mv $$.tmp control
  454.     sed "12a Homepage: http://kernel-netbook.blogspot.mx" control > $$.tmp && mv $$.tmp control
  455.     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
  456.     echo -e $YELLOW"Construyendo paquete modificado del archivo de control de linux-headers"$ENDCOLOR
  457.     cd $DIR
  458.     dpkg -b linux-headers-"$ULTIMA_VERSION_AUR"-netbook_"$ULTIMA_VERSION_AUR"_i386
  459.     if [ $? = 1 ]; then
  460.         echo -e $RED"Hubo un error al cambiar la descripción del paquete linux-headers"$ENDCOLOR
  461.         sleep 3
  462.     else
  463.     echo -e $GREEN"OK"$ENDCOLOR
  464.     fi
  465. ##########################################################################################################
  466.     echo -e $YELLOW"Eliminando archivos innecesarios.."$ENDCOLOR
  467.     sudo rm -rf linux-image-"$ULTIMA_VERSION_AUR"-netbook_"$ULTIMA_VERSION_AUR"_i386
  468.     sudo rm -rf linux-headers-"$ULTIMA_VERSION_AUR"-netbook_"$ULTIMA_VERSION_AUR"_i386
  469.     sudo rm control *.tmp  >/dev/null 2>&1
  470.     rm $HOME/kernel-netbook.log $HOME/kernel-netbook.err >/dev/null 2>&1
  471.     if [ -d /usr/src/$LINUX_VERSION ]; then
  472.         echo -e $YELLOW"Limpiando directorio /usr/src/linux-$VERSION_LISTADO"$ENDCOLOR
  473.         sudo rm -rf /usr/src/linux-$VERSION_LISTADO
  474.         sudo rm /usr/src/linux
  475.         echo -e $GREEN"OK"$ENDCOLOR
  476.     fi
  477.         if [ $INSTALL = "y" ] ; then
  478.             echo -e $YELLOW"Instalando linux-image y linux_headers..."$ENDCOLOR
  479.             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
  480.         echo -e $GREEN"OK"$ENDCOLOR
  481.         fi
  482.     echo -e $YELLOW"Cambiando propietario..."$ENDCOLOR
  483.     sudo chown -R $USUARIO "$DIR"kernel-netbook
  484.     sudo chgrp -R $USUARIO "$DIR"kernel-netbook
  485.     echo -e $YELLOW"Subiendo linux-image y linux-headers a 4shared..."$ENDCOLOR
  486.     cadaver --rcfile=$HOME/.4shared-kernel
  487.     sudo rm -rf /usr/src/linux-$VERSION_LISTADO
  488.     else
  489.     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
  490.     echo -e $YELLOW"Verifique que sólo exista $LINUX_VERSION en $DIR "$ENDCOLOR
  491.     sleep 5
  492.     echo -e $YELLOW"Saliendo..."$ENDCOLOR
  493.     exit 1
  494. fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement