Come patchare il kernel

From Paldo

Jump to: navigation, search

Questa guida ti insegnerà come patchare il kernel con Upkg. Leggere la guida precedente sul come patchare un pacchetto per aveere le basi

Contents

[edit] Preparare le cartelle

Creare una directory di lavoro, per esempio:

  sources/linux-2.6
  specs

[edit] Modificare il file spec

Scarica il file linux-2.6.xml nella directory specs.

Crea un nuovo file chiamato link-server e copia questo nel file:

  #!/bin/bash
  #
  sed -i -e 's%<patch name="%<patch name="http://www.paldo.org/paldo/sources/linux-2.6/%' ./linux-2.6.xml
  sed -i -e 's%<archive name="%<archive name="http://www.paldo.org/paldo/sources/linux-2.6/%' ./linux-2.6.xml

Rendilo eseguibile con:

  chmod a+x ./link-server

Fai partire lo script con:

  ./link-server

Hai linkato i pacchetti che ti servono al server paldo.org. (Devi comunque scaricarli nel tuo repo locale)

Apri il file XML e cerca questo:

stable

  <!-- KERNEL -->
  <archive name="http://www.paldo.org/paldo/sources/linux-2.6/linux-2.6.20" srcdir="linux-$TAG">
        <patch name="http://www.paldo.org/paldo/sources/linux-2.6/linux-$VERSION"/>

	<patch name="http://www.paldo.org/paldo/sources/linux-2.6/linux-$VERSION-nozomi"/><!-- HSDPA Broadband PCMCIA card, already in -mm -->
	<patch name="http://www.paldo.org/paldo/sources/linux-2.6/linux-$VERSION-unionfs-1"/><!-- add unionfs, already in -mm -->
        <archive name="http://www.paldo.org/paldo/sources/linux-2.6/linux-agp-compat-$AGPVERSION"><!-- update agp support for i915tex -->
             <cmd>cp -v agp.h backend.c frontend.c generic.c intel-agp.c isoch.c ../drivers/char/agp/</cmd>
        </archive>

testing

  <!-- KERNEL -->
  <archive name="http://www.paldo.org/paldo/sources/linux-2.6/linux-2.6.21" srcdir="linux-$TAG">
        <patch name="http://www.paldo.org/paldo/sources/linux-2.6/linux-$VERSION"/>

        <patch name="http://www.paldo.org/paldo/sources/linux-2.6/linux-$VERSION-nozomi"/><!-- HSDPA Broadband PCMCIA card, already in -mm -->
        <archive name="http://www.paldo.org/paldo/sources/linux-2.6/squashfs$SQUASHFSVERSION"><!-- add squashfs support - improves rescue / live cds -->
             <cmd>patch -d .. -Np1 < kernel-patches/linux-2.6.20/squashfs3.2-patch</cmd>
        </archive>

[edit] Aggiungere un patch al pacchetto linux-2.6

  • Scarica il file .patch in sources/linux-2.6 (hdaps-kernel-2.6.2X-X.patch)
  • Zippa il file .patch in .patch.bz2 con il seguente comando:
bzip2 ./*.patch
  • Aggiungi il file .patch al file spec:
  <!-- KERNEL -->
  <archive name="http://www.paldo.org/paldo/sources/linux-2.6/linux-2.6.21" srcdir="linux-$TAG">
        <patch name="http://www.paldo.org/paldo/sources/linux-2.6/linux-$VERSION"/>
        <patch name="hdaps-kernel-2.6.2X-X"/><!-- your patch located in your local repo -->
        <patch name="http://www.paldo.org/paldo/sources/linux-2.6/linux-$VERSION-nozomi"/><!-- HSDPA Broadband PCMCIA card, already in -mm -->
        <archive name="http://www.paldo.org/paldo/sources/linux-2.6/squashfs$SQUASHFSVERSION"><!-- add squashfs support - improves rescue / live cds -->
             <cmd>patch -d .. -Np1 < kernel-patches/linux-2.6.20/squashfs3.2-patch</cmd>
        </archive>

Usa lo stesso nome del bz2-tarball senza il .bz2

[edit] Installa il kernel moddato nella tua Paldo-box

Installa il kernel moddato con il comando:

   upkg-build --disable-binary linux-2.6
Personal tools