Re: [linux-next-20160302] Can't unpack initramfs.

From: Tetsuo Handa
Date: Sat Mar 05 2016 - 03:59:24 EST


I'm hitting a problem that initramfs is corrupted when booting from GRUB2 on VMware Player 6.0.6.
This problem does not occur when booting from qemu-kvm or from PXE on VMware Player 6.0.6.

[ 0.000000] Linux version 4.5.0-rc1+ (root@ccsecurity) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-4) (GCC) ) #381 Sat Mar 5 17:34:11 JST 2016
[ 0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz console=ttyS0,115200n8 console=tty0 panic=3
[ 0.000000] Disabled fast string operations
[ 0.000000] x86/fpu: xstate_offset[2]: 576, xstate_sizes[2]: 256
[ 0.000000] x86/fpu: Supporting XSAVE feature 0x01: 'x87 floating point registers'
[ 0.000000] x86/fpu: Supporting XSAVE feature 0x02: 'SSE registers'
[ 0.000000] x86/fpu: Supporting XSAVE feature 0x04: 'AVX registers'
[ 0.000000] x86/fpu: Enabled xstate features 0x7, context size is 832 bytes, using 'standard' format.
[ 0.000000] x86/fpu: Using 'eager' FPU context switches.
[ 0.000000] e820: BIOS-provided physical RAM map:
[ 0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009ebff] usable
[ 0.000000] BIOS-e820: [mem 0x000000000009ec00-0x000000000009ffff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000000dc000-0x00000000000fffff] reserved
[ 0.000000] BIOS-e820: [mem 0x0000000000100000-0x000000007fedffff] usable
[ 0.000000] BIOS-e820: [mem 0x000000007fee0000-0x000000007fefefff] ACPI data
[ 0.000000] BIOS-e820: [mem 0x000000007feff000-0x000000007fefffff] ACPI NVS
[ 0.000000] BIOS-e820: [mem 0x000000007ff00000-0x000000007fffffff] usable
[ 0.000000] BIOS-e820: [mem 0x00000000f0000000-0x00000000f7ffffff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000fec00000-0x00000000fec0ffff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000fee00000-0x00000000fee00fff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000fffe0000-0x00000000ffffffff] reserved
[ 0.000000] NX (Execute Disable) protection: active
[ 0.000000] e820: last_pfn = 0x80000 max_arch_pfn = 0x400000000
[ 0.000000] found SMP MP-table at [mem 0x000f6bf0-0x000f6bff] mapped at [ffff8800000f6bf0]
[ 0.000000] Using GB pages for direct mapping
[ 0.000000] RAMDISK: [mem 0x37f47000-0x37f9bfff]
[ 0.000000] Zone ranges:
[ 0.000000] DMA32 [mem 0x0000000000001000-0x000000007fffffff]
[ 0.000000] Normal empty
[ 0.000000] Movable zone start for each node
[ 0.000000] Early memory node ranges
[ 0.000000] node 0: [mem 0x0000000000001000-0x000000000009dfff]
[ 0.000000] node 0: [mem 0x0000000000100000-0x000000007fedffff]
[ 0.000000] node 0: [mem 0x000000007ff00000-0x000000007fffffff]
[ 0.000000] Initmem setup node 0 [mem 0x0000000000001000-0x000000007fffffff]
[ 0.000000] Intel MultiProcessor Specification v1.4
[ 0.000000] MPTABLE: OEM ID: INTEL
[ 0.000000] MPTABLE: Product ID: 440BX
[ 0.000000] MPTABLE: APIC at: 0xFEE00000
[ 0.000000] Processor #0 (Bootup-CPU)
[ 0.000000] Processor #2
[ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 1 reached. Processor 1/0x2 ignored.
[ 0.000000] Processor #4
[ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 1 reached. Processor 2/0x4 ignored.
[ 0.000000] Processor #6
[ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 1 reached. Processor 3/0x6 ignored.
[ 0.000000] IOAPIC[0]: apic_id 1, version 17, address 0xfec00000, GSI 0-23
[ 0.000000] Processors: 1
[ 0.000000] e820: [mem 0x80000000-0xefffffff] available for PCI devices
[ 0.000000] clocksource: refined-jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 1910969940391419 ns
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 516968
[ 0.000000] Kernel command line: BOOT_IMAGE=/boot/vmlinuz console=ttyS0,115200n8 console=tty0 panic=3
[ 0.000000] PID hash table entries: 4096 (order: 3, 32768 bytes)
[ 0.000000] Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes)
[ 0.000000] Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes)
[ 0.000000] Memory: 2058288K/2096628K available (1158K kernel code, 219K rwdata, 412K rodata, 436K init, 1280K bss, 38340K reserved, 0K cma-reserved)
[ 0.000000] NR_IRQS:4352 nr_irqs:48 16
[ 0.000000] Console: colour VGA+ 80x25
[ 0.000000] console [tty0] enabled
[ 0.000000] console [ttyS0] enabled
[ 0.000000] tsc: Fast TSC calibration using PIT
[ 0.000000] tsc: Detected 2793.150 MHz processor
[ 0.000004] Calibrating delay loop (skipped), value calculated using timer frequency.. 5586.30 BogoMIPS (lpj=2793150)
[ 0.000020] pid_max: default: 4096 minimum: 301
[ 0.000036] Mount-cache hash table entries: 4096 (order: 3, 32768 bytes)
[ 0.000994] Mountpoint-cache hash table entries: 4096 (order: 3, 32768 bytes)
[ 0.001010] Disabled fast string operations
[ 0.001025] ENERGY_PERF_BIAS: Set to 'normal', was 'performance'
[ 0.001041] ENERGY_PERF_BIAS: View and update with x86_energy_perf_policy(8)
[ 0.002014] Last level iTLB entries: 4KB 1024, 2MB 1024, 4MB 1024
[ 0.002030] Last level dTLB entries: 4KB 1024, 2MB 1024, 4MB 1024, 1GB 4
[ 0.002046] CPU: Intel(R) Core(TM) i5-4440S CPU @ 2.80GHz (family: 0x6, model: 0x3c, stepping: 0x3)
[ 0.002108] Performance Events: 16-deep LBR, Haswell events, core PMU driver.
[ 0.003001] perf_event_intel: CPUID marked event: 'cpu cycles' unavailable
[ 0.003017] perf_event_intel: CPUID marked event: 'instructions' unavailable
[ 0.003032] perf_event_intel: CPUID marked event: 'bus cycles' unavailable
[ 0.003986] perf_event_intel: CPUID marked event: 'cache references' unavailable
[ 0.004002] perf_event_intel: CPUID marked event: 'cache misses' unavailable
[ 0.004018] perf_event_intel: CPUID marked event: 'branch instructions' unavailable
[ 0.004033] perf_event_intel: CPUID marked event: 'branch misses' unavailable
[ 0.005001] ... version: 1
[ 0.005016] ... bit width: 48
[ 0.005032] ... generic registers: 8
[ 0.005047] ... value mask: 0000ffffffffffff
[ 0.005063] ... max period: 000000007fffffff
[ 0.005993] ... fixed-purpose events: 0
[ 0.006008] ... event mask: 00000000000000ff
[ 0.006201] ExtINT not setup in hardware but reported by MP table
[ 0.007179] ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=0 pin2=0
[ 0.221031] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 1911260446275000 ns
[ 0.222093] perf_event_intel: PMU erratum BJ122, BV98, HSD29 workaround disabled, HT off
[ 0.223072] clocksource: Switched to clocksource refined-jiffies
[ 0.224061] Unpacking initramfs...
[ 0.227045] Initramfs unpacking failed: junk in compressed archive
[ 0.228047] Freeing initrd memory: 340K (ffff880037f47000 - ffff880037f9c000)

Bisection reached to "x86/setup: Calculate ramdisk parameters only once".

# bad: [1c4a6915f1661477c76e187a2e4e155469232bd7] Merge remote-tracking branch 'tip/auto-latest'
# good: [59945951501df7b5e853bcd9e407ac3fe08e7b54] Merge remote-tracking branch 'spi/for-next'
# good: [afd2ff9b7e1b367172f18ba7f693dfb62bdcb2dc] Linux 4.4
# good: [6a13feb9c82803e2b815eca72fa7a9f5561d7861] Linux 4.3
# good: [64291f7db5bd8150a74ad2036f1037e6a0428df2] Linux 4.2
# good: [b953c0d234bc72e8489d3bf51a276c5c4ec85345] Linux 4.1
# good: [39a8804455fb23f09157341d3ba7db6d7ae6ee76] Linux 4.0
git bisect start 'next-20160302~39' 'next-20160302~40' 'v4.4' 'v4.3' 'v4.2' 'v4.1' 'v4.0'
# good: [675965b00d734c985e4285f5bec7e524d15fc4e1] perf: Export perf_event_sysfs_show()
git bisect good 675965b00d734c985e4285f5bec7e524d15fc4e1
# good: [993341215b639b301465872d07df19094b7c7642] Merge branch 'irq/core'
git bisect good 993341215b639b301465872d07df19094b7c7642
# good: [f636335db00f51f226c0e0fd95708cd7a2f6dd03] Merge branch 'perf/core'
git bisect good f636335db00f51f226c0e0fd95708cd7a2f6dd03
# good: [27e080368abb78715ac7d8b2efb5500e60ed17f8] Merge branch 'x86/asm'
git bisect good 27e080368abb78715ac7d8b2efb5500e60ed17f8
# good: [9cc6f743c7724eb9abaf27904194c169db85dd31] x86/microcode: Use kmemdup() rather than duplicating its implementation
git bisect good 9cc6f743c7724eb9abaf27904194c169db85dd31
# bad: [deae8431f83cf559349128f7cc7fc3268a16fc3b] Merge branch 'x86/microcode'
git bisect bad deae8431f83cf559349128f7cc7fc3268a16fc3b
# good: [a91bbe017552b80e12d712c85549b933a62c6ed4] x86/boot: Use proper array element type in memset() size calculation
git bisect good a91bbe017552b80e12d712c85549b933a62c6ed4
# bad: [2f0d67abbbeb220a1b87a358cad5927dc54ae572] Merge branch 'x86/boot'
git bisect bad 2f0d67abbbeb220a1b87a358cad5927dc54ae572
# bad: [6fc77525f509e16b1e909e5ffd6f9ad9dccc0f82] x86/setup: Calculate ramdisk parameters only once
git bisect bad 6fc77525f509e16b1e909e5ffd6f9ad9dccc0f82
# good: [25b4caf7c50e8c501310e8c515d8518b1850c948] x86/boot: Remove unused 'is_big_kernel' variable
git bisect good 25b4caf7c50e8c501310e8c515d8518b1850c948
# first bad commit: [6fc77525f509e16b1e909e5ffd6f9ad9dccc0f82] x86/setup: Calculate ramdisk parameters only once

Tetsuo Handa wrote:
> Hello. Did someone hit this problem?
>
> I haven't tried bisecting this. I think this is kconfig dependent.
>
> ---------- until next-20160301 ----------
> [ 0.000000] RAMDISK: [mem 0x35f1f000-0x36f87fff]
> (...snipped...)
> [ 1.522324] Trying to unpack rootfs image as initramfs...
> [ 1.927986] Freeing initrd memory: 16804K (ffff880035f1f000 - ffff880036f88000)
>
> ---------- next-20160302 and next-20160303 ----------
> [ 0.000000] RAMDISK: [mem 0x35f1e000-0x36f86fff]
> (...snipped...)
> [ 1.593637] Trying to unpack rootfs image as initramfs...
> [ 2.035467] rootfs image is not initramfs (no cpio magic); looks like an initrd
> (...snipped...)
> [ 3.088051] RAMDISK: Couldn't find valid RAM disk image starting at 0.
> [ 3.090892] VFS: Cannot open root device "UUID=98df1583-260a-423a-a193-182dade5d085" or unknown-block(0,0): error -6
> [ 3.095528] Please append a correct "root=" boot option; here are the available partitions:
> [ 3.099450] 0100 4096 ram0 (driver?)
> [ 3.101688] 0101 4096 ram1 (driver?)
> [ 3.104022] 0102 4096 ram2 (driver?)
> [ 3.106247] 0103 4096 ram3 (driver?)
> [ 3.108664] 0104 4096 ram4 (driver?)
> [ 3.110379] 0105 4096 ram5 (driver?)
> [ 3.112064] 0106 4096 ram6 (driver?)
> [ 3.113724] 0107 4096 ram7 (driver?)
> [ 3.115344] 0108 4096 ram8 (driver?)
> [ 3.117167] 0109 4096 ram9 (driver?)
> [ 3.118967] 010a 4096 ram10 (driver?)
> [ 3.120722] 010b 4096 ram11 (driver?)
> [ 3.122380] 010c 4096 ram12 (driver?)
> [ 3.124048] 010d 4096 ram13 (driver?)
> [ 3.125702] 010e 4096 ram14 (driver?)
> [ 3.127381] 010f 4096 ram15 (driver?)
> [ 3.129068] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
> [ 3.132197] Kernel Offset: disabled
> [ 3.134607] ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
>