Debian Jessie armhf NATIVE boot by multirom Nexus 7 2013

Search This thread

ShadowEO

Senior Member
Mar 15, 2012
493
136
31
Columbus, Ohio
Update:
Ah, my bad, I see the build instructions now in post #27 as you pointed out above.

In there Szybol says to use the config from his repo. You seem to be picking a different one. Did you try with that config? And probably also the patch is essential.

You're correct, the patches are essential because the functions that the KGSL and KGSL DRM drivers depend on no longer exist in the kernel version used, and the drivers themselves have been abandoned. So you essentially have to "forward-port" them up to the newer kernel. The re-introduction through the patches are a kludge however, and the MSM X11 drivers are rather unfinished. It's actually much easier to get a working Halium base running, than getting proper board and touch support from this project being quite honest, no offense. (And I've done quite a bit of attempts on this using different distributions and kernels as a base)


OP:
Doniks is correct, you need the KGSL patches that Syzbol has there if you want to use any kernel support for graphics and X11 (I don't recommend it, graphics acceleration is broken regardless and that particular branch of freedreno is no longer being serviced as often, instead Freedreno is part of the MESA project, and MESA requires Kernel Mode Setting [KMS] support, something our kernel lacks), as the KGSL driver had been neutered in more recent releases and is completely broken.

All in all, if you're going to go this route, look into PostmarketOS and it's use of the mainline kernel for our device, it's closer to what you want, but you'll need to work for it (for instance, it's package repository is rather limited since Alpine Linux is mostly used for ARM servers rather than ARM workstations, all GUI applications are compiled for x86/x86_64 with almost no ports over to Alpine ARM for PostmarketOS. There are other Cons to using the mainline kernel, for instance, I think Bluetooth still doesn't work properly, and a couple other board features are still broken. (I could be wrong though, there's been a lot of work done with little fanfare, so these could have been changed since the Mainline Kernel's announcement)
 
Last edited:
  • Like
Reactions: doniks

ShadowEO

Senior Member
Mar 15, 2012
493
136
31
Columbus, Ohio
Thanks for the explanation ShadowEO! What does that quoted statement refer to? Release of what? Of Freedreno? Did it have KGSL support but doesn't anymore?

Sorry ^_^; It's the KGSL driver in the kernel sources (drivers/gpu/msm/msm_kgsl*). When I was trying to do this previously, I found that the KGSL driver seemed to only have functional support back on Android 2.3.x kernels (iirc, it's been a while) and that they fell into abandonment later on, and are currently completely broken.

If you can get them to compile and run, they work (to the point that most applications attempting to use them can at least find their device nodes and use 2D acceleration [though any sane driver fails if it can't use 3D as well]), but you can't get 3D acceleration without Freedreno, which has been merged with MESA. Using the older freedreno, as seen with the Arch Linux attempts and indeed even this one, you do get 3D acceleration, but only in portrait mode, and with heavy artifacting. Any attempts to rotate the screen crash Xorg and the artifacting makes it a pain to view (obviously, since you'll have parts of menus still showing where they shouldn't, etc.)

I worked around that on Arch by just using the good old framebuffer driver (fbturbo) and msm_fb_refresher, but like I said previously, you don't get 3D acceleration with those and you still don't get xrandr-based rotation (so no auto-rotation scripts, no changing orientation at runtime, etc).

The best option, if you don't want to go with Halium or pmOS, IMO would be to work around the linaro mainline kernel, which supports Kernel Mode Setting, and thus MESA, Glamor, etc, needed to get hardware acceleration going for X11 (though it's probably better to use Wayland at this point). But that comes with it's own set of problems that are far beyond my scope lol.
 
  • Like
Reactions: doniks

ShadowEO

Senior Member
Mar 15, 2012
493
136
31
Columbus, Ohio
Could you port another AMD Arch Linux Distro?

Or, could you share the branches for port any Distro?

Please read through the thread, information for all of that is here (By the way, the kernel is the only special thing needed, once you have a working kernel that will boot the system up, you only need the ARMHF userspace. You don't need to compile anything further past the kernel for support, so I'm unsure what "branches" you are asking for). Also the caveats imposed by this form of installation.

If you attempt to update ArchLinuxARM, it will cease to boot (something about the changes from systemd and other components).

The touch screen is also very unusable in it's current form and requires a lot of hacks to get running, there is absolutely NO working hardware acceleration, and no way to get hardware acceleration working due to us being locked at kernel version 3.4.0, so we can't use Kernel Mode-Setting and MESA's Freedreno (which also requires KMS) or a recent version of SystemD due to missing kernel capabilities which aren't available under our kernel version.

If you'd like to STILL attempt to build a working Linux distribution for your device (other than a chroot or Ubuntu Touch, which can be found on https://ubports.com), you should check out PostMarketOS which provides information about how to create and install your own Linux distribution using the Mainline kernel.
 

sebasrock156

Senior Member
Nov 29, 2012
599
406
26
Sagunt, Spain
Please read through the thread, information for all of that is here (By the way, the kernel is the only special thing needed, once you have a working kernel that will boot the system up, you only need the ARMHF userspace. You don't need to compile anything further past the kernel for support, so I'm unsure what "branches" you are asking for). Also the caveats imposed by this form of installation.

If you attempt to update ArchLinuxARM, it will cease to boot (something about the changes from systemd and other components).

The touch screen is also very unusable in it's current form and requires a lot of hacks to get running, there is absolutely NO working hardware acceleration, and no way to get hardware acceleration working due to us being locked at kernel version 3.4.0, so we can't use Kernel Mode-Setting and MESA's Freedreno (which also requires KMS) or a recent version of SystemD due to missing kernel capabilities which aren't available under our kernel version.

If you'd like to STILL attempt to build a working Linux distribution for your device (other than a chroot or Ubuntu Touch, which can be found on https://ubports.com), you should check out PostMarketOS which provides information about how to create and install your own Linux distribution using the Mainline kernel.

But, trying to update Kernel and porting branches, could be do something?
 

ShadowEO

Senior Member
Mar 15, 2012
493
136
31
Columbus, Ohio
Sadly not, we are at the mercy of drivers which require specific kernel APIs, that's why if you attempt to use say, an Oreo kernel on a Nougat ROM, the phone fails to boot. There is also a distinct lack of open source platform drivers for these devices.

As I said, the closest thing you'll get to an up-to-date kernel is Alpine Linux (postmarketOS) with the mainline kernel built. Unfortunately, it lacks support for a good number of device features, and you are still limited to Wayland for graphics acceleration.

Updating the kernel and it's drivers are nigh-impossible without both Qualcomm and the other OEMs support.
 
Last edited:

Top Liked Posts

  • There are no posts matching your filters.
  • 11
    Desktop environment: Mate.


    What work?
    Wi-Fi - automaticaly connect by using android config
    Bluetooth
    Xorg server
    Audio

    What doesn't work:
    qemu-i386 + wine
    Network Manager applet don't show network connection icon.

    Download:
    https://drive.google.com/file/d/0B-6iiCUyzZjWZVpKS3EwcjBpZ0k/view?usp=drivesdk

    Install:
    Install Debian_Jessie_ARMHF.mrom File by twrp multirom.
    5
    You want install debian on usb stick, simple set root's image size to 4000MB.

    7.png

    8.png

    9.png


    New distro comming. :D
    Ubuntu Xenial
    View attachment 3726433
    3
    Copy file to /sdcard and run in terminal or adb commands

    root@porteus:/# adb shell
    * daemon not running. starting it now on port 5037 *
    * daemon started successfully *
    shell@flo:/ $ su
    root@flo:/ # cd sdcard
    root@flo:/sdcard # unzip /sdcard/Debian_Jessie_ARMHF.mrom
    root@flo:/sdcard # mkdir /data/media/0/multirom/roms/Debian
    root@flo:/sdcard # mkdir /data/media/0/multirom/roms/Debian/root
    root@flo:/sdcard # cp /sdcard/root_dir/rom_info.txt /data/media/0/multirom/roms/Debian
    root@flo:/sdcard # tar -C /data/media/0/multirom/roms/Debian/root -xpzvf /sdcard/rom/root_00.tar.gz
    root@flo:/sdcard # tar -C /data/media/0/multirom/roms/Debian/root -xpzvf /sdcard/rom/root_01.tar.gz
    root@flo:/sdcard # tar -C /data/media/0/multirom/roms/Debian/root -xpzvf /sdcard/rom/root_02.tar.gz
    2
    No problem. I have done Ubuntu Xenial and i it post. Before long I write small tutorial how compile kernel, modules and how patch rootfs.
    For get debian rootfs I using linux deploy.
    1
    Thanks for the explanation ShadowEO! What does that quoted statement refer to? Release of what? Of Freedreno? Did it have KGSL support but doesn't anymore?

    Sorry ^_^; It's the KGSL driver in the kernel sources (drivers/gpu/msm/msm_kgsl*). When I was trying to do this previously, I found that the KGSL driver seemed to only have functional support back on Android 2.3.x kernels (iirc, it's been a while) and that they fell into abandonment later on, and are currently completely broken.

    If you can get them to compile and run, they work (to the point that most applications attempting to use them can at least find their device nodes and use 2D acceleration [though any sane driver fails if it can't use 3D as well]), but you can't get 3D acceleration without Freedreno, which has been merged with MESA. Using the older freedreno, as seen with the Arch Linux attempts and indeed even this one, you do get 3D acceleration, but only in portrait mode, and with heavy artifacting. Any attempts to rotate the screen crash Xorg and the artifacting makes it a pain to view (obviously, since you'll have parts of menus still showing where they shouldn't, etc.)

    I worked around that on Arch by just using the good old framebuffer driver (fbturbo) and msm_fb_refresher, but like I said previously, you don't get 3D acceleration with those and you still don't get xrandr-based rotation (so no auto-rotation scripts, no changing orientation at runtime, etc).

    The best option, if you don't want to go with Halium or pmOS, IMO would be to work around the linaro mainline kernel, which supports Kernel Mode Setting, and thus MESA, Glamor, etc, needed to get hardware acceleration going for X11 (though it's probably better to use Wayland at this point). But that comes with it's own set of problems that are far beyond my scope lol.