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.

Translation(s): none

Overall Status

Core Components

[ATTACH]

Boot Standard Kernel:

/!\

LAN network card (Generic Ethernet):

{OK}

Detect hard drives:

{OK}

Extra Features

CPU Frequency Scaling

[?]

Hibernation

[?]

Sleep / Suspend

[?]

Xorg

[?]

- OpenGL

[?]

- Resize-and-Rotate(randr)

[?]

Keyboard's Hotkeys

[?]

Legend :
{OK} = OK ; {X} Unsupported(No Driver) ; /!\ = Error (Couldn't get it working); [?] Unknown, Not Test ; [-] Not-applicable
{i} = Configuration Required; X-( = Only works with a non-free driver and or firmware

Important Note

Bootloader support

The ZC702 use uboot version U-Boot 2013.07 (Dec 04 2013 - 17:47:58). Sources can be downloaded at github.

Kernel

The kernel sources can alse be found at github.

uname -a
Linux zc702-1 3.13.0-xilinx #1 SMP PREEMPT Tue Apr 8 09:47:11 PDT 2014 armv7l GNU/Linux

System Summary

lspci

lspci -nn
don't return anything

lsusb

lsusb -v | grep -E '\<(Bus|iProduct|bDeviceClass|bDeviceProtocol)' 2>/dev/null
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
  bDeviceClass            9 Hub
  bDeviceProtocol         1 Single TT
  iProduct                2 Xilinx Zynq USB EHCI Host Controller

Installing Debian

NFS Root

On the server you need :

apt-get install nfs-kernel-server debootstrap tftpd

if you have ARM hardware at hand (like PC Utilite)

debootstrap wheezy /srv/zc702 http://ftp.fr.debian.org/debian

or if you don't have ARM hardware at hand

debootstrap --foreign --arch armhf wheezy pc-utilite http://ftp.fr.debian.org/debian

follow PC Utilite to handle the debootstrap second stage

edit /srv/zc702/inittab, last new line :

T0:2345:respawn:/sbin/getty -L ttyPS0 115200 vt100

edit /srv/zc702/etc/securetty last new lines :

# Zynq zc70x
ttyPS0

If you use ARM hardware as a server :

chroot /srv/zc702
passwd

download 2014.1-release.tar.xz from Zynq Release untar it

tar xf 2014.1-release.tar.xz
cp zc70x/zc702/devicetree.dtb /srv/tftp
cp uImage /srv/tftp

Start the zc702 board with SW16 switch to :

Position

Value

1

0

2

0

3

1

4

1

5

0

Stop autoboot (you need to be connected using the rs232 usb cable)

screen /dev/ttyUSB0 115200

setenv bootargs ${console} root=/dev/nfs nfsroot=192.168.0.72:/srv/zc702 ip=192.168.0.73:192.168.0.72:192.168.0.8:255.255.255.0:zc702-1
setenv serverip 192.168.0.72
setenv ipaddr 192.168.0.73
setenv bootcmd "tftp 0x3000000 uImage && tftp 0x2A00000 devicetree.dtb && bootm 0x3000000 - 0x2A00000"
saveenv

Boot again your board and you should have access to a login in the rs232 console.

SD Card root

Using the nfs root based system :

apt-get install debootstrap
mount -t vfat /dev/mmcblk0p1 /mnt
mkdir sd_card_save
cp /mnt/* sd_card_save
umount /mnt

cfdisk /dev/mmcblk0
sfdisk -l /dev/mmcblk0
Disk /dev/mmcblk0: 242560 cylinders, 4 heads, 16 sectors/track
Warning: The partition table looks like it was made
  for C/H/S=*/255/63 (instead of 242560/4/16).
For this listing I'll assume that geometry.
Units = cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/mmcblk0p1   *      0+      3-      4-     31180    b  W95 FAT32
                start: (c,h,s) expected (0,0,11) found (1023,254,63)
                end: (c,h,s) expected (3,224,63) found (1023,254,63)
/dev/mmcblk0p2          3+    966-    963-   7730735   83  Linux
                start: (c,h,s) expected (3,225,1) found (1023,254,63)
                end: (c,h,s) expected (966,80,10) found (1023,254,63)
/dev/mmcblk0p3          0       -       0          0    0  Empty
/dev/mmcblk0p4          0       -       0          0    0  Empty

mkfs.vfat /dev/mmcblk0p1
mkfs -t ext4 /dev/mmcblk0p2
mount -t ext4 /dev/mmcblk0p2 /mnt
mkdir /mnt/boot
mount -t vfat /dev/mmcblk0p1 /mnt/boot
cp devicetree.dtb uImage sd_card_save/BOOT.BIN /mnt/boot
debootstrap wheezy /mnt http://ftp.fr.debian.org/debian
cp /etc/inittab /etc/securetty /mnt/etc

#edit /mnt/etc/network/interfaces and add

auto eth0
iface eth0 inet dhcp

#edit /mnt/etc/fstab
cat /mnt/etc/fstab
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc /proc proc defaults 0 0
/dev/mmcblk0p1 /boot vfat defaults 0 2

chroot /mnt
passwd
exit
umount /mnt/boot
umount /mnt
reboot

Stop u-boot autoboot

setenv bootargs ${console} root=/dev/mmcblk0p2
setenv bootcmd "mmcinfo && fatload mmc 0:1 0x3000000 uImage && fatload mmc 0:1 0x2A00000 devicetree.dtb && bootm 0x3000000 - 0x2A00000"
saveenv
boot

You should have access to a login in the rs232 console.

Credits



CategoryDebianOn ?CategeoryEmbedeedComputer