[Galaxy Note 10.1 General] X-Stranger:
8 years later since my last post in this thread a good friend of mine has provided me with Samsung Galaxy Note 10.1 GT-N8020 in very good condition and LineageOS on it. He was curious if it is possible to get some fresh Linux distro working on this perfect piece of tablets history. I did spend a week and finally got my new old tablet working with Linux Kernel 6.6.11 and Xubuntu distro (actually you can use any).

For that result I have used some stuff composed by Viciouss - he has got a nice progress in bringing support of this tablet to the official kernel: https://viciouss.github.io/static_pages/galaxy_note_10_1_mainline/. Comparing to the 10 years old implementation, tablet works way much better, unfortunately S-Pen and Dock do not work - no support in fresh kernel. I've tried to backport drivers with no luck, but was able to use Blueooth mouse and keyboard without issues.

Thus far if you still have N8020 beast or similar feel free to test my compilation on your own. There are 2 possible setups: boot from sdcard and boot from internal memory partition. The second option is possible if you repartition memory, so obviously you need to have to boot from sdcard first :) The approach is same: we replace the Recovery partition content.

The recovery image to boot Linux from sdcard (mmcblk1p1) is here. The recovery image to boot Linux from internal memory (mmcblk0p17) after repartitioning is here.

There is also a debug option for those who interested - to boot Linux from cache partition (mmcblk0p12). It is 1Gb size and can host only small Linux, but I did use it for testing before repartitioning internal storage. So this recovery image I also have here.

Xubuntu image can be downloaded here. Small Linux (made using buildroot) without GUI for tests from cache partition (or sdcard too) can be grabbed here. For both options you should update WiFi settings to be able to connect to Linux via SSH.

To burn recovery image, copy it to your tablet. I use adb for that purpose:

adb push ./boot_mmcblk0p17_new_partition.img /sdcard/

Make sure your tablet is rooted, then login to it via adb:

adb shell
su -

and do something like:

cd /sdcard/
dd if=boot_mmcblk1p1_sdcard.img of=/dev/block/mmcblk0p9

Same way you can burn other recovery images.

Next you need to get microsd with first partition formatted to ext4. From Linux, mount it to some folder, go to it and unpack downloaded Linux image archive via:

tar -xzf /path/to/downloaded/xubuntu.tgz

Don't forget to fix WiFi settings in /etc/wpa_supplicant.conf (for buildroot Linux) or /etc/netplan/01-netcfg.yaml (for Xubuntu Linux) file on the microsd. Unmount microsd, put it to your tablet and reboot it to recovery. If you did everything correctly then you should see Linux booting.

The password for user 'user' is 'q', for user 'root' it is 'root'.

Next, if you would like to repartition internal memory of your tablet you need to understand what you are doing :)

I have connected to my Xubuntu on the tablet via SSH and from console used commands like:

1. resize2fs /dev/mmcblk0p16 ... - to shrink filesystem for 5Gb less

2. cfdisk /dev/mmcblk0 - to delete mmcblk0p16 partition, create same partition with 5Gb smaller size (this way data will not be erased) and a new mmcblk0p17 partition 5Gb of size

3. resize2fs /dev/mmcblk0p16 - to fit new parition size exactly

4. mkfs.ext4 /dev/mmcblk0p17 - to format new internal partition

5. mount /dev/mmcblk0p17 /mnt - to mount new internal partition

6. cd /mnt

7. tar -xzf .... - to extract Linux archive to the new internal partition

8. dd if=boot_mmcblk0p17_new_partition.img of=/dev/mmcblk0p9 - to burn recovery that boots from the new internal partition

9. reboot to recovery

I might be missing someting but if you are keen of Linux - you will survive those steps :) Otherwise keep using microsd.

That's pretty much it. I was having a good time playing with tablet that is the same as my very first tablet, and Linux. Thanks again to my friend for such a nice present!

Feel free to post your comments except 'I typed command and it does not work' :)