Starting the Samsung Galaxy Note 10.1 Journey
When I began working on the Note 10.1 at the end of 2018, I thought it can’t be that difficult to patch the device up. Add some lines here, fix a compiler issue there. I’m a software developer after all, how difficult can kernel and Android development be? Oh boy was I wrong.
I started from not even knowing how to compile a kernel. Luckily, the XDA community has a large forum dedicated to topics like this. I found a tutorial and got going.
Fast forward some weeks and a lot of tutorials later, I was going through the old 3.0.x sources from the Note 10.1. The kernel being 7 years old at the time with all the code Samsung introduced, more #ifdefs than I can count and a lot of unusual approaches to solve their user space needs, the learning curve was a roller coaster. From This looks like fun! to You know nothing Jon Snow in mere seconds. It was quite demotivating at times.
Fast forward again, I somehow stumbled across forkbombs blog (archive.org) - and from there the goal was clear. There was no way around getting the Note 10.1 into mainline. The first thing I’d need to start would be a serial connection, unfortunately the Note 10.1 has a 30pin proprietary connector, but it is shared across a hand full of devices. For example on the Galaxy Tab - my day was saved.
After some amateur soldering and wiring things up to a CP2102 module, I got my first lines on the serial connection:
Samsung S-Boot 4.0 for GT-N8000 (Jan 5 2017 - 16:48:45) EXYNOS4412(EVT 1.1) / 2044MB / 0MB / Rev 6 / N8000XXSDQA7 /(PKG_ID 0xc071018) BOOTLOADER VERSION : N8000XXSDQA7 BUCK1OUT(vdd_mif) = 0x05 BUCK3DVS1(vdd_int) = 0x20 cardtype: 0x00000007 SB_MMC_HS_52MHZ_1_8V_3V_IO mmc->card_caps: 0x00000311 mmc->host_caps: 0x00000311 [mmc] capacity = 30777344