From Fedora Project Wiki
Line 67: Line 67:
* sdma firmware compiled in, changed path <code>imx/sdma/sdma-imx51.bin</code> to match <code>arch/arm/boot/dts/imx51.dtsi</code>
* sdma firmware compiled in, changed path <code>imx/sdma/sdma-imx51.bin</code> to match <code>arch/arm/boot/dts/imx51.dtsi</code>
* version the kernel and modules
* version the kernel and modules
* include sbs-battery.ko
* include driver for RTC
* drop <code>CONFIG_ARM_UNWIND</code> and enable <code>CONFIG_FRAME_POINTER</code>


=== Devicetree changes ===
=== Devicetree changes ===

Revision as of 20:01, 20 May 2013

Previous Releases

Earlier releases, which with manual modifications work upto Fedora 14 are linked from the EfikaMX page. These older images in various degrees with both the Genesi Smarttop and Smartbook.

Current Release

The contents of the image is based on the Generic Root Filesystem armhfp. XFCE and most of the desktop basics are included. Very little changes were needed over all. As the Smartbook has only 512MB of RAM, it is recommended to add some swap space, re-using the swap on the internal HD works for me (you need to update your /etc/fstab).

Kernel Notes

The current kernel configuration as found in Sascha's tree does not play very nice with the Fedora rootfs. With some load quite some oopses occur and it often results in a kernel panic (this happens because some 'sh' process reads /proc/meminfo, no idea what process, or why). I have been able to re-configure the kernel to the Fedora specifics, while keeping to the options from Sascha's defconfig. This kernel looks more stable, and a 'yum update' over the integrated Wifi adapter has finished successfully.

Boot configuration

A difficulty with using this image, is that you need to configure your Smartbook to boot from SD-card, not the internal SPI-NOR. This change is done by flipping three dip-switches that are located under the keyboard, next to the flat-cable that connects the keyboard. The Genesi site contains a very good explanation on removing the keyboard so that you can access the switches.

The standard and default configuration of these switches cause the system to use the bootloader (uboot) to boot from the internal SPI-NOR and look like this:

+---------+
| X       |
|   X X X |
+---------+

Change this to the following to boot with barebox from the SD-card:

+---------+
|     X X |
| X X     |
+---------+

For now, I was only successful with booting from the left SD-card slot. barebox should also support booting from the micro-SD-card slot that is accessible by removing the battery. You will need to modify the barebox configuration (adding variables/scripts) for this. A future release of this remix will hopefully come with a modified barebox configuration so that both card slots work (and also separating zImage from the initramdisk).

Download

Files are available from http://devos.fedorapeople.org/fedora-arm/fedora-18-efikasb-remix/ .

Feature Requests

barebox

  • updated configuration to support booting from the micro-SD-card (behind the battery)
  • use a separate initramdisk

Kernel changes

  • get_vmalloc_info does not happen when CONFIG_HIGHMEM is turned off, maybe CONFIG_HIGHPTE is an alternative
  • BUG: spinlock bad magic on CPU#0, swapper/0 with upstream commit fcc16882ac4532aaa644bff444f0c5d6228ba71e
  • sdma firmware compiled in, changed path imx/sdma/sdma-imx51.bin to match arch/arm/boot/dts/imx51.dtsi
  • version the kernel and modules
  • include sbs-battery.ko
  • include driver for RTC
  • drop CONFIG_ARM_UNWIND and enable CONFIG_FRAME_POINTER

Devicetree changes

  • label of LED prefix set to efikasb

Known Issues

  • poweroff is unreliable, you sometimes need to press the powerbutton for a while to completely poweroff the system
  • capslock does not light the LED (a patch for this has been included, but is non-functional)
  • a reboot occasionally triggers a kernel panic early on boot (contains get_vmalloc_info and meminfo_proc_show), forcing a poweroff by pressing the powerbutton (and re-inserting the battery?) makes the system boot again
  • missing driver for /dev/rtc