This thread to collaborate all efforts towards porting kernel 3.4.x on to the Galaxy 3. If any developers wish to help then please let me know and I will add you to the SG3 group on Github (provided you have proven yourself capable of helping by forking the repository and submitting a pull request of changes you have made - I won't just add people if they are 'learning how to develop for Linux').
Changelog
https://github.com/sg3/android_kernel_samsung_s5p6442/commits/s5p6442-3.4
I chose the Github commit system to be the changelog as there are so many things going on at once it would be impossible to keep up with, and I cannot be assed explaining it. If you don't understand then ask, but please don't ask EVERYTHING. Most of the answers will be 'It just does'.
I am trying to follow the standard process for committing to GIT by doing 's5p6442: change' or 'apollo: change' so it is easier to see what is being fixed and why we are changing it so people reviewing code have an easier job. I expect other developers to follow this as well. Pull requests made that do not follow this naming convention will be rejected.
Source Code
Source: https://github.com/sg3/android_kernel_samsung_s5p6442
Members
The following members already have full read/write access to the repository:
cdesai
hillbeast <- has UART
marcellusbe <- has UART
moikop <- has UART
tom3q <- has UART
As you can see I also listed who has UART (that I currently know of). If you also have UART then let me know and I shall add it to the list. Having UART will be a huge help as it means we can see what is going on.
Why Do We Need Kernel 3.
Easier updating the kernel to add security and performance boosts from mainline Linux kernels
More support for new versions of Android
Android 4.0 was built upon Linux Kernel 3.0.x and therefore expects kernel 3.0s APIs
Faster, more secure system
NO SAMSUNG MORONIC CODE
Because it's just better
Please let me know if you are interested (able to) in helping this cause. Please don't put your hand up if you can't dedicate your phone to this. This will result in your phone being out of action quite a lot while we are testing, and if you need your phone 24/7 then you're going to need to keep flashing back. You will also NEED ODIN. Flashing from CWM is not an option.
Status
What is working
Basic mach-code for s5p6442
Serial/UART
CPU clock and most clock sources
Most mach addresses/IRQs/GPIOs
Kernel init
initramfs init
MTD/OneNAND
GPIO
Screen/Framebuffer
Keypad/buttons
Reboot
Real time clock
I2C over GPIO
HSMMC
What needs to be done
Samsung S3C I2C
Reboot modes
I2S
SDIO
Device Drivers (WiFi, Audio, sensors, etc)
UART Dump
Code:
Starting kernel at 0x22000000...
Uncompressing Linux... done, booting the kernel.
[ 0.000000] Booting Linux on physical CPU 0
[ 0.000000] Initializing cgroup subsys cpuset
[ 0.000000] Initializing cgroup subsys cpu
[ 0.000000] Linux version 3.4.27+ ([email protected]) (gcc version 4.6.2 20120613 (release) [ARM/embedded-4_6-branch revision 188521] (GNU Tools for ARM Embedded Processors) ) #Test Sun Jan 13 20:44:01 NZDT 2013
[ 0.000000] CPU: ARMv6-compatible processor [410fb767] revision 7 (ARMv6TEJ), cr=00c5387d
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT nonaliasing instruction cache
[ 0.000000] Machine: APOLLO
[ 0.000000] Memory policy: ECC disabled, Data cache writeback
[ 0.000000] CPU S5P6442 (id 0x36442000)
[ 0.000000] S3C24XX Clocks, Copyright 2004 Simtec Electronics
[ 0.000000] s5p6442_setup_clocks: clkdiv0 = 10100000
[ 0.000000] S5P6442: PLL settings, A=667000000, M=166000000, E=48000000
[ 0.000000] mout_apll: source is fout_apll (1), rate is 667000000
[ 0.000000] mout_mpll: source is fout_mpll (1), rate is 166000000
[ 0.000000] mout_epll: source is fout_epll (1), rate is 48000000
[ 0.000000] mout_arm: source is mout_apll (1), rate is 667000000
[ 0.000000] mout_d0: source is mout_mpll (1), rate is 166000000
[ 0.000000] mout_d0sync: source is mout_d0 (1), rate is 166000000
[ 0.000000] mout_d1: source is mout_mpll (1), rate is 166000000
[ 0.000000] mout_d1sync: source is mout_d1 (1), rate is 166000000
[ 0.000000] sclk_mfc: source is mout_mpll (0), rate is 166000000
[ 0.000000] sclk_mmc: source is mout_mpll (6), rate is 83000000
[ 0.000000] sclk_mmc: source is mout_mpll (6), rate is 83000000
[ 0.000000] sclk_mmc: source is mout_mpll (6), rate is 83000000
[ 0.000000] dout_a2m: source is fout_apll (1), rate is 667000000
[ 0.000000] dout_apll: source is mout_apll (1), rate is 667000000
[ 0.000000] hclkd1: source is mout_d1 (1), rate is 166000000
[ 0.000000] hclkd0: source is mout_d0 (1), rate is 166000000
[ 0.000000] pclkd0: source is mout_d0 (1), rate is 83000000
[ 0.000000] pclkd1: source is mout_d1 (1), rate is 83000000
[ 0.000000] S5P6442: HCLKD0=166000000, HCLKD1=166000000, PCLKD0=83000000, PCLKD1=83000000
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 84832
[ 0.000000] Kernel command line: console=ttySAC1,115200 version=Sbl(1.0.0) 2010-10-27 17:10:33
[ 0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
[ 0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
[ 0.000000] allocated 1212416 bytes of page_cgroup
[ 0.000000] please try 'cgroup_disable=memory' option if you don't want memory cgroups
[ 0.000000] Memory: 256MB 80MB = 336MB total
[ 0.000000] Memory: 324804k/324804k available, 19260k reserved, 0K highmem
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
[ 0.000000] fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
[ 0.000000] vmalloc : 0xe5800000 - 0xff000000 ( 408 MB)
[ 0.000000] lowmem : 0xc0000000 - 0xe5000000 ( 592 MB)
[ 0.000000] modules : 0xbf000000 - 0xc0000000 ( 16 MB)
[ 0.000000] .text : 0xc0008000 - 0xc0995db4 (9784 kB)
[ 0.000000] .init : 0xc0996000 - 0xc0c29000 (2636 kB)
[ 0.000000] .data : 0xc0c2a000 - 0xc0cae688 ( 530 kB)
[ 0.000000] .bss : 0xc0cae6ac - 0xc0e8bc38 (1910 kB)
[ 0.000000] SLUB: Genslabs=13, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[ 0.000000] NR_IRQS:208
[ 0.000000] VIC @f6000000: id 0x00041192, vendor 0x41
[ 0.000000] VIC @f6010000: id 0x00041192, vendor 0x41
[ 0.000000] VIC @f6020000: id 0x00041192, vendor 0x41
[ 0.000000] vic_register: too few VICs, increase CONFIG_ARM_VIC_NR
[ 0.000000] sched_clock: 32 bits at 41MHz, resolution 24ns, wraps every 103493ms
[ 0.000000] Console: colour dummy device 80x30
[ 0.000363] Calibrating delay loop... 663.55 BogoMIPS (lpj=1658880)
[ 0.060015] pid_max: default: 32768 minimum: 301
[ 0.060273] Security Framework initialized
[ 0.060345] AppArmor: AppArmor initialized
[ 0.060775] Mount-cache hash table entries: 512
[ 0.061926] Initializing cgroup subsys cpuacct
[ 0.061959] Initializing cgroup subsys memory
[ 0.062041] Initializing cgroup subsys devices
[ 0.062064] Initializing cgroup subsys freezer
[ 0.062082] Initializing cgroup subsys blkio
[ 0.062124] Initializing cgroup subsys perf_event
[ 0.062325] CPU: Testing write buffer coherency: ok
[ 0.062417] ftrace: allocating 24113 entries in 71 pages
[ 0.256329] hw perfevents: enabled with v6 PMU driver, 3 counters available
[ 0.256470] Setting up static identity map for 0x20652280 - 0x206522dc
[ 0.259465] devtmpfs: initialized
[ 0.261208] EVM: security.selinux
[ 0.261230] EVM: security.SMACK64
[ 0.261243] EVM: security.capability
[ 0.262295] gpiochip_add: registered GPIOs 0 to 7 on device: GPA0
[ 0.262327] gpiochip_add: registered GPIOs 9 to 10 on device: GPA1
[ 0.262348] gpiochip_add: registered GPIOs 12 to 15 on device: GPB
[ 0.262366] gpiochip_add: registered GPIOs 17 to 21 on device: GPC0
[ 0.262384] gpiochip_add: registered GPIOs 23 to 27 on device: GPC1
[ 0.262402] gpiochip_add: registered GPIOs 29 to 30 on device: GPD0
[ 0.262420] gpiochip_add: registered GPIOs 32 to 37 on device: GPD1
[ 0.262438] gpiochip_add: registered GPIOs 39 to 46 on device: GPE0
[ 0.262457] gpiochip_add: registered GPIOs 48 to 52 on device: GPE1
[ 0.262475] gpiochip_add: registered GPIOs 54 to 61 on device: GPF0
[ 0.262494] gpiochip_add: registered GPIOs 63 to 70 on device: GPF1
[ 0.262512] gpiochip_add: registered GPIOs 72 to 79 on device: GPF2
[ 0.262531] gpiochip_add: registered GPIOs 81 to 86 on device: GPF3
[ 0.262549] gpiochip_add: registered GPIOs 88 to 94 on device: GPG0
[ 0.262568] gpiochip_add: registered GPIOs 96 to 102 on device: GPG1
[ 0.262587] gpiochip_add: registered GPIOs 104 to 110 on device: GPG2
[ 0.262606] gpiochip_add: registered GPIOs 148 to 155 on device: GPJ0
[ 0.262624] gpiochip_add: registered GPIOs 157 to 162 on device: GPJ1
[ 0.262644] gpiochip_add: registered GPIOs 164 to 171 on device: GPJ2
[ 0.262664] gpiochip_add: registered GPIOs 173 to 180 on device: GPJ3
[ 0.262683] gpiochip_add: registered GPIOs 182 to 186 on device: GPJ4
[ 0.262702] gpiochip_add: registered GPIOs 188 to 195 on device: MP01
[ 0.262721] gpiochip_add: registered GPIOs 197 to 200 on device: MP02
[ 0.262739] gpiochip_add: registered GPIOs 202 to 206 on device: MP03
[ 0.262758] gpiochip_add: registered GPIOs 208 to 215 on device: MP04
[ 0.262777] gpiochip_add: registered GPIOs 217 to 224 on device: MP05
[ 0.262796] gpiochip_add: registered GPIOs 226 to 233 on device: MP06
[ 0.262815] gpiochip_add: registered GPIOs 235 to 242 on device: MP07
[ 0.262834] gpiochip_add: registered GPIOs 244 to 251 on device: MP10
[ 0.262853] gpiochip_add: registered GPIOs 112 to 119 on device: GPH0
[ 0.262872] gpiochip_add: registered GPIOs 121 to 128 on device: GPH1
[ 0.262891] gpiochip_add: registered GPIOs 130 to 137 on device: GPH2
[ 0.262910] gpiochip_add: registered GPIOs 139 to 146 on device: GPH3
[ 0.263470] dummy:
[ 0.264100] NET: Registered protocol family 16
[ 0.275100] apollo_machine_init : hw_rev_pin=0x0
[ 0.275128] apollo_machine_init : bootmode=0x0
[ 0.275146] apollo_machine_init : lcd_id=1
[ 0.275161] apollo_machine_init : uart_sel=1
[ 0.275216] hw-breakpoint: found 6 breakpoint and 1 watchpoint registers.
[ 0.275237] hw-breakpoint: maximum watchpoint size is 4 bytes.
[ 0.275523] S5P6442: Initializing architecture
[ 0.291494] bio: create slab <bio-0> at 0
[ 0.293402] SCSI subsystem initialized
[ 0.294000] usbcore: registered new interface driver usbfs
[ 0.294214] usbcore: registered new interface driver hub
[ 0.294630] usbcore: registered new device driver usb
[ 0.295434] i2c i2c-3: Not I2C compliant: can't read SCL
[ 0.295462] i2c i2c-3: Bus may be unreliable
[ 0.295487] i2c-gpio i2c-gpio.3: using pins 220 (SDA) and 219 (SCL, no clock stretching)
[ 0.296287] max8998 4-0066: No interrupt specified, no interrupts
[ 0.300785] VALIVE_1.1V: 1100 mV
[ 0.302519] VUSB+MIPI_1.1V: 1100 mV
[ 0.304283] VDAC_3.3V: 3300 mV
[ 0.306136] VTF_2.8V: 2800 mV
[ 0.307889] VCC_3.3V: 3300 mV
[ 0.310548] VLCD_1.8V: 1800 mV
[ 0.312288] VUSB+VADC_3.3V: 3300 mV
[ 0.314100] VCC+VCAM_2.8V: 2800 mV
[ 0.316692] VPLL_1.1V: 1100 mV
[ 0.318393] CAM_IO_2.8V: 2800 mV
[ 0.320204] CAM_ISP_1.2V: 1200 mV
[ 0.321958] CAM_A_2.8V: 2800 mV
[ 0.323682] CAM_CIF_1.8V: 1800 mV
[ 0.325508] CAM_AF_3.3V: 3300 mV
[ 0.327243] VMIPI_1.8V: 1800 mV
[ 0.329838] VCC_3.0V_LCD: 3000 mV
[ 0.331270] VARM_1.2V: 1200 mV
[ 0.332645] VINT_1.2V: 1200 mV
[ 0.334014] VCC_1.8V: 1800 mV
[ 0.336329] CAM_CORE_1.2V: 1200 mV
[ 0.337442] i2c-gpio i2c-gpio.4: using pins 182 (SDA) and 185 (SCL)
[ 0.337761] i2c-gpio i2c-gpio.7: using pins 153 (SDA) and 152 (SCL)
[ 0.338087] i2c-gpio i2c-gpio.8: using pins 34 (SDA) and 35 (SCL)
[ 0.338390] i2c-gpio i2c-gpio.9: using pins 178 (SDA) and 179 (SCL)
[ 0.338704] s3c-i2c s3c2410-i2c.0: slave address 0x10
[ 0.338750] s3c-i2c s3c2410-i2c.0: bus frequency set to 81 KHz
[ 0.338797] s3c-i2c s3c2410-i2c.0: cannot claim IRQ 78
[ 0.338850] s3c-i2c: probe of s3c2410-i2c.0 failed with error -38
[ 0.339021] s3c-i2c s3c2410-i2c.1: slave address 0x10
[ 0.339066] s3c-i2c s3c2410-i2c.1: bus frequency set to 81 KHz
[ 0.339106] s3c-i2c s3c2410-i2c.1: cannot claim IRQ 109
[ 0.339157] s3c-i2c: probe of s3c2410-i2c.1 failed with error -22
[ 0.339322] s3c-i2c s3c2410-i2c.2: slave address 0x10
[ 0.339364] s3c-i2c s3c2410-i2c.2: bus frequency set to 81 KHz
[ 0.339682] s3c-i2c s3c2410-i2c.2: i2c-2: S3C I2C adapter
[ 0.339810] Linux video capture interface: v2.00
[ 0.340585] Advanced Linux Sound Architecture Driver Version 1.0.25.
[ 0.341666] Bluetooth: Core ver 2.16
[ 0.341800] NET: Registered protocol family 31
[ 0.341822] Bluetooth: HCI device and connection manager initialized
[ 0.341843] Bluetooth: HCI socket layer initialized
[ 0.341860] Bluetooth: L2CAP socket layer initialized
[ 0.341920] Bluetooth: SCO socket layer initialized
[ 0.341941] NetLabel: Initializing
[ 0.341955] NetLabel: domain hash size = 128
[ 0.341967] NetLabel: protocols = UNLABELED CIPSOv4
[ 0.342112] NetLabel: unlabeled traffic allowed by default
[ 0.342849] Switching to clocksource s5p_clocksource_timer
[ 0.379780] AppArmor: AppArmor Filesystem Enabled
[ 0.409043] NET: Registered protocol family 2
[ 0.409412] IP route cache hash table entries: 4096 (order: 2, 16384 bytes)
[ 0.410301] TCP established hash table entries: 16384 (order: 5, 131072 bytes)
[ 0.411581] TCP bind hash table entries: 16384 (order: 4, 65536 bytes)
[ 0.412212] TCP: Hash tables configured (established 16384 bind 16384)
[ 0.412232] TCP: reno registered
[ 0.412256] UDP hash table entries: 256 (order: 0, 4096 bytes)
[ 0.412319] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[ 0.412878] NET: Registered protocol family 1
[ 0.413878] RPC: Registered named UNIX socket transport module.
[ 0.413908] RPC: Registered udp transport module.
[ 0.413924] RPC: Registered tcp transport module.
[ 0.413940] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 2.313502] audit: initializing netlink socket (disabled)
[ 2.313597] type=2000 audit(2.175:1): initialized
[ 2.518638] VFS: Disk quotas dquot_6.5.2
[ 2.519085] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[ 2.523547] NFS: Registering the id_resolver key type
[ 2.526646] fuse init (API version 7.18)
[ 2.527762] msgmni has been set to 634
[ 2.535433] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253)
[ 2.535935] io scheduler noop registered
[ 2.535965] io scheduler deadline registered
[ 2.536070] io scheduler cfq registered (default)
[ 2.545209] Console: switching to colour frame buffer device 30x25
[ 2.549050] s3c-fb s3c-fb: window 0: fb
[ 2.549647] Serial: 8250/16550 driver, 32 ports, IRQ sharing enabled
[ 2.564511] s5pv210-uart.0: ttySAC0 at MMIO 0xec000000 (irq = 74) is a S3C6400/10
[ 2.565120] s5pv210-uart.1: ttySAC1 at MMIO 0xec000400 (irq = 75) is a S3C6400/10
[ 3.688673] console [ttySAC1] enabled
[ 3.692714] s5pv210-uart.2: ttySAC2 at MMIO 0xec000800 (irq = 76) is a S3C6400/10
[ 3.701079] ramoops: platform device not found, using module parameters
[ 3.706799] ramoops: The memory size and the record size must be non-zero
[ 3.713399] ramoops: probe of ramoops failed with error -22
[ 3.735283] brd: module loaded
[ 3.744057] loop: module loaded
[ 3.745830] nbd: registered device at major 43
[ 3.762773] i2c-core: driver [fsa9480] using legacy suspend method
[ 3.763421] i2c-core: driver [fsa9480] using legacy resume method
[ 3.770606] mtdoops: mtd device (mtddev=name/number) must be supplied
[ 3.776125] =================================================================
[ 3.783321] Samsung OneNAND Driver (AUDI).
[ 3.787406] =================================================================
[ 3.794866] OneNAND: Clock gating is enabled.
[ 3.799181] Muxed OneNAND 512MB 1.8V 16-bit (0x50)
[ 3.803964] OneNAND version = 0x013e
[ 3.809584] Scanning device for bad blocks
[ 3.852229] onenand_bbt_wait: ecc error = 0x0001, controller error 0x0400
[ 3.853463] OneNAND eraseblock 320 is an initial bad block
[ 4.077529] OneNAND eraseblock 2047 is an initial bad block
[ 4.079391] Creating 8 MTD partitions on "s5p-onenand":
[ 4.082775] 0x000000a00000-0x000001180000 : "boot"
[ 4.090109] 0x000001180000-0x00000ed80000 : "system"
[ 4.095512] 0x00000ed80000-0x00001b800000 : "userdata"
[ 4.100622] 0x00001b800000-0x00001de00000 : "cache"
[ 4.105243] 0x00001de00000-0x00001f500000 : "efs"
[ 4.110030] 0x00001f500000-0x00001ffc0000 : "reservoir"
[ 4.115311] 0x00001ffc0000-0x000020000000 : "dgs"
[ 4.120079] 0x000000180000-0x000000200000 : "param"
[ 4.129186] Fixed MDIO Bus: probed
[ 4.129479] tun: Universal TUN/TAP device driver, 1.6
[ 4.132039] tun: (C) 1999-2004 Max Krasnyansky <[email protected]>
[ 4.138886] PPP generic driver version 2.4.2
[ 4.143197] PPP BSD Compression module registered
[ 4.147386] PPP Deflate Compression module registered
[ 4.155764] PPP MPPE Compression module registered
[ 4.157358] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 4.165883] mousedev: PS/2 mouse device common for all mice
[ 4.170690] input: samsung-keypad as /devices/platform/samsung-keypad/input/input0
[ 4.183677] max8998-rtc max8998-rtc: rtc core: registered max8998-rtc as rtc0
[ 4.185222] max8998-rtc max8998-rtc: Failed to request alarm IRQ: 9: -22
[ 4.192094] max8998-rtc max8998-rtc: RTC CHIP NAME: max8998-rtc
[ 4.198341] s3c-rtc s3c64xx-rtc: rtc disabled, re-enabling
[ 4.204232] s3c-rtc s3c64xx-rtc: rtc core: registered s3c as rtc1
[ 4.209837] s3c-rtc s3c64xx-rtc: warning: invalid RTC value so initializing it
[ 4.217293] i2c /dev entries driver
[ 4.223542] lirc_dev: IR Remote Control driver registered, major 252
[ 4.227104] IR NEC protocol handler initialized
[ 4.231789] IR RC5(x) protocol handler initialized
[ 4.236611] IR RC6 protocol handler initialized
[ 4.241188] IR JVC protocol handler initialized
[ 4.245773] IR Sony protocol handler initialized
[ 4.250448] IR RC5 (streamzap) protocol handler initialized
[ 4.256091] IR SANYO protocol handler initialized
[ 4.260894] IR MCE Keyboard/mouse protocol handler initialized
[ 4.266831] IR LIRC bridge handler initialized
[ 4.271884] vivi-000: V4L2 device registered as video0
[ 4.276490] Video Technology Magazine Virtual Video Capture Board ver 0.8.1 successfully loaded.
[ 4.286115] m2m-testdev m2m-testdev.0: mem2mem-testdevDevice registered as /dev/video1
[ 4.293614] S5P JPEG V4L2 Driver, (c) 2011 Samsung Electronics
[ 4.299987] s5p-jpeg s5p-jpeg.0: encoder device registered as /dev/video2
[ 4.306631] s5p-jpeg s5p-jpeg.0: decoder device registered as /dev/video3
[ 4.313092] s5p-jpeg s5p-jpeg.0: Samsung S5P JPEG codec
[ 4.319104] s5p-mfc s5p-mfc: decoder registered as /dev/video4
[ 4.324735] s5p-mfc s5p-mfc: encoder registered as /dev/video5
[ 4.331964] device-mapper: uevent: version 1.0.3
[ 4.335859] device-mapper: ioctl: 4.22.0-ioctl (2011-10-19) initialised: [email protected]
[ 4.344756] device-mapper: multipath: version 1.3.0 loaded
[ 4.349027] device-mapper: multipath round-robin: version 1.0.0 loaded
[ 4.355582] device-mapper: multipath queue-length: version 0.1.0 loaded
[ 4.362272] device-mapper: multipath service-time: version 0.2.0 loaded
[ 4.369166] Bluetooth: HCI UART driver ver 2.2
[ 4.373493] Bluetooth: HCI H4 protocol initialized
[ 4.378328] cpuidle: using governor ladder
[ 4.382413] cpuidle: using governor menu
[ 4.386665] sdhci: Secure Digital Host Controller Interface driver
[ 4.392711] sdhci: Copyright(c) Pierre Ossman
[ 4.397299] s3c-sdhci s3c-sdhci.0: clock source 0: mmc_busclk.0 (166000000 Hz)
[ 4.404494] s3c-sdhci s3c-sdhci.0: clock source 2: mmc_busclk.2 (83000000 Hz)
[ 4.413642] mmc0: SDHCI controller on samsung-hsmmc [s3c-sdhci.0] using ADMA
[ 4.419361] VTF_2.8V: operation not allowed
[ 4.423067] s3c-sdhci s3c-sdhci.0: could not set regulator OCR (-1)
[ 4.429579] s3c-sdhci s3c-sdhci.1: clock source 0: mmc_busclk.0 (166000000 Hz)
[ 4.436774] s3c-sdhci s3c-sdhci.1: clock source 2: mmc_busclk.2 (83000000 Hz)
[ 4.445522] VTF_2.8V: operation not allowed
[ 4.448203] s3c-sdhci s3c-sdhci.0: could not set regulator OCR (-1)
[ 4.454713] mmc1: no vmmc regulator found
[ 4.460242] mmc1: SDHCI controller on samsung-hsmmc [s3c-sdhci.1] using ADMA
[ 4.465940] s3c-sdhci s3c-sdhci.2: clock source 0: mmc_busclk.0 (166000000 Hz)
[ 4.476388] s3c-sdhci s3c-sdhci.2: clock source 2: mmc_busclk.2 (83000000 Hz)
[ 4.482175] VTF_2.8V: operation not allowed
[ 4.484543] s3c-sdhci s3c-sdhci.0: could not set regulator OCR (-1)
[ 4.491054] mmc2: no vmmc regulator found
[ 4.496685] mmc2: SDHCI controller on samsung-hsmmc [s3c-sdhci.2] using ADMA
[ 4.502247] sdhci-pltfm: SDHCI platform and OF driver helper
[ 4.509478] usbcore: registered new interface driver usbhid
[ 4.513457] usbhid: USB HID core driver
[ 4.518528] ashmem: initialized
[ 4.520813] logger: created 256K log 'log_main'
[ 4.528884] logger: created 256K log 'log_events'
[ 4.531558] logger: created 256K log 'log_radio'
[ 4.534910] logger: created 256K log 'log_system'
[ 4.552135] IPv4 over IPv4 tunneling driver
[ 4.553324] Initializing XFRM netlink socket
[ 4.555039] NET: Registered protocol family 17
[ 4.562972] NET: Registered protocol family 15
[ 4.565666] Bluetooth: RFCOMM TTY layer initialized
[ 4.569203] Bluetooth: RFCOMM socket layer initialized
[ 4.574203] Bluetooth: RFCOMM ver 1.11
[ 4.579328] NET: Registered protocol family 33
[ 4.584577] sctp: Hash tables configured (established 16384 bind 32768)
[ 4.589796] Registering the dns_resolver key type
[ 4.597496] VFP support v0.3: implementor 41 architecture 1 part 20 variant b rev 5
[ 4.604614] registered taskstats version 1
[ 4.614795] VCC_1.8V: incomplete constraints, leaving on
[ 4.615346] VINT_1.2V: incomplete constraints, leaving on
[ 4.621985] VARM_1.2V: incomplete constraints, leaving on
[ 4.626472] CAM_AF_3.3V: incomplete constraints, leaving on
[ 4.632575] CAM_ISP_1.2V: incomplete constraints, leaving on
[ 4.637494] CAM_IO_2.8V: incomplete constraints, leaving on
[ 4.643182] VPLL_1.1V: incomplete constraints, leaving on
[ 4.649650] VCC+VCAM_2.8V: incomplete constraints, leaving on
[ 4.656416] VUSB+VADC_3.3V: incomplete constraints, leaving on
[ 4.660221] VCC_3.3V: incomplete constraints, leaving on
[ 4.665695] VTF_2.8V: incomplete constraints, leaving on
[ 4.671548] VUSB+MIPI_1.1V: incomplete constraints, leaving on
[ 4.679449] input: gpio-keys as /devices/platform/gpio-keys.0/input/input1
[ 4.687987] max8998-rtc max8998-rtc: setting system clock to 2013-02-23 08:21:42 UTC (1361607702)
[ 4.692653] ALSA device list:
[ 4.695373] No soundcards found.
[ 4.699028] Warning: unable to open an initial console.
[ 4.730337] Freeing init memory: 2636K
[ 4.730385] Write protecting the kernel text section c0008000 - c090d000
[ 4.925033] mmc2: new SD card at address aaaa
[ 4.933164] mmcblk0: mmc2:aaaa SU01G 942 MiB
[ 4.936670] mmcblk0: p1
[ 5.113958] init: cannot open '/initlogo.rle'
[ 5.348302] EXT4-fs (mtdblock1): warning: maximal mount count reached, running e2fsck is recommended
[ 5.352863] EXT4-fs (mtdblock1): recovery complete
[ 5.357121] EXT4-fs (mtdblock1): mounted filesystem with ordered data mode. Opts: (null)
[ 5.366051] EXT4-fs (mtdblock1): re-mounted. Opts: (null)
[ 5.563526] EXT4-fs (mtdblock2): warning: maximal mount count reached, running e2fsck is recommended
[ 5.567565] EXT4-fs (mtdblock2): recovery complete
[ 5.572336] EXT4-fs (mtdblock2): mounted filesystem with ordered data mode. Opts: (null)
[ 5.638145] EXT4-fs (mtdblock3): warning: maximal mount count reached, running e2fsck is recommended
[ 5.642200] EXT4-fs (mtdblock3): recovery complete
[ 5.646958] EXT4-fs (mtdblock3): mounted filesystem with ordered data mode. Opts: (null)
[ 5.659542] EXT4-fs (mtdblock4): Unrecognized mount option "check=no" or missing value
[ 5.726831] lowmem_shrink: convert oom_adj to oom_score_adj:
[ 5.726892] oom_adj 0 => oom_score_adj 0
[ 5.730922] oom_adj 1 => oom_score_adj 58
[ 5.734942] oom_adj 2 => oom_score_adj 117
[ 5.739090] oom_adj 4 => oom_score_adj 235
[ 5.743230] oom_adj 7 => oom_score_adj 411
[ 5.747323] oom_adj 15 => oom_score_adj 1000
[ 5.752406] init (1): /proc/1/oom_adj is deprecated, please use /proc/1/oom_score_adj instead.
sh: can't access tty; job control turned off
# [ 6.736529] init: untracked pid 139 exited
[ 7.097207] warning: `rild' uses 32-bit capabilities (legacy support in use)
How To Build
git clone git://github.com/sg3/android_kernel_samsung_s5p6442 -b s5p6442-3.4 kernel-3.4
cd kernel-3.4
make ARCH=arm apollo_defconfig
./build.sh config
./build.sh
Things to be aware of
I feel these things should be mentioned as they are important changes that may disrupt peoples user experience on the phone.
Odin will not work anymore for flashing ROMs. It's as simple as that. We will no longer be using STL/BML/TFSR for interfacing with the NAND, and that is what ODIN expects to be working with: partitions in STL format. We simply will not support STL when this kernel is complete as it is closed source and will not function on kernel 3.x. We will be moving over to MTD which is mainline, and regularly gets updates to improve performance, reliability and in general to make it better.
Kernels will however be flashable from ODIN. This WILL NOT change. Kernels, modem.bin, Sbl and boot.bin will all still work from Odin. Data, system and cache will not.
I know this will annoy a few people, as it will disrupt me too as a developer and a Windows user, it's nice to be able to flash a ROM this way, but we're going to have to move towards distributing ROMs in system.imgs, or more preferably in update.zips.
There will be no support for Samsung Froyo/Eclair ROMs in kernel 3.x. The reasoning behind this is because Samsung ROMs want Samsung drivers and we won't be using any of them. We will be aiming to support CM7 and CM9, or generally any AOSP ROM, but not Samsungs proprietary ROM. You may think 'well why not make the drivers work for both', but the problem is not with making the drivers work, the problem is with the fact that a lot of these drivers were written for a kernel over 10 major versions out of date by now, and will not function on the new kernels APIs. If we try to make them work, it will make the kernel unstable and it's going to degrade the experience for the end user. As well as that, we don't know how half these drivers actually work because they are either coded so badly it's impossible to make heads or tails of it, or it's closed source and we can't find sources for it.
There are plenty of good custom kernels for Froyo, and I have heard word in the grapevine a few people want to make a custom Eclair kernel (not confirmed, and that is just rumours), but I will not be adding support for Froyo to kernel 3.x
Kernel 3.x will not allow us to work magic with the phone. Having a newer kernel won't allow us to make the CPU itself faster, we can't give it more RAM (or find more RAM in there). We won't be able to unlock more performance from x part. This is not a magical rebirth of the phone, this is just a major fix up of all the current issues we face with AOSP based ROMs on the phone. It will most likely make the phone faster, but we can't magically make it into a dual core or something like that. It just isn't possible.
I see a reserved post there!
And one more for good luck. Now you may post.
So many reserved posts WHOA!
could possibly add a guide to clone and build it
EDIT:
Btw, also add a note about the two branches on github
android-3.0 = android-common kernel from android.googlesource.com
linux-samsung = kgene/linux-samsung on kernel.org / github
+1! Yeah guys well done! Finally! Is it only me that I think that may we have a beta or final version of Gingerbread or (cross fingers) ICS if you guys port the 3.0 kernel for our phone?
Good to have a new thread now.....
All the best Mark & all the Devs in this project..
+1 Good luck!!
Good luck with this project
All the best.. Although this is gonna take much time still waiting patiently
I may sound like an ultra-noob here : But what is Kernel 3.0 ?
Google isn't help here
You could add this to the first post but only computer programmers will understand it, unlike me
ak700 said:
I may sound like an ultra-noob here : But what is Kernel 3.0 ?
Google isn't help here
Click to expand...
Click to collapse
Newer version of the kernel that will be completely built from scratch. tom3q did this on the Spica and it worked wonders, now it's time to do it to our phone.
Smonic said:
You could add this to the first post but only computer programmers will understand it, unlike me
Click to expand...
Click to collapse
I don't like kernel.org. They're hopeless, shown by their hacking last year and their slow recovery time, and then made worse for the fact that Linus Torvalds himself switched to Github.
This is what i wanted to see since long times now. I just wanto say thank you to all the devs for just trying
Frig. I was doing so well and then I hit a brick wall with bloody assembler...
Code:
[email protected]:~/devel/galaxy3/kernel-3.0$ ./build.sh Test
Setting kernel name to (Test)
Compiling the kernel
CHK include/linux/version.h
CHK include/generated/utsrelease.h
UPD include/generated/utsrelease.h
make[1]: `include/generated/mach-types.h' is up to date.
CALL scripts/checksyscalls.sh
CHK include/generated/compile.h
CC init/version.o
AS arch/arm/kernel/debug.o
arch/arm/kernel/debug.S: Assembler messages:
arch/arm/kernel/debug.S:157: Error: too many positional arguments
arch/arm/kernel/debug.S:173: Error: too many positional arguments
make[1]: *** [arch/arm/kernel/debug.o] Error 1
make: *** [arch/arm/kernel] Error 2
make: *** Waiting for unfinished jobs....
Anyone smarter than me with assember know what that means?
EDIT: It's to do with ASCII and UART
Line 156-170 debug.S
Code:
ENTRY(printascii)
addruart_current r3, r1, r2
b 2f
1: waituart r2, r3
senduart r1, r3
busyuart r2, r3
teq r1, #'\n'
moveq r1, #'\r'
beq 1b
2: teq r0, #0
ldrneb r1, [r0], #1
teqne r1, #0
bne 1b
mov pc, lr
ENDPROC(printascii)
hillbeast said:
Frig. I was doing so well and then I hit a brick wall with bloody assembler...
Code:
[email protected]:~/devel/galaxy3/kernel-3.0$ ./build.sh Test
Setting kernel name to (Test)
Compiling the kernel
CHK include/linux/version.h
CHK include/generated/utsrelease.h
UPD include/generated/utsrelease.h
make[1]: `include/generated/mach-types.h' is up to date.
CALL scripts/checksyscalls.sh
CHK include/generated/compile.h
CC init/version.o
AS arch/arm/kernel/debug.o
arch/arm/kernel/debug.S: Assembler messages:
arch/arm/kernel/debug.S:157: Error: too many positional arguments
arch/arm/kernel/debug.S:173: Error: too many positional arguments
make[1]: *** [arch/arm/kernel/debug.o] Error 1
make: *** [arch/arm/kernel] Error 2
make: *** Waiting for unfinished jobs....
Anyone smarter than me with assember know what that means?
EDIT: It's to do with ASCII and UART
Line 156-170 debug.S
Code:
ENTRY(printascii)
addruart_current r3, r1, r2
b 2f
1: waituart r2, r3
senduart r1, r3
busyuart r2, r3
teq r1, #'\n'
moveq r1, #'\r'
beq 1b
2: teq r0, #0
ldrneb r1, [r0], #1
teqne r1, #0
bne 1b
mov pc, lr
ENDPROC(printascii)
Click to expand...
Click to collapse
The error is not on /arch/arm/kernel/debug.S, it's on /arch/arm/mach-s5p6442/include/mach/debug-macro.S (Error caused by just putting Samsung's .32 code into 3.x I guess...).
Check out that addruart_current is defined a few lines before, and it refers to "adduart" which is defined at debug-macro.S (that's why before defining addruart_current, debug-macro.S is included).
And if you check debug-macro.S, you'll see that adduart is defined only with one parameter, when in debug.S it's used with two parameters. That's where the error comes from.
In order to fix this, you'll have to redo the debug-macro.S file so that adduart takes two parameters (IMO should be based in S5PC110 or Spica's (or maybe s5p64x0?) debug-macro.S).
moikop said:
The error is not on /arch/arm/kernel/debug.S, it's on /arch/arm/mach-s5p6442/include/mach/debug-macro.S (Error caused by just putting Samsung's .32 code into 3.x I guess...).
Check out that addruart_current is defined a few lines before, and it refers to "adduart" which is defined at debug-macro.S (that's why before defining addruart_current, debug-macro.S is included).
And if you check debug-macro.S, you'll see that adduart is defined only with one parameter, when in debug.S it's used with two parameters. That's where the error comes from.
In order to fix this, you'll have to redo the debug-macro.S file so that adduart takes two parameters (IMO should be based in S5PC110 or Spica's (or maybe s5p64x0?) debug-macro.S).
Click to expand...
Click to collapse
Brilliant. Now we're back to good ol' fixing up references.
hillbeast said:
Frig. I was doing so well and then I hit a brick wall with bloody assembler...
Code:
[email protected]:~/devel/galaxy3/kernel-3.0$ ./build.sh Test
Setting kernel name to (Test)
Compiling the kernel
CHK include/linux/version.h
CHK include/generated/utsrelease.h
UPD include/generated/utsrelease.h
make[1]: `include/generated/mach-types.h' is up to date.
CALL scripts/checksyscalls.sh
CHK include/generated/compile.h
CC init/version.o
AS arch/arm/kernel/debug.o
arch/arm/kernel/debug.S: Assembler messages:
arch/arm/kernel/debug.S:157: Error: too many positional arguments
arch/arm/kernel/debug.S:173: Error: too many positional arguments
make[1]: *** [arch/arm/kernel/debug.o] Error 1
make: *** [arch/arm/kernel] Error 2
make: *** Waiting for unfinished jobs....
Click to expand...
Click to collapse
you're using homebrew right? if yes, does it compile faster? in a word, ill grab my sis macbook pro !
BTW, which baseband are you gonna use for this kernel ?
My Moto X (2013, Dev Edition on VZW, 5.1 L w/ Xposed and root and unlocked BL) seem to spontaneous reboot a couple times a day, doing different things, usually Bluetooth is on while I'm doing something else, but can't find any other common factors. Sometimes I'm just checking Google Now topics, sometimes I'm checking links in Chrome (but also happens with Dolphin)
I searched XDA and it says to check out last_kmsg which I got, but it's rather... dense? But there seems to be no kernel error. The log mainly contains "wlan:" notes, until it reaches the following:
[ 1021.376560,1] wlan: [1142:E :HDD] wlan_hdd_set_filter: Packet Filter Request
: FA 1 params 2
[ 1021.376651,0] wlan: [1118:E :CTL] Data Offset 4 Data Len 6
[ 1021.376682,0]
[ 1021.376834,0] wlan: [1118:E :CTL] CData: 51:51:255:154:134:164
[ 1021.376834,0]
[ 1021.376956,0] wlan: [1118:E :CTL] MData: 0:0:0:0:0:0
[ 1021.376956,0]
[ 1021.377658,0] wlan: [1118:E :CTL] UsData Off 8 UsSend 68 cfg -549414016
[ 1021.377780,0] wlan: [1118:E :CTL] Out: FID 3 FT 1
[ 1021.377841,0] wlan: [1118:E :CTL] NParams 2 CT 0
[ 1021.377903,0] wlan: [1118:E :CTL] Outroto 2 Comp Flag 1
[ 1021.377903,0]
[ 1021.378086,0] wlan: [1118:E :CTL] Data Offset 6 Data Len 2
[ 1021.378086,0]
[ 1021.378238,0] wlan: [1118:E :CTL] CData: 8:6:0:0:0:0
[ 1021.378238,0]
[ 1021.378360,0] wlan: [1118:E :CTL] MData: 0:0:0:0:0:0
[ 1021.378360,0]
[ 1021.378543,0] wlan: [1118:E :CTL] Outroto 2 Comp Flag 1
[ 1021.378543,0]
[ 1021.378666,0] wlan: [1118:E :CTL] Data Offset 32 Data Len 4
[ 1021.378666,0]
[ 1021.378849,0] wlan: [1118:E :CTL] CData: 10:0:0:4:0:0
[ 1021.378849,0]
[ 1021.379032,0] wlan: [1118:E :CTL] MData: 0:0:0:0:0:0
[ 1021.379032,0]
[ 1027.570333,1] SysRq : Emergency Remount R/O
[ 1027.621913,1] EXT4-fs (mmcblk0p36): re-mounted. Opts: (null)
[ 1027.661437,1] EXT4-fs (mmcblk0p23): re-mounted. Opts: (null)
[ 1027.671447,1] pn544 reboot notification received
[ 1027.671509,1] pn544_dev_ioctl ven_logic_high = 1.
[ 1027.671570,1] pn544_dev_ioctl ven_logic_low = 0.
[ 1027.671661,1] pn544_dev_ioctl discharge_delay = 0.
[ 1027.671722,1] pn544_dev_ioctl : power off
[ 1027.705997,1] pn544 calling ioctl power off returned = 0
[ 1027.706058,1] mmc0: reboot notification received
[ 1027.759132,1] EXT4-fs (mmcblk0p28): re-mounted. Opts: (null)
[ 1027.759377,1] Emergency Remount complete
[ 1028.306851,1] Disabling non-boot CPUs ...
[ 1028.308896,0] CPU1: shutdown
[ 1028.314115,0] Restarting system with command ''.
[ 1028.314176,0] Current task:init(1) Parent task:swapper/0(0)
[ 1028.314298,0] Going down for restart now
ABOOT.GIT = MBM-NG-V30.BE-0-g34b7ccb
TZ.GIT = MBM-NG-V30.BE-0-gc10fd11
RPM.GIT = MBM-NG-V30.BE-0-g2aa06de
SBL3.GIT = MBM-NG-V30.BE-0-gb2b97c8
SBL2.GIT = MBM-NG-V30.BE-0-gb2b97c8
SBL1.GIT = MBM-NG-V30.BE-0-gb2b97c8
Linux version 3.4.42-g756aa87 ([email protected]) (gcc version 4.8 (GCC) ) #1 S
MP PREEMPT Mon Aug 17 07:58:00 CDT 2015
RAM: Samsung, S4 SDRAM, 2048 MB, MR5:0x01, MR6:0x11, MR7:0x00, MR8:0x18
ACPU Krait PVS: 2 Hexagon: 1 Fuse: 0x10800
socinfo: id=138, ver=1.1, raw_id=2017, raw_ver=1, hw_plat=0, hw_plat_ver=65536,
hw_plat_subtype=0
No errors detected
Click to expand...
Click to collapse
So for 6 seconds WiFi went blank, which caused OS to panic and reboot? I'm a little confused. Where do I go and what do I read to figure out what's my phone's problem?
kschang said:
My Moto X (2013, Dev Edition on VZW, 5.1 L w/ Xposed and root and unlocked BL) seem to spontaneous reboot a couple times a day, doing different things, usually Bluetooth is on while I'm doing something else, but can't find any other common factors. Sometimes I'm just checking Google Now topics, sometimes I'm checking links in Chrome (but also happens with Dolphin)
I searched XDA and it says to check out last_kmsg which I got, but it's rather... dense? But there seems to be no kernel error. The log mainly contains "wlan:" notes, until it reaches the following:
So for 6 seconds WiFi went blank, which caused OS to panic and reboot? I'm a little confused. Where do I go and what do I read to figure out what's my phone's problem?
Click to expand...
Click to collapse
Greetings,
As a senior member of this site, with a device that has a dedicated forum, you are expected to know how to find your way. XDA Assist is for new members who need help finding their way, it is not a help desk for troubleshooting issues. Please re-read the sticky threads for this forum so you have a better understanding of what we do here.
Regards,
The_Merovingian
Forum Moderator
Thread closed.
Hello Android kernel hackers,
I am trying to port the current ASB-patched LOS12.1 (github "cm12-amami") to a Teclast 98 (M1E9) tablet for which kernel sources are missing. My build completes fine, however, I run into a boot loop due to kernel panic with an (at least for me) totally unhelpful stack trace:
During init.rc processing, the kernel panics on logd startup when logd tries to read from /proc/meminfo with the following stack trace:
Code:
[ 126.200788]00:02:29.656321 openat(AT_FDCWD, "/proc/meminfo", O_RDONLY) = 4
[ 126.200956]00:02:29.656496 fstat(4, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
[ 126.201077]00:02:29.656614 mprotect(0x7faf52b000, 4096, PROT_READ|PROT_WRITE) = 0
[ 126.201187]00:02:29.656726 mprotect(0x7faf52b000, 4096, PROT_READ) = 0
[ 126.202709]00:02:29.656833 read(4,
* KERNEL PANIC HAPPENS HERE!!! *
Code:
[ 126.202739]<1> (1)[949:logd]<1>start....
[ 126.202805]<1> (1)[949:logd]Unable to handle kernel NULL pointer dereference at virtual address 00000016
[ 126.202817]<1> (1)[949:logd]pgd = ffffffc070dee000
[ 126.202828]<1> (1)[949:logd][00000016] *pgd=0000000000000000 (1)[949:logd]
[ 126.202846]<1> (1)[949:logd][KERN Warning] ERROR/WARN forces debug_lock off!
[ 126.202854]<1> (1)[949:logd][KERN Warning] check backtrace:
[ 126.202868]<1> (1)[949:logd]CPU: 1 PID: 949 Comm: logd Tainted: G W 3.10.65+ #1
[ 126.202878]<1> (1)[949:logd]Call trace:
[ 126.202899]<1> (1)[949:logd][<ffffffc000088f50>] dump_backtrace+0x0/0x16c
[ 126.202913]<1> (1)[949:logd][<ffffffc0000890cc>] show_stack+0x10/0x1c
[ 126.202931]<1> (1)[949:logd][<ffffffc0009a69a0>] dump_stack+0x1c/0x28
[ 126.202947]<1> (1)[949:logd][<ffffffc0002f7210>] debug_locks_off+0x40/0x5c
[ 126.202960]<1> (1)[949:logd][<ffffffc00009a260>] oops_enter+0xc/0x28
[ 126.202974]<1> (1)[949:logd][<ffffffc000089100>] die+0x28/0x1d8
[ 126.202989]<1> (1)[949:logd][<ffffffc0009a49ec>] __do_kernel_fault.part.5+0x70/0x84
[ 126.203003]<1> (1)[949:logd][<ffffffc000094260>] do_page_fault+0x348/0x34c
[ 126.203017]<1> (1)[949:logd][<ffffffc000094350>] do_translation_fault+0x40/0x4c
[ 126.203030]<1> (1)[949:logd][<ffffffc0000813fc>] do_mem_abort+0x38/0x98
which does not seem to uncover the root cause, but rather the root cause stack trace seems to be:
Code:
[ 133.341226]<1>-(1)[949:logd]Call trace:
[ 133.341239]<1>-(1)[949:logd][<ffffffc0001f37d8>] meminfo_proc_show+0x50/0x3c4
[ 133.341255]<1>-(1)[949:logd][<ffffffc0001aefb8>] seq_read+0x1a4/0x40c
[ 133.341271]<1>-(1)[949:logd][<ffffffc0001ebeec>] proc_reg_read+0x4c/0x7c
[ 133.341285]<1>-(1)[949:logd][<ffffffc00018e75c>] vfs_read+0x88/0x170
[ 133.341298]<1>-(1)[949:logd][<ffffffc00018ebf0>] SyS_read+0x40/0x8c
[ 133.341310]<1>-(1)[949:logd]Code: 52800001 91326000 97fe67c1 aa0003f3 (f9400c00)
[ 133.341322]<1>-(1)[949:logd]---[ end trace 1b75b31a2719ed20 ]---
[ 133.341332]<1>-(1)[949:logd]Kernel panic - not syncing: Fatal exception
[ 133.341423]<1>-(1)[949:logd]mrdump: cpu[1] tsk:ffffffc073a3e000 ti:ffffffc070e64000
[ 134.241428]<1>-(1)[949:logd]
Most interestingly, the exact same kernel blob can successfully boot stock Android 5.1 and successfully read from /proc/meminfo when booted from stock boot.img while it crashes with my LOS12.1 build boot.img.
bootimg.cfg (using abootimg) is identical in both cases (except the boot size):
Code:
bootsize = 0x780000
pagesize = 0x800
kerneladdr = 0x40080000
ramdiskaddr = 0x44000000
secondaddr = 0x40f00000
tagsaddr = 0x4e000000
name = 1513588375
cmdline = bootopt=64S3,32N2,64N2 androidboot.selinux=permissive
Thanks a million in advance for any ideas or pointers about what might be going wrong with this stock kernel blob and my LOS12.1 build with regards to meminfo_proc_show()! :highfive:
awl14
Issue resolved!
Finally resolved by making changes (a whole number of, so I haven't tracked it down to one particular change) to my CM12.1 build's system partition, making it resemble the stock image more closely.
I still don't have any clues why the kernel would crash on reading from /proc/meminfo due to "wrong"/buggy contents in the system partition (/system file system), but as the issue is resolved, this can be regarded as a proof that such content in system can indeed matter in a critical way for the behaviour of the kernel...
My custom ROM for Teclast 98 (M1E9) runs fine now, I will publish a download link soon on xda.
Panic caused by kernel reading file /system/bin/cpuinfo
I encountered the same issue and was able to find the root cause. The kernel I'm dealing with has been modified by Chinese crooks who fake the amount of memory in the device by intercepting meminfo_proc_show(). In this routine, they read the file /system/bin/cpuinfo, apparently extracting the value to be shown to the user as the memory size from that file. The code does not even test the return code from the file opening routine, and simply crashes the kernel if the file is not present.