<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/i-wanted-to-see-what-my-android-was-thinking-while-it-woke-up-kemystfvl" -->

---
title: I Wanted to See What My Android Was Thinking While It...
description: A hands-on exploration of how to observe Android boot logs on a Raspberry Pi 5 running AOSP. Three complementary methods are covered: `adb shell dmesg` for...
canonical: https://daily.dev/posts/i-wanted-to-see-what-my-android-was-thinking-while-it-woke-up-kemystfvl
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: I Wanted to See What My Android Was Thinking While It Woke Up | daily.dev
og:description: A hands-on exploration of how to observe Android boot logs on a Raspberry Pi 5 running AOSP. Three complementary methods are covered: `adb shell dmesg` for...
og:url: https://daily.dev/posts/i-wanted-to-see-what-my-android-was-thinking-while-it-woke-up-kemystfvl
og:image: https://api.daily.dev/og/posts/KeMyStFvL.png
og:image:alt: I Wanted to See What My Android Was Thinking While It Woke Up
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# I Wanted to See What My Android Was Thinking While It Woke Up

**[Medium](https://daily.dev/sources/medium_js)** · 8 min read · 0 upvotes · 0 comments

## Summary

A hands-on exploration of how to observe Android boot logs on a Raspberry Pi 5 running AOSP. Three complementary methods are covered: `adb shell dmesg` for kernel-level messages (the Linux kernel diary accessible via Android Debug Bridge), `logcat` for Android's full system narrative including Zygote, System Server, and app processes, and the serial console (UART via GPIO) for capturing pre-boot output before ADB or logd are even running. The post draws parallels to the same investigation on plain Linux, highlighting how the tools differ while the underlying question remains the same.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://medium.com/@aruncse2k20/i-wanted-to-see-what-my-android-was-thinking-while-it-woke-up-ce307f495e55>

## Questions this post answers

### How do I view kernel boot messages on an AOSP device running on Raspberry Pi since there's no SSH access?

Connect over ADB instead of SSH, then run dmesg through the Android Debug Bridge. First connect with adb connect <pi-ip>:5555, then run adb shell dmesg to see kernel messages, hardware detection, and driver loading, since a Linux kernel still underlies Android even though there's no SSH server available.

_Developers debugging AOSP boots on custom boards often compare notes on ADB workflows through daily.dev._

### How do I see Android framework and app-level boot logs beyond the kernel diary?

Use logcat, which narrates the entire system waking up in layers beyond just kernel messages, including the Zygote process starting and the System Server initializing services like power, windows, and notifications. Run adb shell logcat, or narrow it with adb shell logcat -b kernel for kernel-only lines, -d to dump without continuous scrolling, or pipe to grep to filter for a specific driver or tag.

_Anyone tracing Android framework startup issues can find similar logcat techniques shared on daily.dev._

### How can I debug an Android boot failure that happens before ADB or logd start?

Use a serial console wired to the board's UART pins, since it captures output from the bootloader and early init before ADB's daemon (adbd) or the log daemon (logd) exist. Wire GPIO 14 (TX) to the adapter's RX, GPIO 15 (RX) to its TX, and GND to GND, then open a terminal with sudo minicom -s at 115200 baud, 8 data bits, no parity, one stop bit to see U-Boot, kernel unpacking, and Android's earliest init messages.

_Engineers chasing early boot crashes on custom Android hardware track these debugging approaches via daily.dev._

## Similar posts on daily.dev

- [A barely working Android phone screen didn't stop me from building a functional home server](https://daily.dev/posts/a-barely-working-android-phone-screen-didn-t-stop-me-from-building-a-functional-home-server-xctvu642t) · XDA Developers · 1 upvotes · 0 comments
- [A Practical Guide to Embedded Linux Logging](https://daily.dev/posts/a-practical-guide-to-embedded-linux-logging-uqhcl9uuo) · Interrupt · 0 upvotes · 0 comments
- [Powering Up Debugging Without AI](https://daily.dev/posts/powering-up-debugging-without-ai-jkrc6a8ym) · ProAndroidDev · 2 upvotes · 0 comments
- [Inside Android: From Zygote to Binder](https://daily.dev/posts/inside-android-from-zygote-to-binder-i8fkjhr9r) · droidcon · 1 upvotes · 0 comments
- [Using LineageOS For Phones And DIY Smart TVs Is Pretty Nifty](https://daily.dev/posts/using-lineageos-for-phones-and-diy-smart-tvs-is-pretty-nifty-yy9oivycg) · Hackaday · 0 upvotes · 0 comments

---

Tags: [#android](https://daily.dev/tags/android), [#embedded](https://daily.dev/tags/embedded), [#raspberry-pi](https://daily.dev/tags/raspberry-pi), [#android-development](https://daily.dev/tags/android-development)

[View this post on daily.dev](https://daily.dev/posts/i-wanted-to-see-what-my-android-was-thinking-while-it-woke-up-kemystfvl)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"I Wanted to See What My Android Was Thinking While It Woke Up","url":"https://daily.dev/posts/i-wanted-to-see-what-my-android-was-thinking-while-it-woke-up-kemystfvl","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/i-wanted-to-see-what-my-android-was-thinking-while-it-woke-up-kemystfvl"},"datePublished":"2026-07-22T13:59:46.697Z","dateModified":"2026-09-13T20:17:26.907Z","description":"A hands-on exploration of how to observe Android boot logs on a Raspberry Pi 5 running AOSP. Three complementary methods are covered: `adb shell dmesg` for...","image":"https://media.daily.dev/image/upload/s--2-1xRawN--/f_auto/v1722860399/public/Placeholder%2011","thumbnailUrl":"https://media.daily.dev/image/upload/s--2-1xRawN--/f_auto/v1722860399/public/Placeholder%2011","isAccessibleForFree":true,"articleSection":"Medium","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Medium","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium","url":"https://daily.dev/sources/medium_js"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/i-wanted-to-see-what-my-android-was-thinking-while-it-woke-up-kemystfvl","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"android,embedded,raspberry-pi,android-development","timeRequired":"PT8M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Medium","item":"https://daily.dev/sources/medium_js"},{"@type":"ListItem","position":3,"name":"I Wanted to See What My Android Was Thinking While It Woke Up"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/i-wanted-to-see-what-my-android-was-thinking-while-it-woke-up-kemystfvl#faq","mainEntity":[{"@type":"Question","name":"How do I view kernel boot messages on an AOSP device running on Raspberry Pi since there's no SSH access?","acceptedAnswer":{"@type":"Answer","text":"Connect over ADB instead of SSH, then run dmesg through the Android Debug Bridge. First connect with adb connect <pi-ip>:5555, then run adb shell dmesg to see kernel messages, hardware detection, and driver loading, since a Linux kernel still underlies Android even though there's no SSH server available. Developers debugging AOSP boots on custom boards often compare notes on ADB workflows through daily.dev."}},{"@type":"Question","name":"How do I see Android framework and app-level boot logs beyond the kernel diary?","acceptedAnswer":{"@type":"Answer","text":"Use logcat, which narrates the entire system waking up in layers beyond just kernel messages, including the Zygote process starting and the System Server initializing services like power, windows, and notifications. Run adb shell logcat, or narrow it with adb shell logcat -b kernel for kernel-only lines, -d to dump without continuous scrolling, or pipe to grep to filter for a specific driver or tag. Anyone tracing Android framework startup issues can find similar logcat techniques shared on daily.dev."}},{"@type":"Question","name":"How can I debug an Android boot failure that happens before ADB or logd start?","acceptedAnswer":{"@type":"Answer","text":"Use a serial console wired to the board's UART pins, since it captures output from the bootloader and early init before ADB's daemon (adbd) or the log daemon (logd) exist. Wire GPIO 14 (TX) to the adapter's RX, GPIO 15 (RX) to its TX, and GND to GND, then open a terminal with sudo minicom -s at 115200 baud, 8 data bits, no parity, one stop bit to see U-Boot, kernel unpacking, and Android's earliest init messages. Engineers chasing early boot crashes on custom Android hardware track these debugging approaches via daily.dev."}}]}
```

