Project

General

Profile

GalaxyNexusI9250SerialConsole » History » Version 21

Denis 'GNUtoo' Carikli, 01/29/2020 11:23 PM

1 16 Paul Kocialkowski
h1. Galaxy Nexus (I9250) Serial Console
2 1 Denis 'GNUtoo' Carikli
3 19 Denis 'GNUtoo' Carikli
See [[SamsungSerial]] for the hardware setup.
4 1 Denis 'GNUtoo' Carikli
5 19 Denis 'GNUtoo' Carikli
h2. Without patching the kernel on Replicant 6
6
7
Adding @loglevel=8 fiq_debugger.console_enable=1 fiq_debugger.no_sleep=1@ to the kernel command line enables to see some of the boot of the kernel without having to recompile the kernel.
8
9
Though it requires to repack a boot.img to add the commandline arguments.
10
<pre>
11
IMAGE ?= boot.img
12
EXTRA_CMDLINE ?= loglevel=8 fiq_debugger.console_enable=1 fiq_debugger.no_sleep=1
13
14
.PHONY: $(IMAGE) flash
15
$(IMAGE):
16
	unbootimg --kernel kernel \
17
		--ramdisk ramdisk \
18
		-i ../$(IMAGE)
19
	mkbootimg \
20
		--kernel kernel \
21
		--ramdisk ramdisk \
22
		--base 0x80000000 \
23
		--cmdline "androidboot.hardware=tuna ${EXTRA_CMDLINE}" \
24
		-o $(IMAGE)
25
flash:
26
	fastboot flash boot $(IMAGE)
27
	fastboot flash recovery $(IMAGE)
28
	fastboot boot $(IMAGE)
29
</pre>
30
31 21 Denis 'GNUtoo' Carikli
At boot we then have the following:
32
<pre>
33
[sbl_board_charger_init_post] : Succeed set model data : 0x78!!!!!
34
====== VCELL : 402500, SOC : 92, nType : 4 ======
35
[Charger] nScaledVCELL : 402500000, nDesriedSOC, : 90, nMaxSOC : 110, nMinSOC : 70
36
[ omap_power_get_reset_source :47]	 PRM_RSTST : 0x1
37
[ __omap_usbacc_test_donwload_by_musb :280]	 nDeviceType : 0x4
38
[ omap_usbacc_get_reboot_reason :333]	 nJigStatus = 0x00000001
39
[ __sbl_board_hw_init_late :706]	 final reboot mode in cable =  0x20000
40
[ __sbl_board_hw_init_late :717]	 Wake up by TA / USB / JIG
41
* FB base addr = 0xbea70000!
42
* PANEL_S6E8AA0_ID_READ : 0x12, 0x8e, 0x9b.
43
[ omap_power_get_reset_source :47]	 PRM_RSTST : 0x1
44
message.command = 
45
message.status = 
46
message.recovery = 
47
�<hit enter to activate fiq debugger>
48
[    0.000000] Initializing cgroup subsys cpu
49
[    0.000000] Linux version 3.0.101-replicant (wolfi@machinist) (gcc version 5.4.1 20160919 (15:5.4.1+svn241155-1) ) #1 SMP PREEMPT Sun Dec 10 11:40:22 UTC 2017
50
[    0.000000] CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c5387d
51
[    0.000000] CPU: VIPT nonaliasing data cache, VIPT aliasing instruction cache
52
[    0.000000] Machine: Tuna
53
[    0.000000] android_display: setting default resolution 720*1280, bpp=4
54
[    0.000000] android_display: tiler1d 29491200
55
[    0.000000] android_display: setting fb0.vram to 7864320
56
[    0.000000] android_display: setting vram to 7864320 at address 0xbea00000
57
[    0.000000] android_display: ion carveouts: 104726528 tiler2d, 0 nonsecure
58
[    0.000000] omap4_total_ram_size = 0x40000000
59
[    0.000000] omap4_smc_size = 0x300000
60
[    0.000000] omap4_ion_heap_secure_input_size = 0x900000
61
[    0.000000] omap4_ion_heap_secure_output_wfdhdcp_size = 0x0
62
[    0.000000] omap4_ducati_heap_size = 0x6900000
63
[    0.000000] omap4_ion_heap_tiler_mem_size = 0x0
64
[    0.000000] omap4_ion_heap_nonsec_tiler_mem_size  = 0x0
65
[    0.000000] omap4_smc_addr = 0xbfd00000
66
[    0.000000] omap4_ion_heap_secure_input_addr = 0xba300000
67
[    0.000000] omap4_ion_heap_secure_output_wfdhdcp_addr = 0xba300000
68
[    0.000000] omap4_ducati_heap_addr = 0xb3a00000
69
[    0.000000] omap4_ion_heap_tiler_mem_addr = 0xb3a00000
70
[    0.000000] omap4_ion_heap_nonsec_tiler_mem_addr  = 0xb3a00000
71
[    0.000000] Reserving CMA IPU + RPMSG region at address = 0xb3800000 with size = 0x7800000
72
[    0.000000] cma: CMA: reserved 120 MiB at b3800000
73
[    0.000000] CMA RPMSG region: address = 0xb3a00000, size = 0x8c000
74
[    0.000000] CMA IPU region: address = 0xb3a8c000, size = 0x7174000
75
[    0.000000] omap_ion_init: secure_input id=2 [ba300000-bac00000] size=900000
76
[    0.000000] omap_ion_init: secure_output_wfdhdcp id=5 [ba300000-ba300000] size=0
77
[    0.000000] omap_ion_init: tiler id=1 [b3a00000-b3a00000] size=0
78
[    0.000000] omap_ion_init: nonsecure_tiler id=3 [b3a00000-b3a00000] size=0
79
[    0.000000] omap_ion_init: system id=0 [0-0] size=0
80
[    0.000000] omap_ion_init: tiler_reservation id=4 [0-0] size=0
81
[    0.000000] Reserving 8388608 bytes SDRAM for VRAM
82
[    0.000000] Memory policy: ECC disabled, Data cache writealloc
83
[    0.000000] OMAP4460 ES1.1
84
[    0.000000] SRAM: Mapped pa 0x4030d000 to va 0xfe40d000 size: 0x1000
85
[    0.000000] On node 0 totalpages: 259584
86
[    0.000000] free_area_init_node: node 0, pgdat c09580a0, node_mem_map c09e3000
87
[    0.000000]   Normal zone: 256 pages used for memmap
88
[    0.000000]   Normal zone: 0 pages reserved
89
[    0.000000]   Normal zone: 32512 pages, LIFO batch:7
90
[    0.000000]   HighMem zone: 1792 pages used for memmap
91
[    0.000000]   HighMem zone: 225024 pages, LIFO batch:31
92
[    0.000000] PERCPU: Embedded 7 pages/cpu @c11ea000 s7744 r8192 d12736 u32768
93
[    0.000000] pcpu-alloc: s7744 r8192 d12736 u32768 alloc=8*4096
94
[    0.000000] pcpu-alloc: [0] 0 [0] 1 
95
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 257536
96
[    0.000000] Kernel command line: console=ttyFIQ0 androidboot.console=ttyFIQ0 mem=1G vmalloc=768M omap_wdt.timer_margin=30 no_console_suspend androidboot.hardware=tuna loglevel=8 fiq_debugger.console_enable=1 fiq_debugger.no_sleep=1 androidboot.serialno=016B756D14021016 androidboot.bootloader=PRIMELA03 androidboot.baseband=I9250XXLA2 lcd_bootfb=0xbea70000 mms_ts.panel_id=18 androidboot.macaddr=
97
[    0.000000] PID hash table entries: 512 (order: -1, 2048 bytes)
98
[    0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
99
[    0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
100
[    0.000000] allocated 4194304 bytes of page_cgroup
101
[    0.000000] please try 'cgroup_disable=memory' option if you don't want memory cgroups
102
[    0.000000] Memory: 512MB 488MB 14MB = 1014MB total
103
[    0.000000] Memory: 891864k/891864k available, 156712k reserved, 784384K highmem
104
[    0.000000] Virtual kernel memory layout:
105
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
106
[    0.000000]     fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
107
[    0.000000]     DMA     : 0xff000000 - 0xffe00000   (  14 MB)
108
[    0.000000]     vmalloc : 0xc8800000 - 0xf8000000   ( 760 MB)
109
[    0.000000]     lowmem  : 0xc0000000 - 0xc8000000   ( 128 MB)
110
[    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
111
[    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
112
[    0.000000]       .init : 0xc0008000 - 0xc0068000   ( 384 kB)
113
[    0.000000]       .text : 0xc0068000 - 0xc08f0000   (8736 kB)
114
[    0.000000]       .data : 0xc08f0000 - 0xc095a400   ( 425 kB)
115
[    0.000000]        .bss : 0xc095a424 - 0xc09e2cf0   ( 547 kB)
116
[    0.000000] SLUB: Genslabs=13, HWalign=32, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
117
[    0.000000] Preemptible hierarchical RCU implementation.
118
[    0.000000] NR_IRQS:410
119
[    0.000000] omap_hwmod: dpll_mpu_m2_ck: missing clockdomain for dpll_mpu_m2_ck.
120
[    0.000000] OMAP clockevent source: GPTIMER1 at 32768 Hz
121
[    0.000000] sched_clock: 32 bits at 32kHz, resolution 30517ns, wraps every 131071999ms
122
[    0.000061] Calibrating delay loop... 1194.24 BogoMIPS (lpj=4665344)
123
[    0.015686] pid_max: default: 32768 minimum: 301
124
[    0.070648] Security Framework initialized
125
[    0.070648] SELinux:  Initializing.
126
[    0.070648] SELinux:  Starting in permissive mode
127
[    0.070648] Mount-cache hash table entries: 512
128
[    0.070648] Initializing cgroup subsys debug
129
[    0.070648] Initializing cgroup subsys cpuacct
130
[    0.070648] Initializing cgroup subsys memory
131
[    0.071960] Initializing cgroup subsys freezer
132
[    0.071960] Initializing cgroup subsys bfqio
133
[    0.071990] CPU: Testing write buffer coherency: ok
134
[    0.071990] ftrace: allocating 23423 entries in 69 pages
135
[    0.099975] hw perfevents: enabled with ARMv7 Cortex-A9 PMU driver, 7 counters available
136
[    0.100128] L310 cache controller enabled
137
[    0.100128] l2x0: 16 ways, CACHE_ID 0x410000c7, AUX_CTRL 0x5e470000, Cache size: 1048576 B
138
[    0.178161] CPU1: Booted secondary processor
139
[    0.209411] Brought up 2 CPUs
140
[    0.209411] SMP: Total of 2 processors activated (2388.48 BogoMIPS).
141
[    0.209686] omap_hwmod: _populate_mpu_rt_base found no _mpu_rt_va for emif_fw
142
[    0.213470] omap_hwmod: _populate_mpu_rt_base found no _mpu_rt_va for l3_instr
143
[    0.213500] omap_hwmod: _populate_mpu_rt_base found no _mpu_rt_va for l3_main_1
144
[    0.213500] omap_hwmod: _populate_mpu_rt_base found no _mpu_rt_va for l3_main_2
145
[    0.213531] omap_hwmod: _populate_mpu_rt_base found no _mpu_rt_va for l4_abe
146
[    0.213531] omap_hwmod: _populate_mpu_rt_base found no _mpu_rt_va for l4_cfg
147
[    0.213562] omap_hwmod: _populate_mpu_rt_base found no _mpu_rt_va for l4_per
148
[    0.213562] omap_hwmod: _populate_mpu_rt_base found no _mpu_rt_va for l4_wkup
149
[    0.213592] omap_hwmod: _populate_mpu_rt_base found no _mpu_rt_va for mpu_private
150
[    0.213592] omap_hwmod: _populate_mpu_rt_base found no _mpu_rt_va for sl2if
151
[    0.213592] omap_hwmod: _populate_mpu_rt_base found no _mpu_rt_va for thermal_sensor
152
[    0.213775] omap_hwmod: _populate_mpu_rt_base found no _mpu_rt_va for usbhs_ehci
153
[    0.213775] omap_hwmod: l3_div_ck: missing clockdomain for l3_div_ck.
154
[    0.213775] omap_hwmod: l4_div_ck: missing clockdomain for l4_div_ck.
155
[    0.217193] _omap4_module_wait_ready: Timeout waiting for module enable (mcpdm_fck: clkctrl = 0x30002)
156
[    0.222106] omap_hwmod: mcpdm: cannot be enabled (3)
157
[    0.224426] print_constraints: dummy: 
158
[    0.225006] NET: Registered protocol family 16
159
[    0.231140] GPMC revision 6.0
160
[    0.231140] EMIF0 is enabled with IRQ142
161
[    0.231140] EMIF1 is enabled with IRQ143
162
[    0.231140] Last reset was cold reset (PRM_RSTST=0x1)
163
[    0.232452] HSI: device registered as omap_hwmod: hsi
164
[    0.233001] OMAP GPIO hardware version 0.1
165
[    0.233886] omap_mux_init: Add partition: #1: core, flags: 2
166
[    0.235565] omap_mux_init: Add partition: #2: wkup, flags: 2
167
[    0.235809] Tuna HW revision: 09 (Maguro 8th Sample), cpu OMAP4460 ES1.1 
168
[    0.237884] Using 
169
[    0.241577] _omap_mux_init_gpio: Multiple gpio paths (2) for gpio102
170
[    0.241577] omap_mux_init_gpio: Could not set gpio102
171
[    0.242065] _omap_mux_init_gpio: Multiple gpio paths (2) for gpio101
172
[    0.242095] omap_mux_init_gpio: Could not set gpio101
173
[    0.242248] _omap_mux_init_gpio: Multiple gpio paths (2) for gpio100
174
[    0.242309] omap_mux_init_gpio: Could not set gpio100
175
[    0.242309] hw-breakpoint: found 6 breakpoint and 1 watchpoint registers.
176
[    0.242950] hw-breakpoint: 1 breakpoint(s) reserved for watchpoint single-step.
177
[    0.242950] hw-breakpoint: maximum watchpoint size is 4 bytes.
178
[    0.247924] OMAP DMA hardware revision 0.0
179
[    0.248443] omap_rproc_get_pool: carveout memory is unavailable: 0x0, 0x0
180
[    0.257873] bio: create slab <bio-0> at 0
181
[    0.258270] print_constraints: vwl1271: 2000 mV 
182
[    0.258270] i2c-core: driver [twl] using legacy suspend method
183
[    0.259094] i2c-core: driver [twl] using legacy resume method
184
[    0.259094] SCSI subsystem initialized
185
[    0.260345] usbcore: registered new interface driver usbfs
186
[    0.260833] usbcore: registered new interface driver hub
187
[    0.260925] usbcore: registered new device driver usb
188
[    0.261993] i2c-gpio i2c-gpio.5: using pins 98 (SDA) and 99 (SCL)
189
[    0.262237] omap_i2c omap_i2c.1: bus 1 rev4.0 at 400 kHz
190
[    0.262237] Skipping twl internal clock init and using bootloader value (unknown osc rate)
191
[    0.266479] twl6030: PIH (irq 39) chaining IRQs 368..387
192
[    0.268676] print_constraints: VUSB: 3300 mV normal standby
193
[    0.269256] print_constraints: VMMC: 1800 mV normal standby
194
[    0.270019] print_constraints: VPP: 1800 <--> 2500 mV at 1900 mV normal standby
195
[    0.270385] print_constraints: VUSIM: 2200 mV normal standby
196
[    0.270385] print_constraints: VCXIO: 1800 mV normal standby
197
[    0.270385] print_constraints: VDAC: 1800 mV normal standby
198
[    0.271881] print_constraints: VAUX1_6030: 3000 mV normal standby
199
[    0.272674] print_constraints: VAUX2_6030: 1200 <--> 2800 mV at 1800 mV normal standby
200
[    0.273071] print_constraints: VAUX3_6030: 3100 mV normal standby
201
[    0.273925] print_constraints: VDD3: 
202
[    0.274627] print_constraints: VMEM: at 1250 mV 
203
[    0.275482] print_constraints: V2V1: 2100 mV normal standby
204
[    0.276245] print_constraints: VANA: 2100 mV normal standby
205
[    0.276947] print_constraints: CLK32KG: 
206
[    0.277984] print_constraints: CLK32KAUDIO: 
207
[    0.278198] omap_i2c omap_i2c.2: bus 2 rev4.0 at 400 kHz
208
[    0.278564] omap_i2c omap_i2c.3: bus 3 rev4.0 at 400 kHz
209
[    0.278869] omap_i2c omap_i2c.4: bus 4 rev4.0 at 400 kHz
210
[    0.279815] omap-rproc omap-rproc.0: dsp is available
211
[    0.280334] omap-rproc omap-rproc.1: ipu is available
212
[    0.280334] Advanced Linux Sound Architecture Driver Version 1.0.24.
213
[    0.280334] Bluetooth: Core ver 2.16
214
[    0.280334] NET: Registered protocol family 31
215
[    0.281280] Bluetooth: HCI device and connection manager initialized
216
[    0.281280] Bluetooth: HCI socket layer initialized
217
[    0.281311] Bluetooth: L2CAP socket layer initialized
218
[    0.281311] Bluetooth: SCO socket layer initialized
219
[    0.281799] cfg80211: Calling CRDA to update world regulatory domain
220
[    0.281951] Switching to clocksource 32k_counter
221
[    0.287506] Switched to NOHz mode on CPU #0
222
[    0.287536] Switched to NOHz mode on CPU #1
223
[    0.304016] musb-hdrc: version 6.0, musb-dma, otg (peripheral+host)
224
[    0.304565] musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, bulk combine, bulk split, HB-ISO Rx, HB-ISO Tx, SoftConn)
225
[    0.304626] musb-hdrc: MHDRC RTL version 2.0 
226
[    0.304656] musb-hdrc: setup fifo_mode 4
227
[    0.304656] musb-hdrc: 28/31 max ep, 16384/16384 memory
228
[    0.304901] musb-hdrc musb-hdrc: USB OTG mode controller at fc0ab000 using DMA, IRQ 124
229
[    0.305206] NET: Registered protocol family 2
230
[    0.305206] IP route cache hash table entries: 4096 (order: 2, 16384 bytes)
231
[    0.306427] TCP established hash table entries: 16384 (order: 5, 131072 bytes)
232
[    0.307037] TCP bind hash table entries: 16384 (order: 5, 196608 bytes)
233
[    0.307037] TCP: Hash tables configured (established 16384 bind 16384)
234
[    0.307403] TCP reno registered
235
[    0.307403] UDP hash table entries: 128 (order: 0, 4096 bytes)
236
[    0.307403] UDP-Lite hash table entries: 128 (order: 0, 4096 bytes)
237
[    0.307952] NET: Registered protocol family 1
238
[    0.307952] Trying to unpack rootfs image as initramfs...
239
[    0.388488] Freeing initrd memory: 984K
240
[    0.854309] PHOENIX_LAST_TURNOFF_STS: 0x01
241
[    1.973510] console [ttyFIQ0] enabled
242
[    1.973510] Registered FIQ tty driver c7908b40
243
[    1.982574] ram_console: got buffer at a0000000, size 200000
244
[    1.988281] ram_console: uncorrectable error in header
245
[    1.993713] ram_console: no valid data in buffer (sig = 0xc0c4c0c0)
246
[    2.024993] console [ram-1] enabled
247
[    2.036987] omap-iommu omap-iommu.0: ducati registered
248
[    2.036987] omap-iommu omap-iommu.1: tesla registered
249
[    2.050048] audit: initializing netlink socket (disabled)
250
[    2.050048] type=2000 audit(2.023:1): initialized
251
[    2.061523] highmem bounce pool size: 64 pages
252
[    2.080383] NTFS driver 2.1.30 [Flags: R/O].
253
[    2.088287] fuse init (API version 7.16)
254
[    2.088287] msgmni has been set to 451
255
[    2.097930] SELinux:  Registering netfilter hooks
256
[    2.105377] io scheduler noop registered
257
[    2.109436] io scheduler deadline registered
258
[    2.113922] io scheduler cfq registered (default)
259
[    2.114044] io scheduler bfq registered
260
[    2.114044] BFQ I/O-scheduler: v7r8
261
[    2.127624] OMAP DSS rev 4.0
262
[    2.133148] Keyboard driver not present
263
[    2.137634] dsscomp: initializing.
264
[    2.137634] misc dsscomp: display0=s6e8aa0
265
[    2.145965] misc dsscomp: display1=hdmi_panel
266
[    2.150177] misc dsscomp: found 2 displays and 4 overlays, WB overlay 1
267
[    2.157562] could not allocate slot
268
[    2.172393] omap-rproc omap-rproc.1: powering up ipu
269
[    2.178192] virtio_rpmsg_bus virtio0: rpmsg backend virtproc probed successfully
270
[    2.178192] virtio_rpmsg_bus virtio1: rpmsg backend virtproc probed successfully
271
[    2.193939] omap_uart.0: ttyO0 at MMIO 0x4806a000 (irq = 104) is a OMAP UART0
272
[    2.202362] omap_uart.1: ttyO1 at MMIO 0x4806c000 (irq = 105) is a OMAP UART1
273
[    2.210235] omap_uart.3: ttyO3 at MMIO 0x4806e000 (irq = 102) is a OMAP UART3
274
[    2.218048] omap_ion_probe: adding heap secure_input of type 2 with ba300000@900000
275
[    2.226226] omap_ion_probe: adding heap secure_output_wfdhdcp of type 2 with ba300000@0
276
[    2.234436] omap_ion_probe: adding heap tiler of type 4 with b3a00000@0
277
[    2.234466] omap_ion_probe: adding heap nonsecure_tiler of type 4 with b3a00000@0
278
[    2.248992] omap_ion_probe: adding heap system of type 0 with 0@0
279
[    2.255249] omap_ion_probe: adding heap tiler_reservation of type 5 with 0@0
280
[    2.267364] brd: module loaded
281
[    2.275177] loop: module loaded
282
[    2.275177] zram: Created 1 device(s) ...
283
[    2.284790] input: barometer as /devices/virtual/input/input0
284
[    2.291107] sec_jack_probe : Registering jack driver
285
[    2.296752] i2c i2c-4: mpu_probe: 0
286
[    2.329528] i2c i2c-4: Installing irq using 205
287
[    2.334350] i2c i2c-4: Module Param interface = mpuirq
288
[    2.339691] i2c-core: driver [mpu3050] using legacy suspend method
289
[    2.346282] i2c-core: driver [mpu3050] using legacy resume method
290
[    2.346282] mpu_init: Probe name mpu3050
291
[    2.346282] i2c i2c-4: bma250_mod_probe: bma250
292
[    2.356781] i2c i2c-4: Installing Accel irq using 282
293
[    2.386566] i2c i2c-4: mpu3050: +bma250
294
[    2.390594] bma250_mod_init: Probe name bma250_mod
295
[    2.390594] i2c i2c-4: yas530_mod_probe: yas530
296
[    2.400299] i2c i2c-4: Installing Compass irq using 336
297
[    2.429687] i2c i2c-4: mpu3050: +yas530
298
[    2.429687] yas530_mod_init: Probe name yas530_mod
299
[    3.376159] asoc: null-codec-dai <-> MultiMedia1 mapping ok
300
[    3.383300] asoc: null-codec-dai <-> MultiMedia2 mapping ok
301
[    3.390747] asoc: null-codec-dai <-> Voice mapping ok
302
[    3.397583] asoc: null-codec-dai <-> Tones mapping ok
303
[    3.404449] asoc: null-codec-dai <-> Vibra mapping ok
304
[    3.410614] asoc: null-codec-dai <-> MODEM mapping ok
305
[    3.416778] asoc: null-codec-dai <-> MultiMedia1 LP mapping ok
306
[    3.424682] asoc: FM Digital <-> omap-mcbsp-dai.1 mapping ok
307
[    3.431976] asoc: twl6040-dl1 <-> mcpdm-dl mapping ok
308
[    3.438537] asoc: dit-hifi <-> omap-mcasp-dai mapping ok
309
[    3.446563] twl6040-codec twl6040-codec: ASoC: Failed to create Aux/FM Stereo In debugfs file
310
[    3.456329] asoc: twl6040-dl1 <-> mcpdm-dl1 mapping ok
311
[    3.462860] asoc: twl6040-ul <-> mcpdm-ul1 mapping ok
312
[    3.468109] mmc0: new high speed MMC card at address 0001
313
[    3.468994] asoc: twl6040-dl2 <-> mcpdm-dl2 mapping ok
314
[    3.469909] asoc: twl6040-vib <-> mcpdm-vib mapping ok
315
[    3.470947] asoc: Bluetooth <-> omap-mcbsp-dai.0 mapping ok
316
[    3.471923] asoc: Bluetooth <-> omap-mcbsp-dai.0 mapping ok
317
[    3.472900] asoc: FM Digital <-> omap-mcbsp-dai.1 mapping ok
318
[    3.473907] asoc: MODEM <-> omap-mcbsp-dai.1 mapping ok
319
[    3.474884] asoc: null-codec-dai <-> omap-abe-vxrec-dai mapping ok
320
[    3.476959] input: Tuna Headset Jack as /devices/platform/soc-audio/sound/card0/input5
321
[    3.521820] mmcblk0: mmc0:0001 VYL00M 14.6 GiB 
322
[    3.523712] asoc: hdmi-audio-codec <-> hdmi-audio-dai mapping ok
323
[    3.524230] ALSA device list:
324
[    3.524261]   #0: TI OMAP4 Board
325
[    3.524261]   #1: OMAP4HDMI
326
[    3.524383] GACT probability NOT on
327
[    3.524414] Mirror/redirect action on
328
[    3.524414] u32 classifier
329
[    3.524414]     Actions configured
330
[    3.524444] Netfilter messages via NETLINK v0.30.
331
[    3.524505] nf_conntrack version 0.5.0 (15870 buckets, 63480 max)
332
[    3.526245] ctnetlink v0.93: registering with nfnetlink.
333
[    3.526275] NF_TPROXY: Transparent proxy support initialized, version 4.1.0
334
[    3.526306] NF_TPROXY: Copyright (c) 2006-2007 BalaBit IT Ltd.
335
[    3.526794] xt_time: kernel timezone is -0000
336
[    3.529449] ip_tables: (C) 2000-2006 Netfilter Core Team
337
[    3.529632] arp_tables: (C) 2002 David S. Miller
338
[    3.529693] TCP bic registered
339
[    3.529724] TCP cubic registered
340
[    3.529724] TCP westwood registered
341
[    3.529724] TCP htcp registered
342
[    3.529754] Initializing XFRM netlink socket
343
[    3.531097] NET: Registered protocol family 10
344
[    3.539703] Mobile IPv6
345
[    3.539764] ip6_tables: (C) 2000-2006 Netfilter Core Team
346
[    3.540130] IPv6 over IPv4 tunneling driver
347
[    3.547515] NET: Registered protocol family 17
348
[    3.547576] NET: Registered protocol family 15
349
[    3.547851] Bluetooth: RFCOMM TTY layer initialized
350
[    3.547882] Bluetooth: RFCOMM socket layer initialized
351
[    3.547882] Bluetooth: RFCOMM ver 1.11
352
[    3.547912] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
353
[    3.547912] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
354
[    3.548095] NET: Registered protocol family 35
355
[    3.548919] VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
356
[    3.682220] ThumbEE CPU extension supported.
357
[    3.682250] mmcblk0boot0: mmc0:0001 VYL00M partition 1 512 KiB
358
[    3.692718] Registering SWP/SWPB emulation handler
359
[    3.692749] mmcblk0boot1: mmc0:0001 VYL00M partition 2 512 KiB
360
[    3.703613] Registering SDIV/UDIV emulation handler
361
[    3.713989]  mmcblk0: p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13
362
[    3.722625] Reprogramming LPDDR2 timings to 400000000 Hz
363
[    3.728424] sr_init: No PMIC hook to init smartreflex
364
[    3.733673]  mmcblk0boot1: unknown partition table
365
[    3.733825] smartreflex smartreflex.0: omap_sr_probe: SmartReflex driver initialized
366
[    3.734008] smartreflex smartreflex.1: omap_sr_probe: SmartReflex driver initialized
367
[    3.734191] smartreflex smartreflex.2: omap_sr_probe: SmartReflex driver initialized
368
[    3.762451] SmartReflex class 1.5 driver: initialized (86400000ms)
369
[    3.769134]  mmcblk0boot0: unknown partition table
370
[    3.769439] Power Management for TI OMAP4.
371
[    3.769561] OMAP4 PM: Static dependency added between MPUSS and DUCATI <-> L4_PER/CFG and L3_1.
372
[    3.787384] HSI DRIVER BUS : hsi_bus_match SUCCESS : ctrl:0 (mask:ffffffff), port:0, ch:0 (mask:ff)
373
[    3.796844] HSI DRIVER BUS : hsi_bus_match SUCCESS : ctrl:0 (mask:ffffffff), port:0, ch:1 (mask:ff)
374
[    3.806213] HSI DRIVER BUS : hsi_bus_match SUCCESS : ctrl:0 (mask:ffffffff), port:0, ch:2 (mask:ff)
375
[    3.815460] sr_class1p5_calib_work: mpu: Calibration complete: Voltage:Nominal=1203000 Calib=990000 margin=0
376
[    3.825622] HSI DRIVER BUS : hsi_bus_match SUCCESS : ctrl:0 (mask:ffffffff), port:0, ch:3 (mask:ff)
377
[    3.835021] sr_class1p5_calib_work: core: Calibration complete: Voltage:Nominal=1127000 Calib=1063480 margin=13000
378
[    3.845703] HSI DRIVER BUS : hsi_bus_match SUCCESS : ctrl:0 (mask:ffffffff), port:0, ch:4 (mask:ff)
379
[    3.855102] HSI DRIVER BUS : hsi_bus_match SUCCESS : ctrl:0 (mask:ffffffff), port:0, ch:5 (mask:ff)
380
[    3.864379] HSI DRIVER BUS : hsi_bus_match SUCCESS : ctrl:0 (mask:ffffffff), port:0, ch:6 (mask:ff)
381
[    3.873626] HSI DRIVER BUS : hsi_bus_match SUCCESS : ctrl:0 (mask:ffffffff), port:0, ch:7 (mask:ff)
382
[    3.884552] sr_class1p5_calib_work: iva Stop sampling: Voltage Nominal=950000 samples=3
383
[    3.900268] sr_class1p5_calib_work: iva: Calibration complete: Voltage:Nominal=950000 Calib=860920 margin=13000
384
[    3.913970] clock: disabling unused clocks to save power
385
[    3.920440] cannot apply mgr(lcd) on inactive device
386
[    3.925598] omapfb omapfb: failed to apply dispc config
387
[    3.930908] cannot apply mgr(tv) on inactive device
388
[    3.935974] omapfb omapfb: failed to apply dispc config
389
[    3.941284] cannot apply mgr(lcd2) on inactive device
390
[    3.946441] omapfb omapfb: failed to apply dispc config
391
[    3.954681] regulator_init_complete: VDAC: disabling
392
[    3.961853] fsa9480 4-0025: cable detect change, from 'unknown/none' to 'jig'
393
394
AST_POWERON
395
396
397
</pre>
398
Unfortunately, it stops there, and we have nothing more on the serial port.
399
400 20 Denis 'GNUtoo' Carikli
h2. Real serial console by patching the kernel
401 1 Denis 'GNUtoo' Carikli
402
When you connect the cable you get the FIQ debugger, but what if you want kgdb instead:
403
* apply that patch:
404
<pre>
405
diff --git a/arch/arm/mach-omap2/board-tuna.c b/arch/arm/mach-omap2/board-tuna.c
406
index a022a43..7098227 100644
407
--- a/arch/arm/mach-omap2/board-tuna.c
408
+++ b/arch/arm/mach-omap2/board-tuna.c
409
@@ -1001,6 +1001,8 @@ static inline void __init board_serial_init(void)
410
        omap_serial_init_port_pads(0, uart1_pads, uart1_pads_sz, NULL);
411
        omap_serial_init_port_pads(1, tuna_uart2_pads,
412
                ARRAY_SIZE(tuna_uart2_pads), &tuna_uart2_info);
413
+       omap_serial_init_port_pads(2,tuna_uart3_pads,
414
+               ARRAY_SIZE(tuna_uart3_pads), NULL);
415
        omap_serial_init_port_pads(3, tuna_uart4_pads,
416
                                   ARRAY_SIZE(tuna_uart4_pads), NULL);
417
 }
418
</pre>
419
* remove the FIQ debugger in the kernel configuration.
420
421
* change the CMDLINE trough the kernel configuration:
422
Use:
423
<pre>CONFIG_CMDLINE="console=ttyO2 androidboot.console=ttyO2 [...]"</pre>
424
Instead of:
425
<pre>CONFIG_CMDLINE="console=ttyFIQ0 androidboot.console=ttyFIQ0 [...]"</pre>
426 2 Denis 'GNUtoo' Carikli
427 3 Denis 'GNUtoo' Carikli
* Verify that you get the kernel messages.
428 1 Denis 'GNUtoo' Carikli
429 2 Denis 'GNUtoo' Carikli
h2. KGDB
430 12 Denis 'GNUtoo' Carikli
431 20 Denis 'GNUtoo' Carikli
* You need to change the cmdline for kgdb
432 4 Denis 'GNUtoo' Carikli
<pre>
433
CONFIG_CMDLINE="kgdboc=ttyO2,115200 console=ttyO2 androidboot.console=ttyO2 [...]"
434
</pre>
435
436
Don't add kgdbwait tough because it result in that:
437
<pre>
438
(gdb) set remotebaud 115200
439
(gdb) target remote /dev/ttyUSB0
440
/dev/ttyUSB0: Device or resource busy.
441
(gdb) target remote /dev/ttyUSB0
442
Remote debugging using /dev/ttyUSB0
443
kgdb_breakpoint ()
444
    at /home/gnutoo/embedded/android/replicant-4.0/kernel/samsung/tuna/kernel/debug/debug_core.c:954
445
954		arch_kgdb_breakpoint();
446
(gdb) c
447
Continuing.
448
449
Program received signal SIGSEGV, Segmentation fault.
450
__raw_spin_lock_irqsave (lock=0x288)
451
    at /home/gnutoo/embedded/android/replicant-4.0/kernel/samsung/tuna/kernel/spinlock.c:112
452
112	BUILD_LOCK_OPS(spin, raw_spinlock);
453
(gdb) bt
454
#0  __raw_spin_lock_irqsave (lock=0x288)
455
    at /home/gnutoo/embedded/android/replicant-4.0/kernel/samsung/tuna/kernel/spinlock.c:112
456
#1  0xc061aecc in _raw_spin_lock_irqsave (lock=0x288)
457
    at /home/gnutoo/embedded/android/replicant-4.0/kernel/samsung/tuna/kernel/spinlock.c:145
458
#2  0xc0098620 in try_to_wake_up (p=0x0, state=1611595795, wake_flags=1)
459
    at /home/gnutoo/embedded/android/replicant-4.0/kernel/samsung/tuna/kernel/sched.c:2681
460
#3  0xc009897c in wake_up_process (p=0x288)
461
    at /home/gnutoo/embedded/android/replicant-4.0/kernel/samsung/tuna/kernel/sched.c:2785
462
#4  0xc00e2090 in proc_dohung_task_timeout_secs (table=<value optimized out>, write=<value optimized out>, 
463
    buffer=<value optimized out>, lenp=<value optimized out>, ppos=0xc782bf70)
464
    at /home/gnutoo/embedded/android/replicant-4.0/kernel/samsung/tuna/kernel/hung_task.c:190
465
#5  0xc0174178 in proc_sys_call_handler (filp=<value optimized out>, buf=0x24808, count=1, ppos=0xc782bf70, 
466
    write=1) at /home/gnutoo/embedded/android/replicant-4.0/kernel/samsung/tuna/fs/proc/proc_sysctl.c:158
467
#6  0xc01741b0 in proc_sys_write (filp=0x288, buf=0x600f0013 <Address 0x600f0013 out of bounds>, count=1, 
468
    ppos=0xc782a000)
469
    at /home/gnutoo/embedded/android/replicant-4.0/kernel/samsung/tuna/fs/proc/proc_sysctl.c:176
470
#7  0xc0126420 in vfs_write (file=0xc73be500, buf=0x24808 "0", count=<value optimized out>, pos=0xc782bf70)
471
    at /home/gnutoo/embedded/android/replicant-4.0/kernel/samsung/tuna/fs/read_write.c:377
472
#8  0xc0126590 in sys_write (fd=<value optimized out>, buf=0x24808 "0", count=1)
473
    at /home/gnutoo/embedded/android/replicant-4.0/kernel/samsung/tuna/fs/read_write.c:429
474
#9  0xc0055a00 in ?? ()
475
Cannot access memory at address 0x0
476
#10 0xc0055a00 in ?? ()
477
Cannot access memory at address 0x0
478
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
479
</pre>
480 5 Denis 'GNUtoo' Carikli
481 10 Denis 'GNUtoo' Carikli
* disable the watchdog timer in the kernel, and recompile it and reflash the boot.img.
482 6 Denis 'GNUtoo' Carikli
483
then open a root console and do:
484
<pre>
485
echo g > /proc/sysrq-trigger
486
</pre>
487 7 Denis 'GNUtoo' Carikli
488
<pre>
489
gnutoo@gnutoo-laptop:~/embedded/android/replicant-4.0$ . build/envsetup.sh 
490
including device/ti/panda/vendorsetup.sh
491
including vendor/replicant/vendorsetup.sh
492
including sdk/bash_completion/adb.bash
493
gnutoo@gnutoo-laptop:~/embedded/android/replicant-4.0$ lunch replicant_maguro-eng
494
495
============================================
496
PLATFORM_VERSION_CODENAME=REL
497
PLATFORM_VERSION=4.0.4
498
TARGET_PRODUCT=replicant_maguro
499
TARGET_BUILD_VARIANT=eng
500
TARGET_BUILD_TYPE=release
501
TARGET_BUILD_APPS=
502
TARGET_ARCH=arm
503
TARGET_ARCH_VARIANT=armv7-a-neon
504
HOST_ARCH=x86
505
HOST_OS=linux
506
HOST_BUILD_TYPE=release
507
BUILD_ID=IMM76L
508
============================================
509
510
511
gnutoo@gnutoo-laptop:~/embedded/android/replicant-4.0$ arm-linux-androideabi-gdb
512
GNU gdb (GDB) 7.1-android-gg2
513
Copyright (C) 2010 Free Software Foundation, Inc.
514
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
515
This is free software: you are free to change and redistribute it.
516
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
517
and "show warranty" for details.
518
This GDB was configured as "--host=i686-linux-gnu --target=arm-elf-linux".
519
For bug reporting instructions, please see:
520
<http://www.gnu.org/software/gdb/bugs/>.
521
(gdb) file /home/gnutoo/embedded/android/replicant-4.0/out/target/product/maguro/obj/KERNEL_OBJ/vmlinux
522
Reading symbols from /home/gnutoo/embedded/android/replicant-4.0/out/target/product/maguro/obj/KERNEL_OBJ/vmlinux...done.
523
(gdb) set remotebaud 115200
524 8 Denis 'GNUtoo' Carikli
(gdb) target remote /dev/ttyUSB0
525
Remote debugging using /dev/ttyUSB0
526
kgdb_breakpoint ()
527
    at /home/gnutoo/embedded/android/replicant-4.0/kernel/samsung/tuna/kernel/debug/debug_core.c:954
528
954		arch_kgdb_breakpoint();
529
(gdb) bt
530
#0  kgdb_breakpoint ()
531
    at /home/gnutoo/embedded/android/replicant-4.0/kernel/samsung/tuna/kernel/debug/debug_core.c:954
532
#1  0xc00df764 in sysrq_handle_dbg (key=-29306880)
533
    at /home/gnutoo/embedded/android/replicant-4.0/kernel/samsung/tuna/kernel/debug/debug_core.c:745
534
#2  0xc02f2e18 in __handle_sysrq (key=103, check_mask=false)
535
    at /home/gnutoo/embedded/android/replicant-4.0/kernel/samsung/tuna/drivers/tty/sysrq.c:522
536
#3  0xc02f2ec4 in write_sysrq_trigger (file=<value optimized out>, buf=<value optimized out>, count=2, 
537
    ppos=0xc4a01f70)
538
    at /home/gnutoo/embedded/android/replicant-4.0/kernel/samsung/tuna/drivers/tty/sysrq.c:870
539
#4  0xc016ba88 in proc_reg_write (file=0xc49ea3c0, buf=0x137fc84 "g\n\f@", count=2, ppos=0xc4a01f70)
540
    at /home/gnutoo/embedded/android/replicant-4.0/kernel/samsung/tuna/fs/proc/inode.c:200
541
#5  0xc0126420 in vfs_write (file=0xc49ea3c0, buf=0x137fc84 "g\n\f@", count=<value optimized out>, 
542
    pos=0xc4a01f70) at /home/gnutoo/embedded/android/replicant-4.0/kernel/samsung/tuna/fs/read_write.c:377
543
#6  0xc0126590 in sys_write (fd=<value optimized out>, buf=0x137fc84 "g\n\f@", count=2)
544
    at /home/gnutoo/embedded/android/replicant-4.0/kernel/samsung/tuna/fs/read_write.c:429
545
#7  0xc0055a00 in ?? ()
546
Cannot access memory at address 0x0
547
#8  0xc0055a00 in ?? ()
548
Cannot access memory at address 0x0
549
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
550
(gdb) 
551 7 Denis 'GNUtoo' Carikli
552
</pre>
553 11 Denis 'GNUtoo' Carikli
554 12 Denis 'GNUtoo' Carikli
h2. Multiplexing the serial port
555
556 11 Denis 'GNUtoo' Carikli
since we have only 1 serial port, you can also use agent proxy to get kgdb and the console at the same time....
557
<pre>
558
git clone git://git.kernel.org/pub/scm/utils/kernel/kgdb/agent-proxy.git
559
cd agent-proxy ; make
560
</pre>
561 12 Denis 'GNUtoo' Carikli
562
h2. Root on serial port
563 13 Denis 'GNUtoo' Carikli
564
* Modify system/su/su.c:
565
<pre>
566
diff --git a/su.c b/su.c
567
index d36eaed..51137d4 100644
568
--- a/su.c
569
+++ b/su.c
570
@@ -494,11 +494,13 @@ int main(int argc, char *argv[])
571
             deny(&ctx);
572
         }
573
 
574
+#if 0
575
         // disallow su in a shell if appropriate
576
         if (ctx.from.uid == AID_SHELL && (atoi(enabled) == 1)) {
577
             LOGE("Root access is disabled by a system setting - enable it under settings -> developer options");
578
             deny(&ctx);
579
         }
580
+#endif
581
     }
582
 
583
     if (ctx.from.uid == AID_ROOT || ctx.from.uid == AID_SHELL)
584
</pre>
585
* adb push it to /system/xbin/su
586
* remove /system/bin/su
587
* chmod +s it: <pre>busybox chmod +s /system/xbin/su</pre>
588 14 Denis 'GNUtoo' Carikli
589
h2. TODO
590 15 Denis 'GNUtoo' Carikli
591 14 Denis 'GNUtoo' Carikli
 * reliable rebugging (right now it breaks on the wrong line)
592
 * phone that doesn't power off screen while debugging...