use Alain Knaff's bzip2/lzma patch instead of the old lzma patch

SVN-Revision: 14890
This commit is contained in:
Florian Fainelli 2009-03-15 16:27:16 +00:00
parent beb47c57af
commit a16e6d4088
3 changed files with 3147 additions and 119 deletions

View file

@ -10,6 +10,7 @@ CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig"
CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
CONFIG_ARCH_HAS_CPU_RELAX=y
CONFIG_ARCH_HAS_DEFAULT_IDLE=y
# CONFIG_ARCH_HAS_ILOG2_U32 is not set
# CONFIG_ARCH_HAS_ILOG2_U64 is not set
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
@ -22,18 +23,11 @@ CONFIG_ARCH_SUPPORTS_AOUT=y
CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y
CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
# CONFIG_ATA is not set
# CONFIG_ATA_NONSTANDARD is not set
# CONFIG_AUDIT_ARCH is not set
CONFIG_BASE_SMALL=0
# CONFIG_BINFMT_AOUT is not set
# CONFIG_BINFMT_MISC is not set
CONFIG_BITREVERSE=y
# CONFIG_BLK_DEV_IDE is not set
# CONFIG_BLK_DEV_IDEDISK is not set
# CONFIG_BLK_DEV_IDEDMA is not set
CONFIG_BOUNCE=y
# CONFIG_BROADCOM_PHY is not set
CONFIG_CLASSIC_RCU=y
CONFIG_CLOCKSOURCE_WATCHDOG=y
# CONFIG_COMPAT_VDSO is not set
@ -41,7 +35,6 @@ CONFIG_CLOCKSOURCE_WATCHDOG=y
# CONFIG_CPU_FREQ is not set
# CONFIG_CPU_IDLE is not set
# CONFIG_CRYPTO_AES_586 is not set
# CONFIG_CRYPTO_GF128MUL is not set
# CONFIG_CRYPTO_SALSA20_586 is not set
# CONFIG_CRYPTO_TWOFISH_586 is not set
# CONFIG_CS5535_GPIO is not set
@ -64,7 +57,6 @@ CONFIG_FAST_CMPXCHG_LOCAL=y
CONFIG_FIRMWARE_MEMMAP=y
# CONFIG_FIXED_PHY is not set
CONFIG_FIX_EARLYCON_MEM=y
CONFIG_FS_POSIX_ACL=y
CONFIG_GENERIC_BUG=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
@ -100,8 +92,6 @@ CONFIG_HAVE_LATENCYTOP_SUPPORT=y
CONFIG_HAVE_OPROFILE=y
# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
# CONFIG_HID is not set
CONFIG_HID_SUPPORT=y
# CONFIG_HIGHMEM4G is not set
# CONFIG_HIGHMEM64G is not set
# CONFIG_HIGH_RES_TIMERS is not set
@ -118,20 +108,13 @@ CONFIG_HZ=250
# CONFIG_HZ_100 is not set
CONFIG_HZ_250=y
# CONFIG_I2C is not set
CONFIG_I2C_BOARDINFO=y
# CONFIG_I6300ESB_WDT is not set
# CONFIG_I8K is not set
# CONFIG_IB700_WDT is not set
# CONFIG_IBMASR is not set
# CONFIG_IBM_ASM is not set
CONFIG_ICPLUS_PHY=y
# CONFIG_IDE is not set
# CONFIG_IDE_GENERIC is not set
# CONFIG_IDE_PROC_FS is not set
CONFIG_INITRAMFS_SOURCE=""
# CONFIG_INPUT is not set
CONFIG_INPUT_MISC=y
# CONFIG_INPUT_YEALINK is not set
# CONFIG_IOMMU_HELPER is not set
CONFIG_IOSCHED_CFQ=y
# CONFIG_IOSCHED_DEADLINE is not set
@ -148,7 +131,9 @@ CONFIG_ISA_DMA_API=y
# CONFIG_ISCSI_IBFT_FIND is not set
# CONFIG_IT8712F_WDT is not set
# CONFIG_ITCO_WDT is not set
# CONFIG_JFS_FS is not set
# CONFIG_KERNEL_BZIP2 is not set
# CONFIG_KERNEL_GZIP is not set
CONFIG_KERNEL_LZMA=y
CONFIG_KEXEC=y
CONFIG_KMOD=y
CONFIG_KTIME_SCALAR=y
@ -170,16 +155,6 @@ CONFIG_MATH_EMULATION=y
# CONFIG_MCORE2 is not set
# CONFIG_MCRUSOE is not set
# CONFIG_MCYRIXIII is not set
# CONFIG_MDIO_BITBANG is not set
# CONFIG_MEDIA_TUNER is not set
# CONFIG_MEDIA_TUNER_MT20XX is not set
# CONFIG_MEDIA_TUNER_SIMPLE is not set
# CONFIG_MEDIA_TUNER_TDA8290 is not set
# CONFIG_MEDIA_TUNER_TDA9887 is not set
# CONFIG_MEDIA_TUNER_TEA5761 is not set
# CONFIG_MEDIA_TUNER_TEA5767 is not set
# CONFIG_MEDIA_TUNER_XC2028 is not set
# CONFIG_MEDIA_TUNER_XC5000 is not set
# CONFIG_MEFFICEON is not set
# CONFIG_MEMTEST is not set
# CONFIG_MFD_CORE is not set
@ -250,7 +225,6 @@ CONFIG_MTD_RDC3210_SIZE=0x400000
# CONFIG_MWINCHIP3D is not set
# CONFIG_MWINCHIPC6 is not set
# CONFIG_NATSEMI is not set
# CONFIG_NLS_ISO8859_2 is not set
CONFIG_NOHIGHMEM=y
# CONFIG_NSC_GPIO is not set
CONFIG_NVRAM=y
@ -261,8 +235,6 @@ CONFIG_PAGE_OFFSET=0xC0000000
# CONFIG_PARAVIRT_GUEST is not set
# CONFIG_PC8736x_GPIO is not set
# CONFIG_PC87413_WDT is not set
# CONFIG_PCCARD is not set
# CONFIG_PCCARD_NONSTATIC is not set
CONFIG_PCI=y
# CONFIG_PCIEPORTBUS is not set
CONFIG_PCI_BIOS=y
@ -273,18 +245,17 @@ CONFIG_PCI_GOANY=y
# CONFIG_PCI_GODIRECT is not set
# CONFIG_PCI_GOMMCONFIG is not set
# CONFIG_PCI_GOOLPC is not set
# CONFIG_PCMCIA is not set
# CONFIG_PCSPKR_PLATFORM is not set
CONFIG_PHYLIB=y
CONFIG_PHYSICAL_ALIGN=0x100000
CONFIG_PHYSICAL_START=0x100000
# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
# CONFIG_QSEMI_PHY is not set
# CONFIG_R6040 is not set
CONFIG_RDC321X_WDT=y
# CONFIG_REALTEK_PHY is not set
# CONFIG_RD_BZIP2 is not set
CONFIG_RD_GZIP=y
# CONFIG_RD_LZMA is not set
# CONFIG_RELOCATABLE is not set
CONFIG_RFKILL_LEDS=y
# CONFIG_RTC is not set
# CONFIG_RWSEM_GENERIC_SPINLOCK is not set
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
@ -295,16 +266,12 @@ CONFIG_RWSEM_XCHGADD_ALGORITHM=y
# CONFIG_SC520_WDT is not set
# CONFIG_SCHED_HRTICK is not set
CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
# CONFIG_SCSI_MULTI_LUN is not set
# CONFIG_SCSI_WAIT_SCAN is not set
# CONFIG_SCSI_DMA is not set
# CONFIG_SCx200 is not set
# CONFIG_SCx200_ACB is not set
# CONFIG_SERIAL_8250_EXTENDED is not set
# CONFIG_SMP is not set
# CONFIG_SMSC37B787_WDT is not set
# CONFIG_SMSC_PHY is not set
# CONFIG_SOFT_WATCHDOG is not set
# CONFIG_SONYPI is not set
CONFIG_SPARSEMEM_STATIC=y
# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
CONFIG_SSB_POSSIBLE=y
@ -312,27 +279,12 @@ CONFIG_SSB_POSSIBLE=y
# CONFIG_SYSPROF_TRACER is not set
CONFIG_SYSVIPC_SYSCTL=y
# CONFIG_TELCLOCK is not set
# CONFIG_THERMAL is not set
# CONFIG_THERMAL_HWMON is not set
# CONFIG_TICK_ONESHOT is not set
# CONFIG_TOSHIBA is not set
CONFIG_UID16=y
# CONFIG_USB is not set
# CONFIG_USB_EHCI_HCD is not set
# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
# CONFIG_USB_OHCI_HCD is not set
# CONFIG_USB_SERIAL_CH341 is not set
# CONFIG_USB_SERIAL_OTI6858 is not set
CONFIG_USB_SUPPORT=y
# CONFIG_USB_UHCI_HCD is not set
CONFIG_V4L_USB_DRIVERS=y
# CONFIG_VGASTATE is not set
# CONFIG_VIA_RHINE is not set
CONFIG_VIDEO_CAPTURE_DRIVERS=y
# CONFIG_VIDEO_MEDIA is not set
# CONFIG_VIDEO_V4L2 is not set
# CONFIG_VIDEO_V4L2_COMMON is not set
# CONFIG_VIRTIO_BALLOON is not set
# CONFIG_VIRTIO_PCI is not set
CONFIG_VIRTUALIZATION=y

File diff suppressed because it is too large Load diff

View file

@ -1,63 +0,0 @@
--- a/scripts/Makefile.lib
+++ b/scripts/Makefile.lib
@@ -172,4 +172,9 @@
quiet_cmd_gzip = GZIP $@
cmd_gzip = gzip -f -9 < $< > $@
-
+# LZMA
+#
+quiet_cmd_lzma = LZMA $@
+cmd_lzma = bash -e scripts/lzma_kern $< $@ -lc7 -lp0 -pb0
+# to use lzmacomp,
+# cmd_lzma = lzmacomp $< 700 > $@
--- /dev/null
+++ b/scripts/lzma_kern
@@ -0,0 +1,4 @@
+get-size() { echo "$5" ;}
+printf -v len '%.8x' "$(get-size $(ls -l "$1"))"
+lzma e "$@"
+echo -ne "\x$(echo $len | cut -c 7,8)\x$(echo $len | cut -c 5,6)\x$(echo $len | cut -c 3,4)\x$(echo $len | cut -c 1,2)" >> "$2"
--- a/arch/x86/boot/compressed/Makefile
+++ b/arch/x86/boot/compressed/Makefile
@@ -4,7 +4,7 @@
# create a compressed vmlinux image from the original vmlinux
#
-targets := vmlinux vmlinux.bin vmlinux.bin.gz head_$(BITS).o misc.o piggy.o
+targets := vmlinux vmlinux.bin vmlinux.bin.lzma head_$(BITS).o lzma_misc.o piggy.o
KBUILD_CFLAGS := -m$(BITS) -D__KERNEL__ $(LINUX_INCLUDE) -O2
KBUILD_CFLAGS += -fno-strict-aliasing -fPIC
@@ -18,7 +18,7 @@
LDFLAGS := -m elf_$(UTS_MACHINE)
LDFLAGS_vmlinux := -T
-$(obj)/vmlinux: $(src)/vmlinux_$(BITS).lds $(obj)/head_$(BITS).o $(obj)/misc.o $(obj)/piggy.o FORCE
+$(obj)/vmlinux: $(src)/vmlinux_$(BITS).lds $(obj)/head_$(BITS).o $(obj)/lzma_misc.o $(obj)/piggy.o FORCE
$(call if_changed,ld)
@:
@@ -44,11 +44,11 @@
$(call if_changed,relocbin)
ifdef CONFIG_RELOCATABLE
-$(obj)/vmlinux.bin.gz: $(obj)/vmlinux.bin.all FORCE
- $(call if_changed,gzip)
+$(obj)/vmlinux.bin.lzma: $(obj)/vmlinux.bin.all FORCE
+ $(call if_changed,lzma)
else
-$(obj)/vmlinux.bin.gz: $(obj)/vmlinux.bin FORCE
- $(call if_changed,gzip)
+$(obj)/vmlinux.bin.lzma: $(obj)/vmlinux.bin FORCE
+ $(call if_changed,lzma)
endif
LDFLAGS_piggy.o := -r --format binary --oformat elf32-i386 -T
@@ -60,5 +60,5 @@
endif
-$(obj)/piggy.o: $(obj)/vmlinux.scr $(obj)/vmlinux.bin.gz FORCE
+$(obj)/piggy.o: $(obj)/vmlinux.scr $(obj)/vmlinux.bin.lzma FORCE
$(call if_changed,ld)