# LemonadeMirror: porting the Lululemon Mirror to mainline Linux

> LemonadeMirror ports the Lululemon Mirror's peripherals from its Android vendor software to Debian and a mainline Linux kernel. The author describes using REA, Ghidra, objdump and device-tree decoding to recover display, audio, microphone and camera settings, then implements kernel patches, a device tree and user-space services.

- Type: Case study
- Targets: Firmware
- Category: Community REA investigations
- Relationship: Author-reported mixed workflow
- Sources reviewed: 2026-11-06
- Added to the catalog: 2026-11-08
- Original resource: <https://github.com/ikiiftekhar2/lemonademirror>
- Primary source: <https://github.com/ikiiftekhar2/lemonademirror/blob/263cd65d1fccf1653047a4408a017b5f802b6bb3/docs/00-reverse-engineering.md>
- Catalog page: <https://awesomerea.org/resources/lemonademirror-case/>
- Record JSON: <https://awesomerea.org/resources/lemonademirror-case/record.json>
- Chinese version: [简体中文](https://awesomerea.org/zh/resources/lemonademirror-case/index.md)

## Requirements & limits

- **Prerequisites:** The documented prebuilt kernel targets Lululemon Mirror V1.1 with an i.MX8M Mini.
- **Prerequisites:** A U-Boot prompt, stock eMMC backup and user-extracted vendor firmware blobs are required for installation.
- **Testing evidence:** The optional one-script image is reported as emulator-tested but not yet flashed on real hardware.
- **License:** The kernel patches and device tree are GPL-2.0-only; the v4l2loopback patch is GPL-2.0; other repository content is MIT licensed.

## Primary sources

1. <https://github.com/ikiiftekhar2/lemonademirror/blob/263cd65d1fccf1653047a4408a017b5f802b6bb3/docs/00-reverse-engineering.md>
2. <https://github.com/ikiiftekhar2/lemonademirror/blob/263cd65d1fccf1653047a4408a017b5f802b6bb3/README.md>
3. <https://github.com/ikiiftekhar2/lemonademirror/blob/263cd65d1fccf1653047a4408a017b5f802b6bb3/LICENSE>

## More in Firmware and hardware

- [Bose USB Bridge: selecting SoundLink Flex USB audio from firmware research](https://awesomerea.org/resources/bose-usb-bridge-case/index.md) · Case study
- [RTX 3070 Ti VBIOS Reverse Engineering: mapping and analyzing GA104 firmware](https://awesomerea.org/resources/rtx-3070-ti-vbios-re-case/index.md) · Case study
- [hantek-dso: reconstructing Hantek DSO5000P USB control](https://awesomerea.org/resources/hantek-dso5000p-linux-case/index.md) · Case study
- [flipper-telink: replacement firmware for Tuya Zigbee remotes](https://awesomerea.org/resources/flipper-telink-tuya-remote-firmware-case/index.md) · Case study
- [Supermodel: initial Real3D Pro-1000 image-generator emulation](https://awesomerea.org/resources/supermodel-real3d-pro1000-emulation-case/index.md) · Case study
- [OpenDMCUFirm: a reimplemented Wii U DMCU display firmware](https://awesomerea.org/resources/opendmcufirm-wii-u-dmcu-firmware-case/index.md) · Case study

## About this entry

The description was reviewed against primary sources.
Original editorial content: MIT. Linked projects, papers and assets retain their own rights and licenses.
