Differences between revisions 5 and 6
Revision 5 as of 2016-12-12 18:46:42
Size: 10553
Editor: wookey
Comment: Update for r0,r1,r2 hardware variation, and DTB installation
Revision 6 as of 2016-12-12 18:52:58
Size: 10627
Editor: wookey
Comment: Improve layout
Deletions are marked like this. Additions are marked like this.
Line 16: Line 16:
There are three Juno hardware variants. r0, r1, r2. r0 does not have working PCI so can only be used with a USB drive and the front Ethernet socket. PCI works on r1 and r2 - just the CPU differs. Essentially 'everything' works on that hardware. So it is important to know if you have an r0 or not when installing. cat /proc/device-tree/model will tell you 'r0', 'r1' or 'r2'. There are three Juno hardware variants: r0, r1, r2.

r0 does not have working PCI so can only be used with a USB drive and the front Ethernet socket. PCI works on r1 and r2 - just the CPU differs. Essentially 'everything' works on that hardware. So it is important to know if you have an r0 or not when installing.

{{{
cat /proc/device-tree/model}}} will tell you 'r0', 'r1' or 'r2'.
Line 42: Line 46:
== Juno r0 issues == == Juno r0/r1/r2 variations ==

Because of the broken PCI on Juno r0 you need to take care to use the right physical ethernet socket and type of storage.

Line 46: Line 54:
Because of the PCI problem on Juno r0 you need to take care to use the right physical ethernet socket and have the right drivers available to get working ethernet. There are 3 sockets on the board.  There are 3 sockets on the board. One is connected only to the baseboard and is of little interest to us.
Line 54: Line 62:
On r1 and r2 you can use a SATA drive. On r1 and r2 you can use a SATA drive or USB storage.

Translation(s): none

Juno is intended as a hardware as well as software development platform and thus has way more knobs than you need, and a convoluted boot procedure. This page just gives you the minimum info needed to install Debian.

Hardware

There are three Juno hardware variants: r0, r1, r2.

r0 does not have working PCI so can only be used with a USB drive and the front Ethernet socket. PCI works on r1 and r2 - just the CPU differs. Essentially 'everything' works on that hardware. So it is important to know if you have an r0 or not when installing.

cat /proc/device-tree/model will tell you 'r0', 'r1' or 'r2'.

Status

Installing with stretch-DI-alpha8 fails because the kernel just hangs early in the boot.

Instaling with Jessie works, but by default there is no console output so you have to edit the command line, as described below.

Installation

Preparation

You need:

  • Serial connection to juno. Use upper of two serial ports (actual 9-pin serial!) on the back. (So normally via a USB-serial adaptor appearing as /dev/ttyUSB0. Connect at 115200: e.g. screen /dev/ttyUSB0 115200)

  • UEFI installed on the Juno for it to boot Debian-installer.

Refer to above 'Using Linaro's deliverables on Juno' doc if your juno has something else installed (Android, ?OpenEmbedded), or if the UEFI it has is too old to work well. These instructions were tested with the linaro 16.10 juno firmware/UEFI release, and updating is actually very easy, so is worth doing anyway if you have any dificulties.

Good documentation on updating juno firmware to install UEFI is here: https://community.arm.com/docs/DOC-10804

/!\ Note that those instructions do not get you a DTB - zero-byte files are installed. Your machine will not boot linux without a suitable DTB. Follow the instructions in https://community.arm.com/docs/DOC-11527#jive_content_id_12_Update_the_Device_Tree_files to get (juno*.dtb) and install them in your firmware image.

The recommended install is from USB stick (and is described below), but installing from CDROM or over the network should also be possible (not tested).

Juno r0/r1/r2 variations

Because of the broken PCI on Juno r0 you need to take care to use the right physical ethernet socket and type of storage.

Ethernet

  • There are 3 sockets on the board. One is connected only to the baseboard and is of little interest to us.
  • If you have an r1 or r2 machine, plug your ethernet cable into the _rear panel_ socket closest to the reset buttons (this is on the PCI bus).
  • If you have an r0 machine, plug your ethernet cable into the _front panel_ socket. This does _not_ use PCI, and uses the smc911 module, which is enabled in the Jessie installer so should 'just work'.

Storage

On r1 and r2 you can use a SATA drive or USB storage.

On r0 you need to use USB-based bulk storage. Either flash or an external drive.

Installing Stretch

Installing jessie

Prepare your USB stick with:

wget http://cdimage.debian.org/debian-cd/8.6.0/arm64/iso-cd/debian-8.6.0-arm64-netinst.iso

use lsblk or dmesg to find out what device your USB stick is. Lets say it's /dev/sdd (ignore partitions - we are copying this to the bare device - the file format contains partitioning info. Your USB stick needs to be at least 400MB for netinst image, at least 700MB for standard image.)

sudo dd if=debian-8.6.0-arm64-netinst.iso of=/dev/sdd bs=4M oflag=sync status=noxfer

(The sync bit nmeans that everything is written as soon as the command returns, so you don't need to wait before yanking the stick)

  • Put the USB stick in the back of machine (where the reset buttons are). The front panel USB ports don't work (and are not fitted on all hardware).
  • Power up juno.

If everything is just right it will find the efi partition and boot into the installer. This didn't work for me. You may, like me, end up at the UEFI prompt:

Shell >

The console should be showing a list of filesystems:

UEFI Interactive Shell v2.1
EDK II
UEFI v2.60 (EDK II, 0x00010000)
Mapping table
      FS3: Alias(s):F4:;BLK3:
          VenHw(E7223039-5836-41E1-B542-D7EC736C5E59)
      FS1: Alias(s):F1:
          MemoryMapped(0xB,0xE0000000,0xE00EFFFF)
      FS0: Alias(s):F0:
          Fv(B73FE497-B92E-416E-8326-45AD0D270092)
      FS2: Alias(s):CD2a0a0a:;BLK1:
          PciRoot(0x1)/Pci(0x1,0x0)/USB(0x0,0x0)/USB(0x0,0x0)/CDROM(0x0)
     BLK2: Alias(s):
          VenHw(02118005-9DA7-443A-92D5-781F022AEDBB)
     BLK0: Alias(s):
          PciRoot(0x1)/Pci(0x1,0x0)/USB(0x0,0x0)/USB(0x0,0x0)

Look for 'USB' and 'CDROM'. So in this case FS2 is probably our debian-installer USB stick.

Shell> FS2:
FS2:\> dir

If you see 'efi' then you are in the right place

FS2:\> cd efi
FS2:\efi\> cd boot
FS2:\efi\boot\> bootaa64.efi

(You have tab-completion, and can actually type efi\boot\<TAB><RETURN> to run it) This will run the installer. However you won't see console output after the first few lines unless you change the console setting.

With the 'Install' option selected hit 'e' to edit: Change the linux line from: /linux install.a64/vmlinuz --- quiet to: linux /install.a64/vmlinuz --- console=ttyAMA0,115200

Hit ctrl-x to boot using that option.

Select 'Install' and hit return

The kernel should boot and drop you into the installer. If you see nothing but a couple of lines of output check that you have a DTB file available (see 'Preparation' above).

Also check the 'Ethernet' section above for correctly connecting the cable according to model.

---

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 owners 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.

If you need help to get Debian running on your hardware, please have a look at our user support channels where you may find specific channels (mailing list, IRC channel) dedicated to certain types of hardware.

Models covered
Juno Development Board

Sub-models (r0) options :
- Video Mali

  • - Screen size (14", 15", or 15" wide)
    - Wireless card
    - Disk and Ram size, optical device
    - Other options, like fingerprint reader, bluetooth...

Overall Status

Core Components

[ATTACH]

Boot Standard Kernel:

[?]

LAN network card:

[?]

Detect CD/DVD:

[?]

Detect hard drives:

[?]

Extra Features

CPU Frequency Scaling

[?]

Hibernation

[?]

Sleep / Suspend

[?]

Xorg

[?]

- OpenGL

[?]

- Resize-and-Rotate(randr)

[?]

Switch to External Screen

[?]

Mouse

- Built-in (Trackpoint)

[?]

- Built-in (Touchpad)

[?]

Modem

[?]

Wireless/Wifi

[?]

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

Configuration

Display

  • (not covered yet)

Audio

  • (not covered yet)

Mouse

  • (not covered yet)

Power Management

  • (not covered yet)

WiFi

  • (not covered yet)

Modem

  • (not covered yet)


System Summary

lspci

lsusb

lsusb -v | grep -E '\<(Bus|iProduct|bDeviceClass|bDeviceProtocol)' 2>/dev/null

USB Host controllers entries (without OHCI, UHCI, EHCI) are removed too.

Resources

Attachments

Some configuration files and sample outputs.

Credits