Differences between revisions 31 and 32
Revision 31 as of 2018-02-26 12:39:42
Size: 10681
Editor: ?FrankScheiner
Comment: Updated description and link to ISO images. Created list of known working sun4u and sun4v machines. Moved system specific descriptions under Specifics heading.
Revision 32 as of 2018-02-26 12:46:34
Size: 10711
Editor: ?FrankScheiner
Comment: It's Ultra Enterprise for 3/4/5/6000 and Enterprise for 3/4/5/6500
Deletions are marked like this. Additions are marked like this.
Line 67: Line 67:
 * Enterprise 3/4/5/6000 & 3/4/5/6500  * Ultra Enterprise 3/4/5/6000
* Enterprise 3/4/5/6500
Line 84: Line 85:
===== Sun Ultra Enterprise 3/4/5/6000 & 3/4/5/6500 ===== ===== Sun Ultra Enterprise 3/4/5/6000 & Enterprise 3/4/5/6500 =====

Debian Sparc64 port

Rationale for such a port

  • Debian currently only supports 64-bit kernels.
  • The current userland is 32-bit, but needs a SPARC V9 CPU, which supports 64-bit instructions.
  • 32-bit toolchain is not anymore supported upstream.
  • More and more softwares are dropping 32-bit support

  • The use of > 4GB per process is not that uncommon those days, especially in scientific computation applications.

Installing the Debian SPARC64 Port

Installation is performed much like any other Debian release architecture. The best way to get started is to download the latest Debian SPARC64 Network Installer ISO image, burn the image to a CD/DVD, and boot the machine from the internal CD/DVD drive. Both Sun and Oracle branded machines are classified under the sun4 architecture. As mentioned earlier, the Debian SPARC64 port only supports 64 bit SPARC processors which correspond to the following sun4 architectures / processors.

  • sun4u
    • SPARC64 VI
    • SPARC64 VII
    • SPARC64 VII+
    • UltraSPARC I
    • UltraSPARC II
    • UltraSPARC III
    • UltraSPARC IV
  • sun4u1
    • UltraSPARC II
  • sun4us
    • SPARC64V
    • SPARC64V+
  • sun4v
    • SPARC T3
    • SPARC T4
    • SPARC T5
    • SPARC T7
    • SPARC64 X
    • SPARC64 X+
    • UltraSPARC T1
    • UltraSPARC T2
    • UltraSPARC T2+

The Debian SPARC64 port is stable on most machines using these architectures / processors, but not all of them. Kernel support for the hardware found in these machines is the biggest factor in whether a particular machine is supported or not.

Debian SPARC64 ISO Images

Current installer ISO images for SPARC64 are available on Debian's official cdimage mirror:

Known Caveats

  1. The "Select and Install Software" step of the installation process is known to fail on every machine. This is due to the installer not recognizing the Debian Ports GPG key. This issue is being worked on, but for now you can skip this step and move on to installing SILO on the hard disk. After you have rebooted into your new installation you can install the default Debian utilities by executing the following command.

apt-get install $(tasksel --task-packages standard | tr '\n' ' ')

Known Working System Configurations

sun4u

  • Ultra 10
  • Ultra 80
  • Enterprise 250
  • Ultra Enterprise 3/4/5/6000
  • Enterprise 3/4/5/6500
  • Blade 100/150
  • Sun Fire V210/V240/V440
  • Sun Fire V245/V445

Specifics

Sun Fire V210/V240

Debian installs normally on these machines, however when selecting a built in network interface they do show up in the correct order. Listed below is the order they show up in the installer corresponding to their port number on the chassis.

enP3p0s2f0 = Port 2
enP3p0s2f1 = Port 3
enp0s2f0 = Port 0
enp0s2f1 = Port 1

Sun Ultra Enterprise 3/4/5/6000 & Enterprise 3/4/5/6500

These machines can be tricky to install on as currently the driver modules they rely upon do not support uevents. This prevents the Debian installer and initramfs from loading them automatically. The steps needed to successfully install Debian on these machines is as follows.

  1. These machines use a Sun ESP SCSI controller for their CD/DVD drives. After booting into the installer it will fail to find the CD/DVD drive. At this point you need to execute a shell in the installer environment and issue a modprobe sun_esp command. Afterwards you can exit the shell and start the CD/DVD drive detection step of the installer again.

  2. The 10/100Mbit Ethernet controller built into the I/O boards are Sun HME controllers. The installer will fail to detect these and will prompt you to choose a driver for the network card. The correct driver to choose is sunhme.

  3. There are a few different SCSI controllers that are typically used for accessing hard disks. The installation notes for each are below.
    • Sun ESP (Built In): These drivers were loaded in step one. The partitioner should start normally.

    • Differential Sun ESP (SBUS): These drivers were loaded in step one, but this card is known to cause a kernel panic during the partitioning process.

    • Differential QLogic ISP (SBUS): You'll need to obtain a copy of the isp1000.bin firmware. This is free firmware, but is not included in any Debian package at the moment. In this case the partitioner will fail to find any hard disks and you will need to execute a shell in the installation environment. If you have a PCI I/O board with a USB controller you can mount a USB flash drive to /media and copy isp1000.bin to /lib/firmware/qlogic. If you do not have a way to attach a USB flash drive you can connect a second SCSI CD/DVD drive to one of the built in Sun ESP controller ports. If you're machine has a slot for a tape drive you can install a second CD/DVD drive in that slot. You can burn the isp1000.bin file to a CD/DVD and mount it to /media using the second CD/DVD drive. Afterwards issue a modprobe qlogicpti command and exit the shell. You can then restart the hard disk detection step of the installer.

  4. The installation will proceed normally from this point forward. After you have completed the installation DO NOT reboot or else you will have a non-bootable system! You need to execute one more shell in the installation environment and issue the following commands.

mount -t proc proc /target/proc && \
mount --rbind /sys /target/sys && \
mount --make-rslave /target/sys && \
mount --rbind /dev /target/dev && \
mount --make-rslave /target/dev
chroot /target /bin/bash
source /etc/profile
  1. At this point you will be chrooted into your new Debian installation. At this point you need to add the necessary kernel modules into /etc/initramfs-tools/modules. For example if your CD/DVD drive is attached to the built in Sun ESP SCSI controller and your hard disk is attached to a QLogic ISP SBUS controller, then the following command would add the necessary modules to /etc/initramfs-tools/modules

echo sun_esp >> /etc/initramfs-tools/modules && \
echo qlogicpti >> /etc/initramfs-tools/modules
  1. Finally, all that is left to do is execute a update-initramfs -u -k $(uname -r) command. Afterwards you can exit the shell, finalize the installation, and reboot the system. After the reboot you should be welcomed by a Debian login prompt!

sun4v

  • SPARC Enterprise T1000
  • SPARC Enterprise T5120/T5220
  • SPARC Enterprise T5240
  • SPARC T4-2

Specifics

SPARC Enterprise T5120/T5220

Debian installs normally on these machines, however you will have to append the console kernel argument to the kernel at boot time or else you will not get a login prompt. After finishing the installation you need to execute a shell in the installation environment. Add The following to /target/boot/silo.conf as seen below.

image=/vmlinuz
    append="console=ttyS0"
    label=Linux
    initrd=/initrd.img

Afterwards you can exit the shell, finish the installation, and reboot. If you accidentally reboot before adding the above changes you can still boot into your new installation by appending the following to the SILO boot prompt.

boot: Linux console=ttyS0

After booting into the system you can make the necessary changes to /boot/silo.conf

sparc64 buildd status

Bootstrapping sparc64

If you are currently on debian sparc, you cannot point to sparc64 packages directly. In the meanwhile, you might be able to run it on a chroot. Usual tool for putting together a root filesystem in Debian is debootstrap, but the port is provided by two different suites and debootstrap is not smart enough to cope with it. multistrap can be used to pull from debian-ports mirror. You can select mirror nearest to you via Debian Ports page.

$ cat >> sparc64.conf <<"EOF"
# Example multistrap configuration file for a sid build chroot
# Need to use cascading to select the toolchain for a cross arch.

[General]
arch=sparc64
directory=sparc64-port
# same as --tidy-up option if set to true
cleanup=true
# same as --no-auth option if set to true
# keyring packages listed in each debootstrap will
# still be installed.
noauth=true
# extract all downloaded archives (default is true)
unpack=true
# the order of sections is not important.
# the debootstrap option determines which repository
# is used to calculate the list of Priority: required packages.
debootstrap=Base Base-unreleased
aptsources=Base

[Base]
packages=apt dpkg-dev apt-utils whiptail locales
source=http://ftp.ports.debian.org/debian-ports/
keyring=debian-ports-archive-keyring
suite=unstable
omitdebsrc=true

[Base-unreleased]
packages=
source=http://ftp.ports.debian.org/debian-ports/
suite=unreleased
omitdebsrc=true
EOF

$ /usr/sbin/multistrap -f sparc64.conf
$ sudo mount --bind /dev sparc64-port/dev
$ sudo mount --bind /sys sparc64-port/sys
$ sudo mount --bind /proc sparc64-port/proc
$ sudo chroot sparc64-port dpkg --configure -a

When asked if you want to use dash as the default system /bin/sh to improve performance, say "n" or the setup will fail.

$ echo "export debian_chroot=chroot1" >> sparc64-port/root/.bashrc
$ sudo chroot sparc64-port

(Test and Enjoy)

Apt-line

deb http://deb.debian.org/debian-ports unstable main
deb-src http://deb.debian.org/debian unstable main
deb http://deb.debian.org/debian-ports unreleased main
deb-src http://deb.debian.org/debian-ports unreleased main

Qemu-system-sparc64

Running Debian under qemu-system-sparc64 Sparc64Qemu

Mailing List

debian-sparc@lists.debian.org

Other links on the wiki

Bugs


CategoryPorts