<span class="latin" style="width:19px;height:19px;">G</span><span class="latin" style="width:19px;height:19px;">r</span><span class="latin" style="width:19px;height:19px;">o</span><span class="latin" style="width:19px;height:19px;">u</span><span class="latin" style="width:19px;height:19px;">p</span><span class="latin" style="width:19px;height:19px;">:</span><span class="latin" style="width:19px;height:19px;">H</span><span class="latin" style="width:19px;height:19px;">a</span><span class="latin" style="width:19px;height:19px;">r</span><span class="latin" style="width:19px;height:19px;">d</span><span class="latin" style="width:19px;height:19px;">w</span><span class="latin" style="width:19px;height:19px;">a</span><span class="latin" style="width:19px;height:19px;">r</span><span class="latin" style="width:19px;height:19px;">e</span><span class="latin" style="width:19px;height:19px;">/</span><span class="latin" style="width:19px;height:19px;">C</span><span class="latin" style="width:19px;height:19px;">o</span><span class="latin" style="width:19px;height:19px;">m</span><span class="latin" style="width:19px;height:19px;">p</span><span class="latin" style="width:19px;height:19px;">u</span><span class="latin" style="width:19px;height:19px;">t</span><span class="latin" style="width:19px;height:19px;">e</span><span class="latin" style="width:19px;height:19px;">r</span><span class="latin" style="width:19px;height:19px;">s</span><span class="latin" style="width:19px;height:19px;">/</span><span class="latin" style="width:19px;height:19px;">L</span><span class="latin" style="width:19px;height:19px;">a</span><span class="latin" style="width:19px;height:19px;">p</span><span class="latin" style="width:19px;height:19px;">t</span><span class="latin" style="width:19px;height:19px;">o</span><span class="latin" style="width:19px;height:19px;">p</span></span><span class="tktr-gyo" style="height:640px;margin:0 0 180px 22px;font-size:19px;_width:19px;/width:19px;"><span class="latin" style="width:19px;height:19px;">s</span><span class="latin" style="width:19px;height:19px;">/</span><span class="latin" style="width:19px;height:19px;">F</span><span class="latin" style="width:19px;height:19px;">r</span><span class="latin" style="width:19px;height:19px;">e</span><span class="latin" style="width:19px;height:19px;">e</span><span class="latin" style="width:19px;height:19px;">a</span><span class="latin" style="width:19px;height:19px;">b</span><span class="latin" style="width:19px;height:19px;">l</span><span class="latin" style="width:19px;height:19px;">e</span><span class="latin" style="display:block;width:19px;height:19px;"> </span><span class="latin" style="width:19px;height:19px;">l</span><span class="latin" style="width:19px;height:19px;">a</span><span class="latin" style="width:19px;height:19px;">p</span><span class="latin" style="width:19px;height:19px;">t</span><span class="latin" style="width:19px;height:19px;">o</span><span class="latin" style="width:19px;height:19px;">p</span><span class="latin" style="width:19px;height:19px;">s</span><span class="latin" style="width:19px;height:19px;">/</span><span class="latin" style="width:19px;height:19px;">H</span><span class="latin" style="width:19px;height:19px;">e</span><span class="latin" style="width:19px;height:19px;">r</span><span class="latin" style="width:19px;height:19px;">c</span><span class="latin" style="width:19px;height:19px;">u</span><span class="latin" style="width:19px;height:19px;">l</span><span class="latin" style="width:19px;height:19px;">e</span><span class="latin" style="width:19px;height:19px;">s</span><span class="latin" style="display:block;width:19px;height:19px;"> </span><span class="latin" style="width:19px;height:19px;">e</span><span class="latin" style="width:19px;height:19px;">C</span><span class="latin" style="width:19px;height:19px;">A</span><span class="latin" style="width:19px;height:19px;">F</span></span><span class="tktr-gyo" style="height:640px;margin:0 0 180px 22px;font-size:19px;_width:19px;/width:19px;"><span class="latin" style="width:19px;height:19px;">E</span><span class="latin" style="display:block;width:19px;height:19px;"> </span><span class="latin" style="width:19px;height:19px;">-</span><span class="latin" style="display:block;width:19px;height:19px;"> </span><span class="latin" style="width:19px;height:19px;">L</span><span class="latin" style="width:19px;height:19px;">i</span><span class="latin" style="width:19px;height:19px;">b</span><span class="latin" style="width:19px;height:19px;">r</span><span class="latin" style="width:19px;height:19px;">e</span><span class="latin" style="width:19px;height:19px;">P</span><span class="latin" style="width:19px;height:19px;">l</span><span class="latin" style="width:19px;height:19px;">a</span><span class="latin" style="width:19px;height:19px;">n</span><span class="latin" style="width:19px;height:19px;">e</span><span class="latin" style="width:19px;height:19px;">t</span>  

Navigation menu




LibrePlanet


About 
About LibrePlanet
Mission Statement
Founding documents
Support this Community
Code of Conduct
Anti-harassment policy
Teams 
Activists
Wiki Helpers
LibrePlanet Artists
FSF Community Team
Local & Student Teams
Conferences 
LibrePlanet Conference
Non-official
Get involved 
Participate
Discussion channels
Events
 


Login
 










Group: Hardware/Computers/Laptops/Freeable laptops/Hercules eCAFE

 

From LibrePlanet

< Group:Hardware | Computers | Laptops | Freeable laptops

Jump to: navigation, search  

Contents

  • 2 Source code
  • 3 Hardware documentation
  • 4 Booting
  • 5 Status
  • 6 TODO
  • Introduction

    Hercules made the following laptops with an I.MX51 ARM system on a chip:

    Here are some more information on the hardware:

    They ship with u-boot, and more recent u-boot versions have been maintained by the free software and open source communities. There is also a device tree available but it needs to be upstreamed in Linux.

    Once that will be upstreamed, it will be possible to use them with only free software, with u-boot and Parabola, but it will still have some serious flaws as important features like the WiFi and accelerated video decoding will still be missing.

    The 3D acceleration doesn't work: The I.MX51 and I.MX53 can use the adreno driver but there is no free firmware. This creates various issues (like lightdm and sddm crashing), so the best way to deal with it is to try to remove the 'msm' driver from the kernel or disable it at runtime before starting lightdm with the following command (as root):

    echo msm > /sys/class/drm/card0/device/driver/unbind
    

    In Parabola I tried to add module_blacklist=msm to the kernel command line but the msm driver is builtin so it has no effect, so for now we need to do the commands above to get desktop environment working.

    Source code

    Some patches for Linux (including the dts) and u-boot did exist as part of meta-teapot.

    Hardware documentation

    UART

    There is an unpopulated connector for the serial port with UART1 being written under it.

    There is an arrow on the left of the connector. Here's the pinout.

    > [?][TX?][][][RX][GND][GND][GND]
    

    The MAX3232 that is nearby most probably provides the 5V voltage compatible with common USB serial port adapters.

    Status:

    JTAG

    There is an unpopulated connector with "JTAG" being written on it. I didn't test it.

    Booting

    To boot you need:

    hardware information

    Installing parabola on an SD card

    To install Parabola on a SD (or microSD with a microSD<->SD adapter):

    Then u-boot will boot on the SD/microsd. It will look for the following files:

    To compile mx5-mx51_na04.dtb you can use the following repository: https://framagit.org/GNUtoo/dts/-/tree/hercules-ecafe/v5.1-dts-raw

    As for the extlinux.conf, beside adding console=ttymxc0,115200 the rest is pretty much standard and the documentation about it can be found in the Parabola ARM installation instructions on the Parabola wiki. Here's an example:

    menu title Welcome to U-Boot with Extlinux support!
    
    timeout 1
    
    label Parabola GNU/Linux-libre, linux-libre kernel
     kernel /boot/vmlinuz-linux-libre
     append rootwait loglevel=8 rw console=ttymxc0,115200 root=/dev/mmcblk1p1
     fdtdir /boot/dtbs/linux-libre
     initrd /boot/initramfs-linux-libre.img
    

    Building u-boot

    Adding u-boot to an SD card

    To boot u-boot from the microSD/SD

     dd if=u-boot.imx of=/dev/sdc bs=512 seek=2 conv=fsync
    

    Loading u-boot from USB

    Alternatively, you can also just load the bootloader from USB.

    To do that:

    During boot

    At boot the display will be black most of the time, so if you don't have an UART soldered it will not be very fun to debug.

    See also the boot log for details on the kernel version and for understanding what works or doesn't work.

    Status

    With the documentation on this page, users can manage to boot Parabola.

    So far the following work fine:

    TODO

    Retrieved from "https://libreplanet.org/wiki?title=Group:Hardware/Computers/Laptops/Freeable_laptops/Hercules_eCAFE&oldid=68134" 



















    FSF
    The Free Software Foundation (FSF) is a nonprofit with a worldwide mission to promote computer user freedom.

    We defend the rights of all software users. (Read more)
     



    Campaigns


    High Priority Free Software Projects

    Free JavaScript

    Secure Boot vs Restricted Boot

    GNU Operating System

    Defective by Design

    See all campaigns
     



    Get Involved



    Contact
     




    Send your feedback on our translations and new translations of pages to campaigns@fsf.org.

    Copyright © 20132023 Free Software Foundation, Inc.  Privacy Policy, JavaScript license information