[Galaxy Note 10.1 Android Development] Lop3:
Thanks for the info!

I tested your N8000 3.4 kernel. Currently I'm not able to run Debian 11 Bullseye's openssh-server on the kernel, as I can on my Galaxy S5 G900F which has a stock 3.4 kernel.

The specific error given by openssh-server when login is attempted, is:

Apparently the kernel needs to be built with

Which the kernel is not currently built with, looking at this config:

https://github.com/html6405/android....1/arch/arm/configs/lineageos_n8000_defconfig

I've built kernels for Ubuntu x86_64, RaspberryPi, Orange Pi (Armbian), but I've never built a Kernel for Android.

I wouldn't want to just ask you to rebuild the kernel with CONFIG_NET_VRF=y because there might be other options required for openssh-server that are missing, and also I might want to enable a USB NIC or whatever in future. :)

How can I build the n8000 Kernel myself and package it into a zImage?

-------------------------------------------------

If you're interested in running Debian in a chroot on Android

First choose which Debian Release based on what your Kernel can handle.

Old Kernel < 3.2, eg: Kernel 3.0

You must run Debian 8 Jessie (due to libc requiring newer kernels in newer versions of debian) it works, but you get warnings when installing software with apt due to the GPG keys for Debian Jessie having all expired in 2022.

New Kernel >= 3.2, eg Kernel 3.4

You can install Debian 11 Bullseye (currently called stable) directly with Linux Deploy. (in the future it will be called oldstable)

You can upgrade from Debian 11 Bullseye to Debian 12 Bookworm (currently called testing), but you cannot install Debian 12 Bookworm directly or you will run into this issue. https://github.com/meefik/linuxdeploy/issues/1349

There are rootless ways to run Linux on Android, and other ways to install it, but this is how I do it:

How to install Debian on Android

1. Root your Android device

2. Install BusyBox (from F-Droid) (the meefik one seems to only work on new kernels and 1-click seems to work on old kernels)

2. Install Linux Deploy app (available on Google Play or https://github.com/meefik/linuxdeploy/releases/latest )

3. Ensure you can access /data/data

4. If you don't see /data/data/ru.meefik.linuxdeploy there (new versions of Android), then you need to run this:

and maybe reboot.

5. In Linux Deploy app click (configuration icon)

Distribution: Debian

Architecture: armhf

Distribution suite: (see above)

Source path: https://ftp.debian.org/debian/

Installation type: Directory

Installation path: /data/data/ru.meefik.linuxdeploy/files/debian

Username: root

Init system: Enable

Init system: sysv

6. In Linux Deploy, click (= menu icon) > Settings > Environment > Update ENV

7. In Linux Deploy, click (... menu icon) > Install

8. Install openssh-server

9. Optional: add your SSH keys

10. SSH into your Debian on Android.

Once you've got everything working you can add mounts to mount your internal and external storage into the Debian chroot.

Extra tips:

If you want to `rm -rf` your debian directory, first confirm that debian/dev debian/proc debian/sys aren't mounted.

Sometimes clicking `Stop container` in Linux Deploy doesn't work. Sometimes after a reboot it automatically mounts it. To prevent that, if I'm going to delete it, I first click the (configuration icon) then Change Installation path to debian2. Then reboot.Then `rm -rf` then make debian directory again. Then correct Installation path from debian2 back to debian.