Please add support for the imx51 ARM subarchitecture.

Bug #345534 reported by Michael Casadevall
8
Affects Status Importance Assigned to Milestone
Ubuntu Seeds
Fix Released
Undecided
Michael Casadevall
base-installer (Ubuntu)
Fix Released
High
Michael Casadevall
debian-installer (Ubuntu)
Fix Released
Medium
Michael Casadevall
flash-kernel (Ubuntu)
Fix Released
High
Loïc Minier
libdebian-installer (Ubuntu)
Fix Released
Medium
Michael Casadevall
ubiquity (Ubuntu)
Fix Released
Undecided
Colin Watson

Bug Description

This bug is a metabug and a holding spot for all patches to port the installation system to the iMX51. Current status of each module is below:

ubuntu-seeds:
 - PENDING MERGE: Add kernel
base-installer:
 - PENDING MERGE: Add imx51 support
 - PENDING MERGE: Add full ARM support
debian-installer:
 - PENDING MERGE: Patches for adding imx51 varient, creating cdrom and netinstall images
 - TODO: Create a dd'able blob for image creation. Depends on fconfig/fis tools

libdebian-installer:
 - PENDING MERGE: Patches for adding new subarchitecture imx51

flash-kernel:
 - TODO: Support for updating the Babbage boards kernel, writing

These patches extend debain-installer to add support for the imx51 ARM platform, which is necessary for alternate images to be usable on the iMX51. As these touch very specific parts of d-i which only affect the ARM architecture, the risk of merging is low. Furthermore, without these merges, the iMX51 platform will not be able to have a function d-i, or netinstall images.

Tags: arm imx51
Revision history for this message
Michael Casadevall (mcasadevall) wrote :

THis patch adds subarchitecture support to libdebian-installer.

Changed in debian-installer (Ubuntu):
assignee: nobody → mcasadevall
importance: Undecided → Medium
status: New → In Progress
Changed in libdebian-installer (Ubuntu):
assignee: nobody → mcasadevall
importance: Undecided → Medium
status: New → In Progress
Changed in base-installer:
status: New → Confirmed
Changed in flash-kernel:
status: New → Confirmed
Emmet Hikory (persia)
Changed in base-installer:
assignee: nobody → mcasadevall
Changed in ubuntu-seeds:
assignee: nobody → mcasadevall
status: New → In Progress
Changed in base-installer:
status: Confirmed → In Progress
description: updated
tags: added: arm imx51
Changed in flash-kernel (Ubuntu):
assignee: nobody → lool
importance: Undecided → High
Changed in base-installer (Ubuntu):
importance: Undecided → High
Revision history for this message
Colin Watson (cjwatson) wrote :

Seeds branch merged.

Changed in ubuntu-seeds:
status: In Progress → Fix Released
description: updated
Colin Watson (cjwatson)
Changed in libdebian-installer (Ubuntu):
status: In Progress → Fix Committed
Colin Watson (cjwatson)
Changed in base-installer (Ubuntu):
status: In Progress → Fix Committed
Changed in debian-installer (Ubuntu):
status: In Progress → Fix Committed
Revision history for this message
Loïc Minier (lool) wrote :

Modified flash-kernel script for imx51 with padding (useless though).

Needs udeb support and fconfig integration.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package base-installer - 1.98ubuntu4

---------------
base-installer (1.98ubuntu4) jaunty; urgency=low

  [ Michael Casadevall ]
  * Fixed armel arch_get_kernel() call for Ubuntu/armel
  * Updated the test suite for Ubuntu/armel
  * Added imx51 to armel as a new sub-architecture and added its
    test suite (LP: #345534)

 -- Colin Watson <email address hidden> Fri, 27 Mar 2009 11:41:54 +0000

Changed in base-installer:
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package libdebian-installer - 0.61ubuntu2

---------------
libdebian-installer (0.61ubuntu2) jaunty; urgency=low

  [ Michael Casadevall ]
  * Added subarchitecture imx51 for Freescale iMX51 SoCs (LP: #345534).

 -- Colin Watson <email address hidden> Fri, 27 Mar 2009 11:54:26 +0000

Changed in libdebian-installer:
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package debian-installer - 20081029ubuntu29

---------------
debian-installer (20081029ubuntu29) jaunty; urgency=low

  [ Michael Casadevall ]
  * Added initial imx51 installer support, in both the CDROM and netboot
    versions (LP: #345534).

 -- Colin Watson <email address hidden> Mon, 30 Mar 2009 12:33:43 +0100

Changed in debian-installer:
status: Fix Committed → Fix Released
Revision history for this message
Loïc Minier (lool) wrote :

I've uploaded:
flash-kernel (2.13ubuntu1) jaunty; urgency=low

  * flash-kernel: add support for Freescale MX51 Babbage Board; depend on
    redboot-tools for the fis command.

which is enough for installed system, but it needs work for d-i integration.

Revision history for this message
Loïc Minier (lool) wrote :

I've uploaded:
flash-kernel (2.13ubuntu2) jaunty; urgency=low

  * flash-kernel: Move Freescale MX51 Babbage Board around to be in its
    alphabetical place.
  * flash-kernel-installer.isinstallable, .postinst: mark imx51 as installable
    and just run "update-initramfs -u" to install for now.

which has basic d-i support; what's missing:
- update / install fconfig data?
- moving stuff out of postinst to a separate script as to allow ubiquity to run it
- ubiquity wrapper

Revision history for this message
Loïc Minier (lool) wrote :

So currently the .postinst doesn't update the kernel cmdline; it should update it on the install media (SD card) to switch from "start installation" or "start live system" cmdline to "start target system with this UUID" cmdline. Happy if someone can document the expeceted cmdline.

"Moving stuff out to a separate script" > that's actually not needed; according to Colin, ubiquity can call that script directly.

Revision history for this message
Oliver Grawert (ogra) wrote :

this is the snippet used in the initial builder script for the live image, cmdline needs to be changed to use a UUID, fis needs to be used to determine the actual offset (both are hardcoded values in the image build script), the dd'ing of the binary blob doesnt need to happen, i'll rework this bit into a proper patch.

set_fconfig_bootscript()
{
    echo "writing bootloader configuration ..."
    INITRAMFS_SIZE=$(wc -c $BUILDDIR/initrd.gz|cut -d' ' -f1)
    BINARY_BLOB=/home/ogra/fconfig.bin
    LOAD_INITRAMFS="fis load initramfs"
    LOAD_KERNEL="fis load kernel"
    CMDLINE="\"console=ttymxc0,115200 console=tty1 boot=casper LIVEMEDIA=/dev/mmcblk0p1\""
    FCONFIG_STRING=" $LOAD_INITRAMFS\ $LOAD_KERNEL\ e -r 0x1000000 -s $INITRAMFS_SIZE -c $CMDLINE"

    # copy binary blob in place
    dd if=$BINARY_BLOB of=$IMAGENAME bs=389120 seek=1 conv=notrunc >/dev/null 2>&1

    # modify configuration
    fconfig -w -d $IMAGENAME -o 389120 -n boot_script_data -x "${FCONFIG_STRING}" >/dev/null 2>&1
}

Revision history for this message
Oliver Grawert (ogra) wrote :

here the snippet from the babbage install guide wikipage, a script similar to the above code needs to go into flash-kernel-installer
--
Now you need to make your SD card a boot device (the babbage currently only boots from SD) to achieve this, do the following:

Download the redboot tools package from http://ports.ubuntu.com/ubuntu-ports/pool/universe/r/redboot-tools/ Install this package

sudo dpkg -i /path/to/the/downloaded/package

Find the UUID of your target device now

sudo blkid <device path of the target device you noted down before>

Now use the fconfig tool to set a new bootscript on the SD card you installed from

sudo fconfig -w -d /dev/mmcblk0 -o 0x5F000 -n boot_script_data -x 'fis load initramfs\fis load kernel\e -r 0x1000000 -s 4530483 -c "console=ttymxc0,115200 console=tty1 root=UUID=<the UUID you determined with the former command>"'
--

Revision history for this message
Oliver Grawert (ogra) wrote :

here is a patch that does the necessary bits, though loic just fixed the need for $initramfs_size which means it will need to be reworked a bit ...

--- flash-kernel-2.13ubuntu2/debian/flash-kernel-installer.postinst 2009-03-31 11:22:17.000000000 +0200
+++ flash-kernel-installer.postinst 2009-03-31 16:48:28.000000000 +0200
@@ -76,6 +76,29 @@
  ;;
  "Freescale MX51 Babbage Board")
   in-target update-initramfs -u || true
+ if ! apt-install redboot-tools; then
+ error "apt-install redboot-tools failed"
+ fi
+ # hardcoded defaults
+ dev="/dev/mmcblk0"
+ fis_ofst="0x40000"
+ ofst=$(LC_ALL=C fis -d $dev -o $fis_ofst list | sed -n '/config:/s/^.*addr = \(.*\), size.*$/\1/p')
+ if [ -z $ofst ]; then
+ error "could not find fis configuration on $dev"
+ fi
+ # find the size of the initramfs we created above
+ initrd_size=$(wc -c /target/initrd.img|cut -d ' ' -f1)
+ # required to assemble redboot script
+ load_initrd="fis load initramfs"
+ load_kernel="fis load kernel"
+ console="console=ttymxc0,115200 console=tty1"
+ # find target UUID
+ rootfs=$(findfs /)
+ vol_id=$(PATH="/lib/udev:$PATH" vol_id -u $rootfs)
+ # assemble cmdline
+ cmdline="\"$console root=UUID=$vol_id quiet\""
+ script="$load_initrd\\$load_kernel\\exec -r 0x1000000 -s $initrd_size -c $cmdline"
+ fconfig -w -d $dev -o $ofst -n boot_script_data -x "${script}"
  ;;
  "GLAN Tank")
   in-target update-initramfs -u || true

Revision history for this message
Loïc Minier (lool) wrote :

Colin commited support for flash-kernel in ubiquity.

Changed in ubiquity:
assignee: nobody → cjwatson
status: New → Fix Committed
Revision history for this message
Loïc Minier (lool) wrote :

Most flash-kernel bits are now uploaded; very little hardcoding left. Oliver is completing the flash-kernel d-i postinst bits and then it should be good to go.

Changed in flash-kernel:
status: Confirmed → In Progress
Revision history for this message
Oliver Grawert (ogra) wrote :
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package flash-kernel - 2.13ubuntu5

---------------
flash-kernel (2.13ubuntu5) jaunty; urgency=low

  * add support for Freescale MX51 Babbage Board to
    flash-kernel-installer.postinst (LP: #345534)
  * create /target/etc/flash-kernel.conf from flash-kernel-installer.postinst
    (LP: #352260)
  * detect UUID of /target and set proper cmdline upon install with
    flash-kernel-installer.postinst

 -- Oliver Grawert <email address hidden> Tue, 31 Mar 2009 20:47:01 +0200

Changed in flash-kernel:
status: In Progress → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package ubiquity - 1.12.1

---------------
ubiquity (1.12.1) jaunty; urgency=low

  * Refactor architecture/subarchitecture detection slightly.
  * First pass at flash-kernel integration for armel (LP: #345534).
  * Fix yes/no question text in weak-password warning (LP: #352348).
  * Update translations from Launchpad.
  * Automatic update of included source packages: base-installer
    1.98ubuntu5, flash-kernel 2.13ubuntu5, partman-partitioning 65ubuntu2.

 -- Colin Watson <email address hidden> Tue, 31 Mar 2009 23:19:19 +0100

Changed in ubiquity:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.