Funtoo Linux Installation on SPARC
Funtoo Linux supports any machine based on a SPARC v9 compliant processor, ranging from the UltraSPARC I to the latest UltraSPARC T2/T2+ and beyond. Older SPARC processors are not supported.
Note that OpenVZ is not supported on processors older than UltraSPARC T1 (and equivalent) processors.
This section assumes you are a bit familiar with SPARC machines and the SPARC architecture in general. Before diving a bit deeper, bear in mind that more than 95% of a Funtoo SPARC System behaves in exactly the same way as what you have on x86 system. Once installed, you should see a near-nothing difference between a Funtoo SPARC machine and a classic Funtoo x86/amd64 machine, same tools, same way to manage common tasks, etc.
SPARC machines use a set of data structures which describes the disk geometry and how is it is divided in partitions which is placed at the very first sector of an hard drive. This structure is known as a Sun disklabel and is not to confuse with the assignation of a label to partition with e2label or xfs_admin. Traditionally a disk can contain up to height partitions referenced through letters from a to h (Linux will see those partitions in the same way as on PC machines, i.e. with a number) and some partitions deserve special purposes:
- 1st : Contains the boot files and designate the root partition (the Linux kernel is able to use another partition for the root of the VFS, so this partitions only contain the bootfiles, i.e. what will be visible under /boot).
- This partition MUST start at the start of the disk (block 0) if you intend to boot on it
- It is highly recommended to keep this partition to a size below 1G to circumvent some OpenBoot limits.
- Altough ext2/ufs tools are smart enough to not overwrite the first sector of a partition, thus leaving alone the Sun disklabel untouched, LVM won't be so smart and as a consequence will overwrite the Sun disklabel if a LVM Partition is created starting at block 0. If you create a LVM partition, do not make it start at block 0.
- 2nd slice : traditionnally tagged as being a swap area
- 3rd : must be tagged as whole disk
- 4th to 8th : at your own usage
make.conf or make.defaults (unified path)
- CHOST: Sparc architecture
Setup issues =
Q: I killed my Sun disklabel, is my hard drive dead?
R: No, fdisk will create a brand new one for you (use option 's' ).
Q: Is it possible to update OpenBoot from a Linux machine ?
R: Yes, absolutely. OBP updates are provided in a statically linked and standalone program and contrary to a urban legend you do not need to have Solaris installed. You have several choices :
- Use the flash device (kernel option to activate) from a live Linux system but unfortunately this procedure is not clearly documented on the Internet.
- Put the update image on the machine (boot disk /the-OBP-update-file) and boot on it. It is required that this image resides in the very first harddrive gigabyte and, of course, that the filesystem used is readable by OBP (UFS, EXT2...). How warrant the first condition ? Simply have a partition at the beginning of the hard drive which size is less than 1 GB. Is is also required to put the image directly in the root of the partition and not in a subdirectory.
- Put the update on a TFTP server and "netboot" it from there (boot net /the-OpenPROM-update-file)
Q: When netbooting the machine with a remote TFTP/RARP server, the machine grabs its IP address but then... nothing. It just says "TFTP transfert timeout".
R: This is a known issue with some OBP versions (most notably OBP 4.17.1). Network traffic sniffing shows that the TFTP session is initiated by the SPARC machine but OBP TFTP client seems to not listen anymore on its client, thus generating "Destination port unreachable" ICMP messages on the network. Solution, if your machine support it, try to wanboot it or try to netboot with DHCP requests instead of RARP (type : boot net:dhcp at the OpenBoot prompt).
Q: I do not see my on-board ethernet controller with lspci in Linux and OpenBoot shows that the net device has been disabled. Is there a way to enable it again ?
R: It could happen for some reason (like a buggy driver which leaves the Ethernet controller in a bogus state), OpenBoot consider the onboard Ethernet as defective and disable it. This is very easy to see : pay attention to what is displayed when the machine is powered-on.
.... Copyright 2005 Sun Microsystems, Inc. All rights reserved. OpenBoot 4.17.1, 4096 MB memory installed, Serial ********* ERROR: The following devices are disabled: net
The answer lies in the ASR (Automatic System Recovery), so at the OpenBoot prompt type the following commands notice the dot in the first command, 'ok' is the OpenBoot prompt) :
ok .asr ok asr-clear ok reset-all
Various questions with regards to Funtoo SPARC
Q: Is Funtoo SPARC official ?
R: Yes, Funtoo SPARC has an official existence in the Funtoo project :-)
Q: How often a year do you update SPARC stages ?
R: It depends, Funtoo SPARC has limited available time and resources but we try to publish stage archive at least twice a month.
Q: Do you use the same package tree than x86/amd64 ?
R: Yes absolutely, Funtoo SPARC stages are build on the exact same portage tree as the other architectures with absolutely no modifications.
Quality Assurance (QA)
Q: What is your consideration for a QA process ?
R: Quality Assurance is very important for Funtoo SPARC and Funtoo in general because it engages what is at the core of many open source projects, either done by a commercial entity or by the community itself : credibility. We do our best to serve this goal but we rely for the moment on Gentoo, so quality reflect (partly) what they do on their side. In the case of a major issue would happen on the Gentoo side, we do our best to catch the issue and "shut it down" before catastrophic situations appear. Funtoo is like many thing in so imperfect world : imperfect. Don't expect Funtoo to be 100% troubles free, troubles exists but are rare. The same is true for other Linux projects as well.
Q: Is some QA (Quality Assurance) being done on the stages ?
R: We do QA but keep in mind that Funtoo relies on thousands of packages (more than 13,000 ebuilds as of January 2011). It is not possible to test everything in every configuration but we do QA on regular basis. Of course you are are a key point in the QA process. If something goes wrong, please report it in the forums.
Q: What kind of control do you perform ?
R: The very first control is to check if all stages build successfully and we do Funtoo installations from the scratch on regular basis to see if major issues appears. We emerge major packages on a regular basis to see if they build and run correctly.