So I tried anything to get a working X11 on my K3GB device, but I cannot any way to either kill the existing X11 session (I think CVM spawns one that is inaccessible to the rest of the system...), or embed a Xephyr session within it.
So I write up my efforts and call it a day. Time to buy a Kindle Touch instead I think....
Anyways,
The Kindle K3GB v3.4.2 that I have runs a 2.6.26 kernel. You can run 3.4.2 debian installation given in the first post, but you will not be able to chroot into it, but you can use proot instead for this (attached).
Install instructions for 3.4.2 (not chrootable, prootable)
1. From
https://people.debian.org/~aurel32/qemu/armel/, download the 3.4.2 initrd and vmlinuz, and use the *wheezy* qcow2
2. Do :
Code:
qemu-system-arm -M versatilepb -kernel vmlinuz-3.2.0-4-versatile -initrd initrd.img-3.2.0-4-versatile -hda debian_wheezy_armel_standard.qcow2 -append "root=/dev/sda1" -nic user,hostfwd=tcp::2222-:22
3. In the qemu, change the "/etc/apt/sources.list" to point to archived sources. (You can ssh in to do this via "ssh -p 2222 root@localhost" or you can just type it in the qemu app).
Code:
deb http://archive.debian.org/debian-archive/debian wheezy main
deb-src http://archive.debian.org/debian-archive/debian wheezy main
deb http://archive.debian.org/debian-archive/debian-security wheezy/updates main
deb-src http://archive.debian.org/debian-archive/debian-security wheezy/updates main
4. Create a 1.3GB space, mount it in the qemu (as original instructions)
Code:
dd if=/dev/zero of=/tmp/debian.ext3 bs=1M count=1300
mkfs.ext3 /tmp/debian.ext3
tune2fs -i 0 -c 0 /tmp/debian.ext3
mkdir /mnt/debian/
mount -o loop -t ext3 /tmp/debian.ext3 /mnt/debian
5. Debootstrap the current base into the 1.3GB space
Code:
debootstrap --no-check-gpg --variant=minbase --arch=armel jessie /mnt/debian http://ftp.us.debian.org/debian
umount /mnt/debian
6. Copy the "/tmp/debian.ext3" file out of the qemu and onto the kindle. From outside of qemu, run:
Code:
scp -P 2222 root@localhost:/tmp/debian.ext3 some/path/outside/qemu
Copy to kindle's "/mnt/base-us/"
7. Mount the image inside the kindle. Ssh into your kindle and do:
Code:
mkdir -p /mnt/debian
mount -o loop -t ext3 /mnt/base-us/debian.ext3 /mnt/debian
8. Now you can try chrooting into it, but it will fail with the KERNEL TOO OLD error. Instead, copy proot (attached) into the kindle's /usr/bin/ (you will need to "mntroot rw"), and then put this into a proot.sh script:
Code:
proot -k 3.4 -r /mnt/debian \
-b /etc/host.conf \
-b /etc/hosts \
-b /etc/hosts.equiv \
-b /etc/mtab \
-b /etc/netgroup \
-b /etc/networks \
-b /etc/passwdxd \
-b /etc/groupxd \
-b /etc/nsswitch.conf \
-b /etc/resolv.conf \
-b /etc/localtime \
-b /dev/ \
-b /sys/ \
-b /proc/ \
-b /tmp/ \
-0 \
/bin/bash
this should give you a working system which fakes interaction with a 3.4 kernel. You can install matchbox, xorg, Xephyr and try to get things working. But you might find it easier to talk a horse into a glue factory. It's a working CLI system, but nothing graphical will even pretend to work.
What is proot exactly? It's a userland chroot I found from this
github post. The author recommends getting artefacts from the proot builds, but unfortunately these only target x86_64 architectures in recent times, so I begged the author of the github post for the proot binary he used.
The proot attached is NOT a tar.gz file, please just rename it to "proot". It is a black box binary, trust it as little as you can (I used it because I was desperate).
Install instructions for 2.6.32 kernel (chrootable)
Same as above except for a differences:
1. From
https://people.debian.org/~aurel32/qemu/armel/, download the 2.6.32 initrd and vmlinuz, and use the *squeeze* qcow2.
(wheezy will not work with this kernel, so please use squeeze)
2. Do instead:
Code:
qemu-system-arm -M versatilepb -kernel vmlinuz-2.6.32-5-versatile -initrd initrd.img-2.6.32-5-versatile -hda debian_squeeze_armel_standard.qcow2 -append "root=/dev/sda1" -nic user,hostfwd=tcp::2222-:22
3. For the debootstrap, do instead:
Code:
debootstrap --variant=minbase --arch armel squeeze /mnt/debian http://archive.debian.org/debian-archive/debian
4. For the "/etc/apt/sources.list", put instead
Code:
deb http://archive.debian.org/debian-archive/debian squeeze main
deb-src http://archive.debian.org/debian-archive/debian squeeze main
deb http://archive.debian.org/debian-archive/debian-security squeeze/updates main
deb-src http://archive.debian.org/debian-archive/debian-security squeeze/updates main
5. Do the rest, the image, the copying, and you can chroot in. Remember to change "/etc/resolv.conf" to something sensible otherwise updates will fail.
You can try building xorg-server from source as given by this post (
https://www.mobileread.com/forums/sh...ad.php?t=96048) but it will fail. xfce4 will fail. matchbox will fail. Xephyr will fail.
The X11 server is just inaccessible and it seems to be impossible to spawn a new one. It's a really good device otherwise. Those Brazillian Jungle dung beetles sure know how to make a device with a short shelf life. Bravo to their ever increasing profits.