X on Marvell pxa168 (Aspenite)


Page 1 of 2 12 LastLast
Results 1 to 15 of 16

Thread: X on Marvell pxa168 (Aspenite)

  1. #1
    Join Date
    Aug 2004
    Location
    Ohio
    Posts
    9

    X on Marvell pxa168 (Aspenite)

    Has anyone here managed to get X running on a Marvell pxa168 processor? At my company it was my understanding that we would be provided with a board with X running (Embedded Linux), but turns out it looks like it's up to us to get X on there. Due to other hardware delays I've been testing on the Marvell Aspenite development board, our supplier assures us that the hardware will be the same on the final device. By using the Marvell supplied OS Image and copying files from my Embedded Debian Qemu virtual machine I have X installed, but using startx or Xorg, and startxfce4 commands results in nothing happening on the screen.

    I have been using Linux for several years, but never really dealt with such low-level configuration. I don't see any fatal errors in the Xorg log file, although running Xorg -configure gives me "No devices to configure. Configuration failed."
    Slack-Current
    700 MHz Pentium 3
    128 MB RAM

    favorite fortune for now:
    All things are possible,
    except for skiing through
    a revolving door

  2. #2
    Join Date
    Jul 2002
    Location
    New Orleans, LA USA
    Posts
    986
    Don't have one of those boards to play with to give you that much help. I did find this option in the kernel though, maybe you need display binaries compiled from a kernel with this flagged?

    Code:
    CONFIG_MACH_ASPENITE
    "Whenever you find yourself on the side of the majority, it's time to pause and reflect."

    -Mark Twain

  3. #3
    Join Date
    Aug 2004
    Location
    Ohio
    Posts
    9
    Thanks, will take a look and see if I gcc on this thing to compile the kernel, either that or try and remember how to set up a cross compiler for ARM.
    Slack-Current
    700 MHz Pentium 3
    128 MB RAM

    favorite fortune for now:
    All things are possible,
    except for skiing through
    a revolving door

  4. #4
    Join Date
    May 2012
    Posts
    6
    Not sure if you got this resolved yet or not, but I have X running on a custom PXA168 device using Fedora Core 13 (FedoraARM) with XFCE Desktop. The trick (if you or anyone else needs it) is manual configuration of the xorg.conf file...

    --- sample /etc/X11/xorg.conf
    Section "ServerLayout"
    Identifier "Base Layout"
    Screen 0 "Screen0" 0 0
    InputDevice "Touchs0" "CorePointer"
    InputDevice "Mouse0" "CorePointer"
    InputDevice "Keyboard0" "CoreKeyboard"
    EndSection

    Section "Files"
    ModulePath "/usr/lib/xorg/modules"
    FontPath "catalogue:/etc/X11/fontpath.d"
    FontPath "built-ins"
    EndSection

    Section "Module"
    Load "dri"
    Load "record"
    Load "extmod"
    Load "dbe"
    Load "glx"
    Load "dri2"
    EndSection

    Section "InputDevice"
    Identifier "Touch0"
    Driver "evdev"
    Option "CorePointer" "true"
    Option "SendCoreEvents" "true"
    Option "Device" "/dev/input/event0"
    Option "Protocol" "Auto"
    Option "Width" "640"
    Option "Height" "480"
    Option "EmulateRightButton" "1"
    Option "InvertY" "on"
    #Option "Calibration" "80 960 95 910"
    EndSection

    Section "InputDevice"
    Identifier "Keyboard0"
    Driver "kbd"
    EndSection

    Section "InputDevice"
    Identifier "Mouse0"
    Driver "mouse"
    Option "Protocol" "auto"
    Option "Device" "/dev/input/mice"
    Option "ZAxisMapping" "4 5 6 7"
    EndSection

    Section "Monitor"
    Identifier "Saluda Display"
    EndSection

    Section "Device"
    Identifier "Saluda Video"
    Driver "fbdev"
    EndSection

    Section "Screen"
    Identifier "Screen0"
    Device "Saluda Video"
    Monitor "Saluda Display"
    DefaultDepth 16

    SubSection "Display"
    Depth 16
    Modes "640x480"
    EndSubSection
    EndSection

    --- to test the server, run: X -config /etc/X11/xorg.conf
    --- xinput --set-prop "Touch0" "Evdev Axis Inversion" 0 1
    --- to calibrate touch:
    1. yum groupinstall "X Software Development"
    2. run xinit_calibration
    3. add calibratikon values to xorg.conf "Calibration" option
    4. Alternately,use xinput utility to collect cal data

    For recent versions of Xorg, there is no longer an xorg.conf file. Everything
    is automatically figured out. Instead of creating an xorg.conf file, one can
    create a configuration file in directory /etc/X11/xorg.conf.d

    I created on named 01-disable-dpms-off.conf, then put the following in the file:

    Section "ServerFlags"
    Option "BlankTime" "0"
    Option "StandbyTime" "0"
    Option "SuspendTime" "0"
    Option "OffTime" "0"
    EndSection

    This did the trick for me on Fedora 13, which has Xorg version 1.8.0.
    see: https://wiki.archlinux.org/index.php/Xorg#Installing
    see: https://wiki.archlinux.org/index.php/Xorg#DPMS
    see: https://wiki.archlinux.org/index.php...om_turning_off
    see: https://wiki.archlinux.org/index.php/Xorg#InputClasses

  5. #5
    Join Date
    Jun 2012
    Posts
    2

    Question

    [QUOTE=plufmud;894349]Not sure if you got this resolved yet or not, but I have X running on a custom PXA168 device using Fedora Core 13 (FedoraARM) with XFCE Desktop. The trick (if you or anyone else needs it) is manual configuration of the xorg.conf file...

    Hi plufmud --

    Interesting post. Not sure what actual device you are using, but I have one of these. Has 128 meg RAM, & the PXA168@800 mhz. I'd love to get some linux distro running on it. Could you enlighten me a little further as to some of details of install Fedora on your gadget? Did you have to compile a custom kernel or does Fedora have different ARM release? I've seen lots of binaries or images ready made for the Marvell Kirkwoods but never for this chip. I've been trying to do debian by following this thread as well as this thread. I did get LXDE to come up (once) after using debootstrap to install debian-armel to a flash drive and using a chroot. Couldn't get the touchscreen to work at all though, and saw lots of errors in dmesg. Any info you might provide would be most appreciated!

    Brian

  6. #6
    Join Date
    May 2012
    Posts
    6
    Brian, thanks for the link to Bunnie's Blog, the Infocast looks to be a fun toy for hacking. Our device is a custom PXA168 based kiosk that we sell to the retail sector for point of sale price verification. We provide it with WinCE 6.0 Pro, Linux 6.34, Android 2.2/2.3, or an ARMEL Linux distro of your choice such as FC13, Ubuntu, Debian, or Angstrom. It has 256MB of DDR2 RAM, 256MB NAND Flash, with USB and Compact Flash support. We provide a custom kernel based on Marvell's Aspenite and AVLite patches to the 2.6.34 Linux source tree. The Kirkwoods and Plug series (SheevaPlug, GuruPlug, etc) are all great sources of info for getting various Linux distros to run on Marvell's Armada100 processors but in the end some customization is always required.
    We started with the FedoraARM rootfs image which is available via links from Fedora's site. That image worked right out of the box on our platform, once we logged in as root we used yum to add X-windows, the XFCE desktop, and various Gnome packages.
    The final file system size was 1.5 GB, we use a dual partitioned 4GB USB drive (50MB FAT32 for custom kernels, loaded as zimages via U-Boot, and the remainder as an EXT3 file system for Fedora).
    If you want the gritty details on how we accomplished all that then let me know...

  7. #7
    Join Date
    Jun 2012
    Posts
    2
    Quote Originally Posted by plufmud View Post
    . . . If you want the gritty details on how we accomplished all that then let me know...
    Thanks very much. This *is* an interesting device. It uses FlashLite to play widgets that can do various things, the widgets are tied to Chumby Industries servers (which are on Amazon). But like so many, Chumby has really scaled back their ops. Seems like a waste since the thing is so easily hacked. The infocast is not technically open source, but the Chumby 8 is and they are identical. They got that past Best Buy somehow. Anyway, it takes all sorts of cards, and has an internal uSD card which it will boot from. Thought it might make a nice GPS or maybe home automation control, something like that.

    Well, I'll let you and the thread know how I make out.....

    Cheers

    Brian

  8. #8
    Join Date
    Aug 2012
    Posts
    4
    Quote Originally Posted by plufmud View Post
    We started with the FedoraARM rootfs image which is available via links from Fedora's site. That image worked right out of the box on our platform, once we logged in as root we used yum to add X-windows, the XFCE desktop, and various Gnome packages.
    The final file system size was 1.5 GB, we use a dual partitioned 4GB USB drive (50MB FAT32 for custom kernels, loaded as zimages via U-Boot, and the remainder as an EXT3 file system for Fedora).
    If you want the gritty details on how we accomplished all that then let me know...
    I am new to X-windows and one of my application I need to port from previous generation run on X-windows. The current platfrom is based on ARM Marvell pxa168 chipset.
    Would like to have more detailed instructions from you if possible for getting the x-windows ported to my ARM platform.
    How big is the Fedora ARM rootfs the one you have downloaded from Fedora website. The one I found is 350MB.
    Thanks.
    Mchavva

  9. #9
    Join Date
    May 2012
    Posts
    6
    The original effort used a pre-release version of Fedora Core 13 (FC13) for ARM "rootfs-f13-rc1-2011-06-29.tar.bz2" that was about 115 MB. FC17 ARM was released June 30th but we have not yet got that one to boot. For FC13 we basically did these steps (verbatim from our build notes)...


    How to install and boot Fedora ARM 13 on USB drive
    -------------------------------------------------------------------------------

    Notes: Out of the box, this is a troublesome installation because of missing
    package dependencies. Additional steps are required to allow ttyS0 login,
    network configuration, disable logging, remove doc folders, root auto login,
    root password removal, services disable (ipv6, avand...

    Basic package installation to the rootfs consists of:
    1. X-windows (Base-X)
    2. Desktop (LXDE or XFCE)
    3. Other apps (Midori broswer, media player, video player, flash)
    4. Configuration (tweak for GUI boot with auto login, omit serial ttyS0 in release)

    -------------------------------------------------------------------------------
    --- USB drive setup ---
    -------------------------------------------------------------------------------
    1. Prepare USB drive (2GB min, 4GB reccomended)
    partition 1: FAT32 (32MB minimum, 512MB recommended)
    partition 2: EXT2 (1.5GB minimum, 2GB or more recommended)

    2. Get the root file system:
    wget http://scotland.proximity.on.ca/fedo...-06-29.tar.bz2

    3. Extract and modify root file system (creates rootfs-f13 folder):
    mkdir rootfs-f13
    sudo tar -xjvf rootfs-f13-rc1-2011-06-29.tar.bz2 -c ./rootfs-f13
    << or sudo bunzip2 -c rootfs-f13-rc1-2011-06-29.tar.bz2 | tar xvf - >>

    4. Add kernel modules
    (do this in folder setup with lib files from:
    /home/pxa168/workdir/rel/target/rootfs/lib/firmware
    /home/pxa168/workdir/rel/target/rootfs/lib/modules
    and created in pxa168_rootfs
    )
    sudo cp -r pxa168_f13_rootfs/* rootfs-f13/

    5. Copy file system image to USB drive (assumes drive mounted as /media/Linux)
    sudo cp -p -r rootfs-f13/* /media/Linux/
    sync


    -------------------------------------------------------------------------------
    --- Configuring uBoot ---
    -------------------------------------------------------------------------------

    setenv usbboot 'usb start; fatload usb 0:1 0x1000000 zImage; bootz 0x1000000'
    setenv console_args 'console=ttyS0,115200 uart_dma mem=256M'
    setenv usb_args 'root=/dev/sda2 rootwait rootfstype=ext2'
    setenv bootusb_linux 'setenv bootargs $(usb_args) $(console_args); run usbboot'
    setenv mainlineLinux yes
    setenv bootcmd 'run bootusb_linux'


    -------------------------------------------------------------------------------
    --- System Setup ---
    -------------------------------------------------------------------------------
    --- initial changes to support ttyS0 ---
    vi /etc/securetty
    (add ttyS0 as last line)

    create file: /etc/init/ttyS0.conf
    # ttyS0 - getty
    #
    # This service maintains a getty on the specified device.

    start on runlevel [2345]
    stop on runlevel [016]

    respawn
    instance ttyS0
    exec /sbin/agetty -L ttyS0 115200 vt100

    --- disable idle/sleep power modes ---
    add to init cmd: apm=off acpi=off


    --- Installing XFCE desktop ---
    yum clean all

    # 'X' fails installation due to kernel dependency issues, need to install fake kernel
    wget http://matrix.senecac.on.ca/%7Ektara...3.armv5tel.rpm
    rpm -ivh fake-provides-1.0-1.fc13.armv5tel.rpm
    or
    rpm -ivh http://matrix.senecac.on.ca/%7Ektara...3.armv5tel.rpm

    # 'X' fails installation due to drm dependency issues, need to manually install drm-nouveau
    wget http://arm.koji.fedoraproject.org/pa...3.armv5tel.rpm
    rpm -ivh --nodeps xorg-x11-drv-nouveau-0.0.16-8.20100423git13c1043.fc13.armv5tel.rpm
    or
    rpm -ivh --nodeps http://arm.koji.fedoraproject.org/pa...3.armv5tel.rpm

    #
    # After having trouble finding a manual download site, this worked with no problem to grab the xorg-x11-drv-nouveau package:
    # yumdownloder xorg-x11-drv-nouveau
    # If you don't have yumdownloader, then 'yum install yum-utils'.
    # ...X install...
    # rpm -Uhv --nodeps xorg-x11-drv-nouveau
    # yum groupinstall "X Window System" XFCE
    #

    #yum -y groupinstall Core
    yum -y groupinstall "X Window System" XFCE
    Install 400 Package(s)
    Upgrade 9 Package(s)
    Total download size: 120 M


    #need xorg fonts to fix xterm error: "Cannot convert string "nil2" to type FontStruct"
    yum install xorg-x11-fonts-misc
    Install 1 Package(s)
    Upgrade 0 Package(s)
    Total download size: 5.7 M
    Installed size: 6.8 M

    #need twm for xorg failsafe default window manager (see /etc/X11/xinit/xinitrc)
    yum install twm
    Install 1 Package(s)
    Upgrade 0 Package(s)
    Total download size: 93 k
    Installed size: 171 k

    yum install xterm
    Install 1 Package(s)
    Upgrade 0 Package(s)
    Total download size: 354 k
    Installed size: 909 k


    --- disk cleanup ---
    You can safely delete all of these directories (as long as you don't need, or will miss any of it):

    /usr/doc
    /usr/info
    /usr/man
    /usr/share/doc
    /usr/share/info
    /usr/share/man
    rm -rf /usr/share/doc/*


    --- root password removal ---
    Edit the /etc/shadow so root can login, I don't know roots pw, we will make it empty.
    chmod 600 /etc/shadow
    vi /etc/shadow
    change
    root:65946945gkfhkfjghkfghfkngdfshgt843:14495:0:99 999:7:::
    to
    root::14495:0:99999:7:::
    chmod 000 /etc/shadow

    --- X11 setup ---
    edit /usr/bin/startx
    # remove inet6 dependencies...
    serverargs="-nolisten tcp"

    --- X11/GDM control ---
    #enable root login, edit these files, comment out this line in each:
    #auth required pam_succeed_if.so user != root quiet
    /etc/pam.d/gdm
    /etc/pam.d/gdm-fingerprint
    /etc/pam.d/gdm-password

    (GDM = Gnome Desktop Manager)
    #To stop gdm and Xorg
    initctl stop prefdm
    killall Xorg

    #To start Xorg and gdm
    initctl start prefdm

    --- X11 initial start ---
    [root@fedora-arm /]# startx

  10. #10
    Join Date
    Aug 2012
    Posts
    4
    Thanks Plumfud for the detail steps. I will be trying out this week and will get back to you if I run into any problems.

    -Mchavva

  11. #11
    Join Date
    May 2012
    Posts
    6
    You're welcome, good luck on your efforts. We use Ubuntu as dev environment hence the "sudo" commands. Please note that some of these steps are not applicable depending on which root file system you go with. We have Debian with LXDE and Fedora with XFCE, so you should be able to get X working with a minimum of trouble, sort of!

  12. #12
    Join Date
    Aug 2012
    Posts
    4
    Plufmud,

    How do I do this step -

    --- disable idle/sleep power modes ---
    add to init cmd: apm=off acpi=off

    What does "add to init cmd" means? In which file do I make this change?

    Also I have flashed the boot file system to nand flash instead of external usb drive as my uboot did not have support for "run" command.

    Thanks in advance.
    Mchavva

  13. #13
    Join Date
    May 2012
    Posts
    6
    We append those two commands to the tail-end of our u-boot bootargs variable. They may not applicable if your kernel does not have Advanced Power Management enabled. The idea is to keep our kiosk from going into low power mode, turning off the display, etc.

  14. #14
    Join Date
    Aug 2012
    Posts
    4
    Plufmud,

    Now I am trying to run "yum" commands and see the following errors -

    #yum -y groupinstall "X Window System" XFCE
    Error: Cannot retrieve repository metadata (repomd.xml) for repository: fedora. Please verify its path and try again

    I looked up and found to edit the paths in /etc/yum.repos.d/ files and made the changes as listed below -

    •You need to edit two of your repository files: /etc/yum.repos.d/fedora.repo and /etc/yum.repos.d/fedora-updates.repo. Now un-comment all the lines that start with the term baseurl and place a comment before all lines that start with mirrorlist. This should be done for both the above files.

    •Now edit your /etc/hosts file and append the following to it's contents:
    80.239.156.215 mirrors.fedoraproject.org
    213.129.242.84 mirrors.rpmfusion.org

    After doing this I see the following error -

    #yum install yum-utils
    http://download.fedoraproject.org/pu...ta/repomd.xml: [Errno 14] HTTP Error 404 : http://download.fedoraproject.org/pu...ata/repomd.xml
    Trying other mirror.
    Error: Cannot retrieve repository metadata (repomd.xml) for repository: fedora. Please verify its path and try again

    When I tried to look for the existence of the path, it does not exist.

    Any help is appreciated.

    Thanks in advance
    Mchavva

  15. #15
    Join Date
    May 2012
    Posts
    6
    Mchavva, not sure what could be causing the yum repository failures unless they've been moved or taken down. We used an older FC13 ARM Beta image that has long since been superceded by new more stable releases. Since your original effort was to just get X working, you might have better luck with Debian. Whichever way you go, dmesg is your friend for tracking errors and getting them fixed. Worst case, you can go with building X from source, have fun with that!

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •