Differences between revisions 25 and 26
Revision 25 as of 2016-10-01 01:15:17
Size: 8541
Editor: ?VagrantCascadian
Comment: Updated debian kernel status.
Revision 26 as of 2017-04-23 01:10:59
Size: 8545
Editor: PaulWise
Comment: use Debian manpages
Deletions are marked like this. Additions are marked like this.
Line 302: Line 302:
 * http://linux.die.net/man/1/mkimage  * [[DebianMan:1/mkimage|mkimage manual]]

Mainline kernel support

Patch submitted to enable basic support for ?OpenPandora in the Debian linux packages: https://bugs.debian.org/835893

Enabled in in debian linux package in 4.7.4-1.

Boots with linux 4.7.x/4.8.x and Debian stretch. SD card, NAND, LCD (xserver-xorg-video-fbdev works, fbconsole doesn't), keyboard (fn-key broken). Broken or missing support for USB, wifi, and "mouse" nubs.

U-boot

The omap3_pandora target was enabled in the u-boot-omap package in version 2016.09~rc2+dfsg1-1. Only works with serial console, so debugging can be difficult without a serial console cable.

Installing Wheezy on the Open Pandora

What You will need

  • An Open Pandora (I have the 1 Ghz Model)
    • - Note: I have been told this can make a different for which port you can use. I have been able to use armhf, but I wouldn't mind someone trying it out....
  • A PC with Debian installed
  • An SD Card (I am using a 16 GB card, but I imagine that you can install it on an 8 GB Card)

Notes

  • As of now, 3D acceleration does not work. I cannot get the omap drivers to work
  • I have only been able to get the pandora kernel to play nicely with Debian.
  • I am NOT trying to get the PND system to work. You are welcome to attempt it, and there is some documention here: http://pandorawiki.org/Debian_On_SD.

  • The Wifi Drivers are non-free software.

On The PC

  • Format the SD card to have an ext3 partition (I used gparted to do this)
  • Install debootstrap
    # apt-get install debootstrap
  • Now run debootstrap. I choose to use the armel port, even though Open Pandora has a hardware FPU. Others have successfully gotten the armel working, so I will do that then work on the armhf
    #debootstrap --arch armel --foreign wheezy /tmp/pandora-debian http://ftp.us.debian.org/debian/
  • Note: If you want to try the armhf port, run this instead:
    #debootstrap --arch armhf --foreign wheezy /tmp/pandora-debian http://ftp.us.debian.org/debian/
  • Now copy that directory you just made into the SD card, unmount it, and put it into your Pandora.
    # cd /tmp/pandora-debian
    # cp -R -v * /media/chris/Debian/ 
    # umount /media/chris/Debian/

On The Pandora

  • Now on your Pandora, you will have to do the second stage. This will take a little bit of time:
    # sudo chroot /media/Debian
    # /debootstrap/deboostrap --second-stage
  • After that, you need to add your repositories into this new install.
    # nano /etc/apt/sources.list

Contents of /etc/apt/sources.list

  • # wheezy
    deb http://ftp.us.debian.org/debian/ wheezy main contrib non-free
    deb-src http://ftp.us.debian.org/debian/ wheezy main contrib
    
    # wheezy updates
    deb http://ftp.us.debian.org/debian/ wheezy-updates main contrib non-free
    deb-src http://ftp.us.debian.org/debian/ wheezy-updates main contrib
    
    # Wheezy Backports
    deb http://ftp.us.debian.org/debian/ wheezy-backports main contrib non-free
    deb-src http://ftp.us.debian.org/debian/ wheezy-backports main contrib
  • Now update and upgrade. I don't think you will get anything for the upgrade, but it doesn't hurt.
    # apt-get update
    # apt-get dist-upgrade

Making the Pandora boot

  • You must also create a boot.txt or autoboot.txt in order for u-boot to recognize and boot the kernel. If you make a boot.txt, you must manually load it from the bootmenu, but autoboot.txt will boot this before the NAND image:
    # nano /boot.txt

or

  • # nano /autoboot.txt

Contents of boot.txt/autoboot.txt:

  • setenv bootargs root=/dev/mmcblk0p1 rw rootwait vram=6272K omapfb.vram=0:3000K mmc_core.removable=0
    ext2load mmc 0:1 0x80300000 /boot/uImage
    bootm 0x80300000

NOTE: Refer to boot setup for how I did this. If you make multiple partitions on the card, the ezt2load will be different: http://pandorawiki.org/Boot_setup

Using the Pandora Kernel

From Angstrom:

  • $ sudo cp -R /lib/modules/* /media/Debian/lib/modules
    $ sudo cp -R /lib/firmware/* /media/Debian/lib/firmware
    $ sudo cp -R /boot/* /media/Debian/boot

Chroot with Debian:

  • # chown root:root -hR /boot/
    # chown root:root -hR /lib/firmware/
    # chown root:root -hR /lib/modules/

With that, you can now boot from the pandora directly to your new Debian installation!

Making a Debian Kernel

  • NOTE: This is only possible with armhf. However, upon boot, you will only see a blank screen. I suspect a kernel recompile is needed for both armel and armhf.
  • Install the kernel from apt-get (NOTE: The firmware-ti-connectivity is non-free):

On Debian:

  • # apt-get install linux-image-omap linux-headers-omap firmware-ti-connectivity

Now to make the pandora boot into it, we must make a bootable image for it to boot from.

On Debian:

  • # mkimage -A arm -O linux -T kernel -C none -a 0x80008000 -e 0x80008000 -n Linux -d /boot/vmlinuz-3.2.0-4-omap /boot/uImage
  • As of now, it says it boots from the Uboot, but you will see nothing on the screen. To work on.....

Xorg

When you install xxerver, be sure to install xserver-xorg-video-omap3 and xserver-xorg-video-fbdev. I chose to install xfce, but you are welcome to install what you wish.

On Debian

  • # apt-get install xfce4 xserver-xorg-video-omap3 xserver-xorg-video-fbdev

I also install xfce4-goodies

  • # apt-get install xfce4-goodies

=== armel===

This is my xorg.conf

/etc/X11/xorg.conf

  • Section "Module"
        Load    "extmod"
        Load    "dbe"
        Disable    "glx"
        Disable    "dri"
        Load    "dri2"
    EndSection
    
    Section "ServerLayout"
        Identifier    "DefaultLayout"
        Screen        "Screen0"
    EndSection
    
    Section "Screen"
        Identifier        "Screen0"
        Device            "OMAPFB"
        Monitor            "Monitor0"
        DefaultDepth    16
        SubSection "Display"
            Depth    16
            Modes    "800x480"
        EndSubSection
    EndSection
    
    Section "Monitor"
        Identifier        "Monitor0"
    EndSection
    
    Section "Device"
        Identifier        "OMAPFB"
        Driver            "omapfb"
        Option            "fb"        "/dev/fb0"
    EndSection

Right now I have only attempted with root.

armhf

Note: I have only gotten fbdev to work. omap3 does not seem to want to work.

This is my xorg.conf

/etc/X11/xorg.conf

  • # Taken from Pandian
    Section "ServerLayout"
            Identifier      "DefaultLayout"
            Screen          "Screen0"
    EndSection
    
    Section "Screen"
            Identifier      "Screen0"
            Device          "FBDEV"
            Monitor         "Monitor0"
            DefaultDepth    16
            SubSection "Display"
                    Depth   16
                    Modes   "800x480"
            EndSubSection
    EndSection
    
    
    
    Section "Device"
            Identifier      "OMAPFB"
            Driver          "omapfb"
            Option          "fb"    "/dev/fb0"
    EndSection
    
    Section "Device"
            Identifier      "FBDEV"
            Driver          "fbdev"
            Option          "ShadowFB"              "false"
            Option          "fbdev"                 "/dev/fb0"
    EndSection   
    
    Section "Files"
            FontPath        "/usr/share/fonts/X11/misc"
            FontPath        "/usr/share/fonts/X11/Type1"
            FontPath        "/usr/share/fonts/X11/Speedo"
            FontPath        "/usr/share/fonts/X11/100dpi"
            FontPath        "/usr/share/fonts/X11/75dpi"
    EndSection

Keymap

On Angstrom:

  • sudo cp /etc/keymap-extension-2.6.map /media/mmcblk0p1/etc
    sudo cp /etc/skel/.pndXmodmap /media/mmcblk0p1/etc/skel

This script needs to run anytime you start X, right now I have it in /etc/skel/.xinitrc. Depending on if you use gdm, kdm, etc, it will have to go somewhere else

.xinitrc

  • xmodmap /etc/skel/.pndXmodmap
    loadkeys /etc/keymap-extension-2.6.map

Battery Monitoring

Nothing really to it....

Debian

  • # apt-get install apmd

Also install the DM's power manager. I use xfce, so I just installed that.

Credits:

Unofficial Package Repository

There's an armhf repository with a linux-image package based on wheezy kernel sources with openpandora patches applied, as well as a pandora-hacks package which includes keymap and cpu frequency configurations specific to the pandora. To use, add to sources.list:

  • deb http://cascadia.debian.net/~vagrant/debian wheezy-pandora main


CategoryHandheld