ARM

Differences between revisions 15 and 16
Revision 15 as of 2010-03-18 13:26:24
Size: 3493
Editor: p5098ed03
Comment:
Revision 16 as of 2010-09-13 10:53:27
Size: 3232
Editor: softbank126012031121
Comment: General cleanup and update
Deletions are marked like this. Additions are marked like this.
Line 4: Line 4:
 * Network Devices (Thecus N series, Linksys NSLU2, etc.)  * Network Devices (Thecus N series, Linksys NSLU2, QNAP TS series, etc.)
Line 6: Line 6:
 * Subnotebooks (press releases indicate these will exist)  * Subnotebooks (Sharp Netwalker, Toshiba AC100, etc.)
Line 8: Line 8:
Ubuntu jaunty targets the ARM EABI, with an expectation of minimum compliance with the ARMv5t instruction set. Optimised libraries for ARMv6 and ARMv7 are expected to be available where there is significant performance gain.

Ubuntu karmic targets armv6.

Ubuntu lucid targets armv7 and higher only, See https://wiki.ubuntu.com/ARM/Thumb2.
Ubuntu targets the ARM EABI, with an expetation of minimum compliance with the ARMv7+VFP ISA. Limited support for earlier instruction sets (ARMv5t, ARMv6) was available in early releases of the ARM port (jaunty, karmic). Ubuntu typically targets the [[ARM/Thumb2|Thumb2]] instruction set.
Line 17: Line 12:
 * Several builds have been installed, and are processing the queue
 * Kernels are being worked on for various targets, including -versatile (for QEMU)
 * Optimisation investigation is underway
 * Much of the application porting is complete
 * Installation images are available for selected boards
 * kernels for a variety of subarchitectures are available
 * Continued porting and optimisation is underway
Line 23: Line 19:
 * How do i build an armel rootfs from scratch === How do i build an armel rootfs from scratch ===
Line 27: Line 23:
 * How do I install Ubuntu on my device === How do I install Ubuntu on my device ===
Line 29: Line 25:
Once enough of the archive is built, any of your favorite methods for installing Ubuntu should work for ARM, if your device can boot from CDROM or USB. If your device needs special processing, please check the manufacturer's documentation for installing linux. For some devices, installation images are available from releases.ubuntu.com or cdimage.ubuntu.com For other devices, netinstalls are recommended, although this will require a custom kernel/debian-installer build for your target device. Please share your experiences with successful installs (and instructions) on the [[ARM/DeviceSupport|Device Support]] page.
Line 31: Line 27:
 * How does this differ from Debian's armel port? === How does this differ from Debian's armel port? ===
Line 33: Line 29:
The primary difference is that Ubuntu targets a base of ARMv5t (jaunty), ARMv6 (karmic) and ARMv7 (lucid) rather than a base of ARMv4t (debian). As with the rest of Ubuntu, typically the source packages are identical, so the primary differences are the same as the differences between Debian and Ubuntu generally. The primary difference is the ISA and instruction set targeted in Ubuntu, rendering nearly all packages incompatible at a binary level. As with the rest of Ubuntu, typically the source packages are identical, so most of the remaining differences are the same as differences generally between Debian and Ubuntu.
Line 35: Line 31:
 * How does this differ from the work of mojo.handhelds.org

The primary differences are 1) Ubuntu uses "armel" as the architecture where mojo uses "arm" and 2) Ubuntu has a single architecture target where mojo may have several (e.g. armv5el-vfp vs. armv6el-vfp). The mojo team were clear leaders in this area, and the vast majority of patches (branding excepted) are high-priority review candidates for inclusion.

 * Where can I get help?
=== Where can I get help? ===
Line 43: Line 35:
 * What kernel flavours are available? === What kernel flavours are available? ===
Line 45: Line 37:
Currently, kernels are available for iop4xx, orion5x, iop32x, and versatile targets. Kernels are planned for omap targets. Available kernels have varied by release, as follows:
Line 47: Line 39:
 * What about VFP?  * jaunty: imx51, versatile
 * karmic: dove, imx51, versatile
 * lucid: dove, imx51, omap, versatile
 * maverick: dove, omap, omap4, versatile
Line 49: Line 44:
The base system build does not require VFP, so as to work on a wider variety of hardware. Libraries that show signfiicant improvement will have optimised VFP routines available. If you have a working kernel and wish to support it in Ubuntu, please contact the [[KernelTeam|Ubuntu Kernel Team] about configuration requirements and sponsoring procedures.
Line 51: Line 46:
 * How can I help? === How can I help? ===
Line 59: Line 54:
 * How to run Ubuntu ARM build rootfs in qemu? === How to run Ubuntu ARM build rootfs in qemu? ===

ARM is a processor architecture used in a variety of applications, such as:

  • Handheld Computers (Nokia n9xx/n8xx/n7xx, Sharp Zaurus, etc.)
  • Network Devices (Thecus N series, Linksys NSLU2, QNAP TS series, etc.)
  • Project development boards (Gumstix, Beagleboard, etc.)
  • Subnotebooks (Sharp Netwalker, Toshiba AC100, etc.)

Ubuntu targets the ARM EABI, with an expetation of minimum compliance with the ARMv7+VFP ISA. Limited support for earlier instruction sets (ARMv5t, ARMv6) was available in early releases of the ARM port (jaunty, karmic). Ubuntu typically targets the Thumb2 instruction set.

Status

  • Much of the application porting is complete
  • Installation images are available for selected boards
  • kernels for a variety of subarchitectures are available
  • Continued porting and optimisation is underway

FAQ

How do i build an armel rootfs from scratch

Please see the ARM/RootfsFromScratch page

How do I install Ubuntu on my device

For some devices, installation images are available from releases.ubuntu.com or cdimage.ubuntu.com For other devices, netinstalls are recommended, although this will require a custom kernel/debian-installer build for your target device. Please share your experiences with successful installs (and instructions) on the Device Support page.

How does this differ from Debian's armel port?

The primary difference is the ISA and instruction set targeted in Ubuntu, rendering nearly all packages incompatible at a binary level. As with the rest of Ubuntu, typically the source packages are identical, so most of the remaining differences are the same as differences generally between Debian and Ubuntu.

Where can I get help?

If it's ARM specific, stop by #ubuntu-arm on freenode. If it's not ARM specific, the regular Ubuntu support channels will provide better support.

What kernel flavours are available?

Available kernels have varied by release, as follows:

  • jaunty: imx51, versatile
  • karmic: dove, imx51, versatile
  • lucid: dove, imx51, omap, versatile
  • maverick: dove, omap, omap4, versatile

If you have a working kernel and wish to support it in Ubuntu, please contact the [[KernelTeam|Ubuntu Kernel Team] about configuration requirements and sponsoring procedures.

How can I help?

  • As a user: Try Ubuntu ARM on your device. Report any bugs to https://launchpad.net/ubuntu/+bugs. Report working hardware to ARM/DeviceSupport

  • As a developer: Try Ubuntu ARM for your use case. Fix anything that doesn't work. Submit the patches for upload.
  • As a porter: Review applications not yet available for armel. Find out why. Port it, and submit the patches. Known issues are tracked at ARM/PortingIssues

  • As a tester: Try following the Ubuntu test cases on an ARM device. Report any regressions from other architectures.
  • As an author: Document installation procedures for various devices.

How to run Ubuntu ARM build rootfs in qemu?

  • Build your own rootfs, either qemu image or rootfs tarball will be fine and run it as described on ARM/RootfsFromScratch

ARM (last edited 2015-05-13 22:17:07 by 1)