PROCEDURA:
- Installate Linux (e.g. Ubuntu, Linux Mint)
- Installare Android SDK
- Installare la toolchain:
sudo apt-get install gcc-arm-linux-gnueabi
- Scaricate e decomprimete il kernel da QUI supponiamo in ~/android/u8825-1_3.0.21_kernel
- Collegate il device alla USB e assicuratevi che sia connesso:
adb devices
- Scaricate la configurazione con i comandi:
cd ~/android
adb pull /proc/config.gz
gunzip config.gz
mv config ./u8825-1_3.0.21_kernel/.config
- Salvate questa patch nel file ~/android/gcc-4.7-arm-linux-gnueabi.patch:
- Applicate la patch con il comando:codice:diff -uNr kernel.huawei/arch/arm/include/asm/swab.h kernel.patched/arch/arm/include/asm/swab.h --- kernel.huawei/arch/arm/include/asm/swab.h 2013-02-16 02:28:59.000000000 +0000 +++ kernel.patched/arch/arm/include/asm/swab.h 2013-06-30 16:17:50.454997000 +0100 @@ -15,6 +15,8 @@ #ifndef __ASM_ARM_SWAB_H #define __ASM_ARM_SWAB_H +#pragma GCC diagnostic ignored "-Wmaybe-uninitialized" + #include <linux/compiler.h> #include <linux/types.h> diff -uNr kernel.huawei/arch/arm/mach-msm/board-msm7627a-io.c kernel.patched/arch/arm/mach-msm/board-msm7627a-io.c --- kernel.huawei/arch/arm/mach-msm/board-msm7627a-io.c 2013-02-16 02:28:34.000000000 +0000 +++ kernel.patched/arch/arm/mach-msm/board-msm7627a-io.c 2013-06-30 16:18:00.319927000 +0100 @@ -11,6 +11,8 @@ * */ +#pragma GCC diagnostic ignored "-Wmaybe-uninitialized" + #include <linux/platform_device.h> #include <linux/regulator/consumer.h> #include <linux/gpio_event.h> diff -uNr kernel.huawei/arch/arm/mach-msm/board-msm7x27a.c kernel.patched/arch/arm/mach-msm/board-msm7x27a.c --- kernel.huawei/arch/arm/mach-msm/board-msm7x27a.c 2013-02-16 02:28:33.000000000 +0000 +++ kernel.patched/arch/arm/mach-msm/board-msm7x27a.c 2013-06-30 16:18:14.202866000 +0100 @@ -9,6 +9,9 @@ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. */ + +#pragma GCC diagnostic ignored "-Wmaybe-uninitialized" + #include <linux/kernel.h> #include <linux/init.h> #include <linux/gpio_event.h> @@ -1489,7 +1492,9 @@ msm7x2x_init_host(); msm7x27a_pm_init(); register_i2c_devices(); +#if (defined(HUAWEI_BT_BLUEZ_VER30) || defined(HUAWEI_BT_BTLA_VER30) || (!defined(CONFIG_HUAWEI_KERNEL))) msm7627a_bt_power_init(); +#endif msm7627a_camera_init(); msm7627a_add_io_devices(); /*7x25a kgsl initializations*/ diff -uNr kernel.huawei/arch/arm/mm/dma-mapping.c kernel.patched/arch/arm/mm/dma-mapping.c --- kernel.huawei/arch/arm/mm/dma-mapping.c 2013-02-16 02:28:24.000000000 +0000 +++ kernel.patched/arch/arm/mm/dma-mapping.c 2013-06-30 16:18:21.698612000 +0100 @@ -9,6 +9,9 @@ * * DMA uncached mapping support. */ + +#pragma GCC diagnostic ignored "-Warray-bounds" + #include <linux/module.h> #include <linux/mm.h> #include <linux/gfp.h> diff -uNr kernel.huawei/drivers/md/dm.c kernel.patched/drivers/md/dm.c --- kernel.huawei/drivers/md/dm.c 2013-02-16 02:32:05.000000000 +0000 +++ kernel.patched/drivers/md/dm.c 2013-06-30 16:18:36.946233000 +0100 @@ -5,6 +5,8 @@ * This file is released under the GPL. */ +#pragma GCC diagnostic ignored "-Wunused-value" + #include "dm.h" #include "dm-uevent.h" diff -uNr kernel.huawei/drivers/md/dm-table.c kernel.patched/drivers/md/dm-table.c --- kernel.huawei/drivers/md/dm-table.c 2013-02-16 02:32:05.000000000 +0000 +++ kernel.patched/drivers/md/dm-table.c 2013-06-30 16:18:30.895208000 +0100 @@ -5,6 +5,8 @@ * This file is released under the GPL. */ +#pragma GCC diagnostic ignored "-Wunused-value" + #include "dm.h" #include <linux/module.h> diff -uNr kernel.huawei/drivers/media/radio/radio-tavarua.c kernel.patched/drivers/media/radio/radio-tavarua.c --- kernel.huawei/drivers/media/radio/radio-tavarua.c 2013-02-16 02:34:12.000000000 +0000 +++ kernel.patched/drivers/media/radio/radio-tavarua.c 2013-06-30 16:18:42.589053000 +0100 @@ -10,6 +10,9 @@ * GNU General Public License for more details. * */ + +#pragma GCC diagnostic ignored "-Wmaybe-uninitialized" + /* * Qualcomm Tavarua FM core driver */ diff -uNr kernel.huawei/drivers/video/msm/mdp.c kernel.patched/drivers/video/msm/mdp.c --- kernel.huawei/drivers/video/msm/mdp.c 2013-02-16 02:33:33.000000000 +0000 +++ kernel.patched/drivers/video/msm/mdp.c 2013-06-30 16:18:52.850181000 +0100 @@ -15,6 +15,8 @@ * GNU General Public License for more details. */ +#pragma GCC diagnostic ignored "-Wsequence-point" + #include <linux/module.h> #include <linux/kernel.h> #include <linux/sched.h> diff -uNr kernel.huawei/net/ipv4/netfilter/nf_nat_amanda.c kernel.patched/net/ipv4/netfilter/nf_nat_amanda.c --- kernel.huawei/net/ipv4/netfilter/nf_nat_amanda.c 2013-02-16 02:34:49.000000000 +0000 +++ kernel.patched/net/ipv4/netfilter/nf_nat_amanda.c 2013-06-30 16:18:58.813161000 +0100 @@ -8,6 +8,8 @@ * 2 of the License, or (at your option) any later version. */ +#pragma GCC diagnostic ignored "-Waddress" + #include <linux/kernel.h> #include <linux/module.h> #include <linux/skbuff.h> diff -uNr kernel.huawei/net/ipv4/netfilter/nf_nat_h323.c kernel.patched/net/ipv4/netfilter/nf_nat_h323.c --- kernel.huawei/net/ipv4/netfilter/nf_nat_h323.c 2013-02-16 02:34:49.000000000 +0000 +++ kernel.patched/net/ipv4/netfilter/nf_nat_h323.c 2013-06-30 16:19:02.683096000 +0100 @@ -9,6 +9,8 @@ * Jozsef Kadlecsik <kadlec@blackhole.kfki.hu> */ +#pragma GCC diagnostic ignored "-Waddress" + #include <linux/module.h> #include <linux/tcp.h> #include <net/tcp.h> diff -uNr kernel.huawei/net/ipv4/netfilter/nf_nat_irc.c kernel.patched/net/ipv4/netfilter/nf_nat_irc.c --- kernel.huawei/net/ipv4/netfilter/nf_nat_irc.c 2013-02-16 02:34:49.000000000 +0000 +++ kernel.patched/net/ipv4/netfilter/nf_nat_irc.c 2013-06-30 16:19:07.529518000 +0100 @@ -10,6 +10,8 @@ * 2 of the License, or (at your option) any later version. */ +#pragma GCC diagnostic ignored "-Waddress" + #include <linux/module.h> #include <linux/moduleparam.h> #include <linux/tcp.h> diff -uNr kernel.huawei/net/ipv4/netfilter/nf_nat_standalone.c kernel.patched/net/ipv4/netfilter/nf_nat_standalone.c --- kernel.huawei/net/ipv4/netfilter/nf_nat_standalone.c 2013-02-16 02:34:49.000000000 +0000 +++ kernel.patched/net/ipv4/netfilter/nf_nat_standalone.c 2013-06-30 16:19:14.541022000 +0100 @@ -5,6 +5,9 @@ * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. */ + +#pragma GCC diagnostic ignored "-Waddress" + #include <linux/types.h> #include <linux/icmp.h> #include <linux/gfp.h> diff -uNr kernel.huawei/net/netfilter/xt_qtaguid.c kernel.patched/net/netfilter/xt_qtaguid.c --- kernel.huawei/net/netfilter/xt_qtaguid.c 2013-02-16 02:34:37.000000000 +0000 +++ kernel.patched/net/netfilter/xt_qtaguid.c 2013-06-30 16:19:27.875687000 +0100 @@ -8,6 +8,8 @@ * published by the Free Software Foundation. */ +#pragma GCC diagnostic ignored "-Wmaybe-uninitialized" + /* * There are run-time debug flags enabled via the debug_mask module param, or * via the DEFAULT_DEBUG_MASK. See xt_qtaguid_internal.h.
cd ~/android/u8825-1_3.0.21_kernel
patch -p1 < ../gcc-4.7-arm-linux-gnueabi.patch
- Compilate il kernel con il comando:
cd ~/android/u8825-1_3.0.21_kernel
export ARCH=arm
export SUBARCH=arm
export CROSS_COMPILE=arm-linux-gnueabi-
make
- Al termine della compilazione, l'output mostrerà (non necessariamente nella parte finale):
Kernel: arch/arm/boot/Image is ready
Kernel: arch/arm/boot/zImage is ready
ATTENZIONE! L'autore del topic non si assume nessuna responsabilità dei danni o problemi che potrete riscontrare seguendo la procedura descritta.

LinkBack URL
About LinkBacks
Ultima modifica di Ikon; 06-07-13 alle
Rispondi quotando
ma quindi patchando il kernel dalla 3.0.21 alla 3.0.31 potremmo avere compatibilità anche con le rom jb? Ma poi mi chiedo, le 4.1.1 necessitano di un kernel 3.0.31 o superiore oppure va comunque bene il 3.0.21?

