Translation(s): none

(!) ?/Discussion

DebianOn is an effort to document how to install, configure and use Debian on some specific hardware. Therefore potential buyers would know if that hardware is supported and owner would know how get the best out of that hardware.

The purpose is not to duplicate the Debian Official Documentation, but to document how to install Debian on some specific hardware.

Models covered
Freescale QuickStart

Overall Status

Freescale QuickStart board is a development board. It is ARM architecture. The SoC is Freescale i.MX53.

System as sold

It comes without any OS on it. On Freescale's website you can download the BSP which is based on Ubuntu.

Linaro support

By installing linaro-image-tools and running the linaro-fetch-image-ui we can easily create an Ubuntu image for this hardware. Thus if we want to install Debian, the easist way is to create a Debian binary rootfs with the a hwpack for Debian and then use linaro-media-create to create the final image for this hardware.

Installation steps (by `linaro-image-tools`)

Environment

Please use Debian Sid or Debian Wheezy or later version because we need latest linaro-image-tools and live-build.

Prepare Debian binary rootfs

In this section we create a Debian Sid armhf rootfs.

  1. There is a bug of the live-build. https://bugs.debian.org/780627

  2. We use live-build to create Debian binary rootfs. The first step is make an empty directory, for example, "/tmp/live_cd"

  3. Enter the created directory by "cd /tmp/live_cd"

  4. Execute
    • lb config --apt-indices none --architectures armhf --binary-images tar --binary-filesystem ext3 --bootloader "" --cache false --chroot-filesystem none --debian-installer-gui false --distribution sid --parent-distribution sid --parent-debian-installer-distribution sid --gzip-options '--best --rsyncable' --initramfs none --linux-flavours none --linux-packages none --bootstrap-qemu-arch armhf --bootstrap-qemu-static /usr/bin/qemu-arm-static
  5. Create ./config/includes.chroot/sbin/auto-serial-getty as an executable shell script:

    • #!/bin/sh -e
      
      for arg in $(cat /proc/cmdline)
      do
          case $arg in
              console=*)
                  tty=${arg#console=}
                  tty=${tty#/dev/}
      
                  case $tty in
                      tty[a-zA-Z]* )
                          PORT=${tty%%,*}
      
                          tmp=${tty##$PORT,}
                          SPEED=${tmp%%n*}
                          BITS=${tmp##${SPEED}n}
      
                          # 8bit serial is default
                          [ -z $BITS ] && BITS=8
                          [ 8 -eq $BITS ] && GETTY_ARGS="$GETTY_ARGS -8 "
      
                          [ -z $SPEED ] && SPEED='115200,57600,38400,19200,9600'
      
                          GETTY_ARGS="$AUTOGETTY_ARGS $GETTY_ARGS $SPEED $PORT"
                          exec /sbin/getty $GETTY_ARGS
                  esac
          esac
      done
      
  6. Create ./config/includes.chroot/etc/init/auto-serial-getty.conf

    • start on stopped rc RUNLEVEL=[2345]
      stop on runlevel [!2345]
      
      respawn
      
      exec /sbin/auto-serial-getty
  7. Create ./config/hooks/01_set_root_passwd.hook.chroot as an executable shell script:

    • #!/bin/sh
      echo "I: update password"
      echo "root:linaro" | chpasswd
      
  8. Run "chmod a+rx ./config/hooks/* ./config/includes.chroot/sbin/*"

  9. Re-run "lb config"

  10. Run "sudo lb build"

    • And we should have a live-image-armhf.tar.tar generated now and must use xz to convert it to live-image-armhf.tar.tar.xz.

  11. Run "xz -9 live-image-armhf.tar.tar"

Make a hwpack

In this section we create a hwpack that contains Debian mx5 kernel and mx53loco u-boot.

  1. create a config file "/tmp/linaro-debian-mx5" as following:

    • [hwpack]
      format=2.0
      name=linaro-debian-mx5
      architectures=armhf
      origin=Linaro
      maintainer=Ying-Chun Liu (PaulLiu) <paul.liu@linaro.org>
      support=unsupported
      packages=linux-image-armmp u-boot-imx
      mmc_id=0:2
      u_boot_package=u-boot-imx
      u_boot_file=usr/lib/u-boot/mx53loco/u-boot.imx
      u_boot_in_boot_part=Yes
      u_boot_dd=2
      serial_tty=ttymxc0
      kernel_addr=0x70000000
      initrd_addr=0x72000000
      load_addr=0x70008000
      partition_layout=reserved_bootfs_rootfs
      kernel_file=boot/vmlinuz-*-armmp
      initrd_file=boot/initrd.img-*-armmp
      dtb_file=usr/lib/linux-image-*-armmp/imx53-qsb.dtb
      dtb_addr=0x74000000
      boot_script=boot.scr
      extra_serial_options=console=tty0 console=ttymxc0,115200n8
      loader_start=1
      
      [debian]
      sources-entry=http://ftp.us.debian.org/debian/ sid main
  2. Run "linaro-hwpack-create /tmp/linaro-debian-mx5 1"

Note that there are 2 kinds of QuickStart. One is with Dialog's PMIC. Another is with Freescale's MC34708 (newer one). If you bought the new one, please change "dtb_file=usr/lib/linux-image-*-armmp/imx53-qsb.dtb" to "dtb_file=usr/lib/linux-image-*-armmp/imx53-qsrb.dtb"

Now we have a good hwpack for Debian image

Build the image

We can use linaro-media-create to build the Debian image.

And now we got an image file called linaro-debian.img. Just use dd to write it to a microSD card.

Boot

Just insert the microSD card into QuickStart board and boot.

In the first time, we need to press return key quickly to enter the u-boot shell to change an environment variable. The default mmcpart variable is set to 1. We have to change it to 2.

  1. When you see "Hit any key to stop autoboot: 3..2..1..0", press enter quickly.

  2. execute "setenv mmcpart 2"
  3. execute "saveenv"
  4. execute "reset" to reboot.

After several seconds we'll get a login prompt from the serial console. And then we use root to login. The root password is "linaro".


CategoryDebianOn CategoryDebianOn