[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#305348: installation-reports (netboot 2.6 works for Sun Blade 150)



Package: installation-reports

Debian-installer-version: 2005-04-19
http://ftp.debian.org/debian/dists/testing/main/installer-sparc/rc3/images/sparc64/netboot/2.6/boot.img
uname -a: Linux blade-2 2.6.8-2-sparc64 #1 Tue Dec 28 12:20:13 PST 2004 sparc64 GNU/Linux
Date: 2005-04-18 at 11:50 on blade-2 / 2005-04-19 at 14:30 on blade-3 (to confirm)
Method: I described the whole process in detail in the 'Comments/Problems' section.
    Basically I did the network install, using local tftp server, no proxy.
    I already had a working Solaris 9 and Debian sarge with 2.4.26 kernel,
    so I used a spare, 7th partition for testing.

    Please note that the partitioning scheme was carefully crafted by hand,
    beginning at the Solaris installation and later with the Debian sarge.

Machine: Sun Blade 150, Sun Type 6 USB Keyboard, USB Mouse
    OpenBoot 4.6, ATI Rage XL graphics card
Processor: UltraSPARC-IIe 650MHz
Memory: 256 MB
Root Device: 40 GB SEAGATE IDE disk (in OpenPROM: /pci@1f,0/ide@d/disk@0,0)
Root Size/partition table:

My parted selections:
    IDE1 master (hda) - 40.0 GB ST340016A
    nr 2  539.0 MB  F swap            swap      {shared swap}                 (*)
    nr 1  127.4 MB  F ext2            /boot     {separate /boot}              (+)
    nr 8    7.0 GB                              {SunOS home}
    nr 5    6.4 GB    ext3                      {old Debian /}
    nr 6    8.0 GB  U ext3            /home     {shared /home}
    nr 7   10.1 GB  F ext3            /         {destination/spare partition} (=)
    nr 4    7.9 GB                              {SunOS root}
            4.2 MB    FREE SPACE

(*) Swap partition is actually a Solaris swap and it is shared between
    all the operation systems on the machine.
    The original (old) Debian has an additional script which recreates
    the swap in Linux format at every boot.
(+) Separate /boot partition allows me to do different tests and experiments.
    It is an experience gained after Gentoo installation at home.
(=) There is one big 7th partition, which gives me even more flexibility.
    I can use it to copy any other partition here (using dd) in order to
    clone the machines by hand, or semi-automatically. Don't ask ;-)

# fdisk -l /dev/hda

Disk /dev/hda (Sun disk label): 16 heads, 255 sectors, 19156 cylinders
Units = cylinders of 4080 * 512 bytes

   Device Flag    Start       End    Blocks   Id  System
   /dev/hda1           258       319    124440   83  Linux native
   /dev/hda2  u          0       258    526320    3  SunOS swap
   /dev/hda3             0     19156  39078240    5  Whole disk
   /dev/hda4         15391     19156   7680600    2  SunOS root
   /dev/hda5          3660      6744   6291360   83  Linux native
   /dev/hda6          6744     10574   7813200   83  Linux native
   /dev/hda7         10574     15391   9826680   83  Linux native
   /dev/hda8           319      3660   6815640    8  SunOS home


Output of lspci and lspci -n:

# lspci
0000:00:00.0 Host bridge: Sun Microsystems Computer Corp. Ultra IIe
0000:00:03.0 Non-VGA unclassified device: ALi Corporation M7101 Power Management Controller [PMU]
0000:00:05.0 PCI bridge: Intel Corp. 21152 PCI-to-PCI Bridge
0000:00:07.0 ISA bridge: ALi Corporation M1533 PCI to ISA Bridge [Aladdin IV]
0000:00:08.0 Multimedia audio controller: ALi Corporation M5451 PCI AC-Link Controller Audio Device (rev 01)
0000:00:0c.0 Bridge: Sun Microsystems Computer Corp. RIO EBUS (rev 01)
0000:00:0c.1 Ethernet controller: Sun Microsystems Computer Corp. RIO GEM (rev 01)
0000:00:0c.2 FireWire (IEEE 1394): Sun Microsystems Computer Corp. RIO 1394 (rev 01)
0000:00:0c.3 USB Controller: Sun Microsystems Computer Corp. RIO USB (rev 01)
0000:00:0d.0 IDE interface: ALi Corporation M5229 IDE (rev c3)
0000:00:13.0 VGA compatible controller: ATI Technologies Inc Rage XL (rev 27)

# lspci -n
0000:00:00.0 0600: 108e:a001
0000:00:03.0 0000: 10b9:7101
0000:00:05.0 0604: 8086:b152
0000:00:07.0 0601: 10b9:1533
0000:00:08.0 0401: 10b9:5451 (rev 01)
0000:00:0c.0 0680: 108e:1100 (rev 01)
0000:00:0c.1 0200: 108e:1101 (rev 01)
0000:00:0c.2 0c00: 108e:1102 (rev 01)
0000:00:0c.3 0c03: 108e:1103 (rev 01)
0000:00:0d.0 0101: 10b9:5229 (rev c3)
0000:00:13.0 0300: 1002:4752 (rev 27)

# lsmod
Module                  Size  Used by
ipv6 291512 8 isofs 31496 0 eth1394 22992 0 evdev 11840 0 ohci_hcd 21528 0 sungem 34264 0 sungem_phy 9600 1 sungem ohci1394 39896 0 ieee1394 400408 2 eth1394,ohci1394 ide_cd 46552 0 cdrom 44584 1 ide_cd ext3 141472 2 jbd 60784 1 ext3 ide_disk 20880 5 ide_generic 1920 0 alim15x3 13592 1


Base System Installation Checklist:
[O] = OK, [E] = Error (please elaborate below), [ ] = didn't try it

Initial boot worked:    [O]
Configure network HW:   [O]
Config network:         [O]  (see 3.4 below)
Detect CD:              [ ]
Load installer modules: [O]
Detect hard drives:     [O]
Partition hard drives:  [O]  (see 3.10 and notes at the end)
Create file systems:    [O]  (see 3.10 and notes at the end)
Mount partitions:       [O]
Install base system:    [O]
Install boot loader:    [O]  (see 3.14 and notes at the end)
Reboot:                 [O]  (see 3.15 and notes at the end)


Comments/Problems:

The whole description is long and detailed. I thought I would post something
like this, because I could never find an updated guide of how to install
Debian on Sun Blade 150. I'm providing this information to the Debian community
in hope that someone out there could use it. Feel free to put this text in
FAQ, manual, etc. You can even say it's GPL-ed :-)


Initial note:
I used an already installed Debian sarge, running on 2.4.26 kernel.
How I got that one is a long and complicated story. I needed it only for
running rarpd/tftpd services. Luckily, similar services are preinstalled
in Solaris 8/9, so they can be used for similar purpose, as described below.

One day I thought: "Hey, it's about time to do a test installation of
Debian on Blade. AGAIN...". I didn't really liked the idea, becasue almost
all my recent attempts were unsuccessful. Problems with wrong USB keymaps,
missing kernel modules for IDE drives (hdd/cd), and a lot of other annoying
things resulted in a stream of my posts to the debian-boot list and opening
several bug reports. Given that, my attitude was not so great.

Having some spare time I downloaded a netinst rc3 image, burned it on a CDRW
but the same 'missing kernel module' problem appeared. Then I read about
trying the rc3 netboot image - with 2.6.8 kernel (which I wanted to try).
So I thought: "Oh, well. Why not?"

I have a lab with ten Sun Blade 150 machines, all with the same hardware
configuration. So I used one of them as a starting point and suddenly
all went so well, that I couldn't almost believe it. Just keep on reading ;-)


=== 1. PREPARATIONS ===

I've started by installing 'rarpd' and 'tftpd' packages first:
# apt-get install rarpd tftpd

Then I've created the /etc/ethers file:
# nano /etc/ethers

Then I've put a line into /etc/ethers file:
00:03:ba:2b:85:ef 10.20.10.2

Note:
The first part (before space) is a physical adress of the network card (MAC),
the second one is an IP adress I would like to assign to this card.

Then I needed to edit the default location of the netboot images.
So I changed a line in /etc/inetd.conf file:
# nano /etc/inetd.conf

from:
tftp  dgram  udp  wait  nobody  /usr/sbin/tcpd  /usr/sbin/in.tftpd /boot

to:
tftp  dgram  udp  wait  nobody  /usr/sbin/tcpd  /usr/sbin/in.tftpd /boot/tftp

I downloaded the aforementioned image file to the /boot/tftp directory:
# mkdir -p /boot/tftp
# cd /boot/tftp
# wget http://ftp.debian.org/debian/dists/testing/main/installer-sparc/rc3/images/sparc64/netboot/2.6/boot.img

Because I wanted to have some trace of what image it is I renamed it to a more
meaningful name:
# mv boot.img testing_main_installer-sparcrc3_images_sparc64_netboot_2.6_boot.img

Then I created a symbolic link which would be needed by tftpd:
# ln testing_main_installer-sparcrc3_images_sparc64_netboot_2.6_boot.img 0A140A02

Note:
The name is simply a concatenation of hexadecimal representation of IP address
I assigned to the destination machine:
10.20.10.2
|  |  |  |
0A |  |  |
   14 |  |
      0A |
         02  ==>  0A140A02

Having all the steps done (/etc/ethers for rarpd, /etc/inetd.conf + /boot/tftp
for tftpd) I restarted inetd in order to apply the changes:
# /etc/init.d/inetd restart

=== 2. BOOTING ===

Then I turned on the to-be-installed (destination) machine, and I went to
the OpenPROM (by holding <Stop+A>, until the screen turned on and I was
presented with friendly "ok" OpenPROM prompt). Then I started the machine
from the network:
boot net debian-installer/framebuffer=true

Note:
The SunBlade 150 I used has the ATI graphics card. As suggested by Frans Pop
(http://lists.debian.org/debian-sparc/2005/03/msg00213.html) I added the
'debian-installer/framebuffer=true' parameter to instruct the installer to
display correctly all the international characters.

Immediately after the the machine was sending the requests for IP address:
Boot device: /pci@1f,0/network@c,1  File and args: debian-installer/framebuffer=true
Timeout waiting for ARP/RARP packet...
Timeout waiting for ARP/RARP packet...
Timeout waiting for ARP/RARP packet...
Timeout waiting for ARP/RARP packet...
Timeout waiting for ARP/RARP packet...
54e200

After several moments the kernel was downloaded and booted. The screen was initially similar to the typical OpenPROM console (big 80x34 characters, on white background), then the framebuffer kicked in and the Tux logo on the black background appeared. The kernel displayed a lot of typical messages along the
boot process and then the debian-installer started.

It's worth noting that:
* The kernel 2.6.8 was used
* The USB keyboard worked correctly this time
  (a very irritating bug with 2.4.x kernels)
* All the characters were displayed correctly
  (even the Japanese and Korean ones :-)

Hoping that everything will be all right, I happily proceeded.

=== 3. INSTALLATION ===

1. On the 'Choose language' screen I selected my native language, 'Polish'.
2. The keyboard layout choice dialog was displayed. I chose the proposed
   '(mac-usb-uk)' because I knew that with 2.4.27 kernel the '(mac-usb-us)'
   was not working. Trying the same again later, I discovered that the
   '(mac-usb-us)' worked correctly (a nice surprise!).
   So I decided to go with the '(mac-usb-us') keymap and selected this one.
 Note 1:
   This selection turned out to be crucial, becasue it was transferred later
   to the running base system.
 Note 2:
   If for some reason the keyboard seems to be clobbered, then the alternative
   has also been described in the 'Sarge installation Manual', in the 'Note'
   to the section '6.3.1.4. Choosing a Keyboard' (preliminary version at:
   http://d-i.alioth.debian.org/manual/en.sparc/ch06s03.html#di-setup).
   Basically one needs to select the "No keyboard to configure" option to
   stay with the kernel-provided, default keymap (typically: US).
3. After this the network hardware has been detected.
4. Installer made an attempt to detect network settings via DHCP.
   Because our DHCP server has high timeout, I needed to repeat ths step
   once or twice, until finally the machine was offered the DHCP lease.
 Note:
   One can easily monitor the whole installation process by switching the
   virtual terminals. The system log can be seen by pressing <Alt+F4>,
   notification messages are under <Alt+F3>, root prompt (initiallly inactive)
   is under <Alt+F2> and the installer itself is running on the first VT,
   so <Alt+F1> brings the curious back to the debian-installer screen.
5. I was asked for the host name. I accepted the value provided by DHCP,
   but of course it could be changed as desired.
6. I was asked once again, for the domain name. I accepted the value provided
   by DHCP, but again it could be easily changed.
7. A dialog with a list of countries and then another one with several Debian
   mirrors were displayed. I chose the mirror with nearby location:
   Poland / ftp.pl.debian.org
8. A question for proxy was displayed. Empty answer (no proxy) was sufficient.
9. Now the installer downloaded its components from the network.
10. A partitioner screen appeared. I selected the manual configuration,
    because the machine was already full of partitions, and only one was
    destined to contain a new Debian sarge.
 EDIT:
    Trying the same on the next day I discovered that the parted somehow was
    not allowing me to do a manual partitioning anymore. Strange. Probably
    I chose the improper option on its main screen. I restarted the installer
    and all came back to normal. But it is worth noting that parted did not
    allow me to change my mind after I selected its first option.
11. I don't think it would be necessary to describe the manual partitioning
    process here. I would rather recommend to follow the instructions in the
    manual, section '6.3.2. Partitioning and Mount Point Selection'
    (http://d-i.alioth.debian.org/manual/en.sparc/ch06s03.html#di-partition).
12. I noticed, however, that the parted warned me about strange /boot partition
    layout. I checked this quickly (go to vt/2, mount, ls, umount) and I was
    assured that the filesystem was still consistent there. So I skipped the
    warning. This led to some problems later, however.
13. The base Debian system was downloaded and installed. This took several
    minutes and megabytes and was actually quite fun to watch. Especially on
    the third virtual console ;-)
14. Installer warned me about some error with SILO installation. As the
    machine had already a working system (with SILO installed), I thought this
    would not be a big deal.
 WARNING:
    I discovered quickly that it could pose some problems, though.
    Because the original /boot/silo.conf file was overwritten...
    I did a quick editor session and re-created the missing entries.
    Now I thought that I've had TWO working Linux OS-es on the Blade...
    But I was still wrong.
15. The installation finished and all I needed to do was to reboot the machine.
 WARNING:
    Because of the previous error with SILO, something strange happened behind
    the scene and the machine was completely unable to boot. OpenPROM displayed
    only the message like:
    The image loaded does not appear to be executable
    I had to boot the machine using the same "boot net" method, follow several
    installer steps up to the point where ext2/ext3 modules were loaded and drives
    were detected. I mounted the /boot and / (old Debian root) partitions manually
    and then I reinstalled the SILO by hand. This of course helped, but I still
    wonder why was the installer unable to install SILO on the ext2 partition.

=== 4. AFTER RESTART ===

1. The machine booted with the same mono console (80x34), but it soon changed into
   nice framebuffer with Tux logo. I suppose it is a normal start procedure for
   2.6.8 kernel.
2. The base system configurator showed up.
   At this point I quickly checked if I can switch between vitual terminals,
   because I expected some problems with the 2.6.8 kernel and its keymaps.
   Luckily, nothing was wrong at this point. Another relief. And a fine kernel!
3. I pressed Enter and the timezone / date configuration screen appeared.
   I selected checked date & time and confirmed the timezone.
4. Another screen and I was asked for the root password.
5. Another one and I was aked for the normal user's name. I removed the whole
   string. Of course, it could be a full Name and Surname combination or anything
   else. I did not needed it, though.
6. Another screen - user account. I typed 'student', because this was a lab machine,
   and I needed such account here.
7. A question for the user's password.
8. All of a sudden the CD started to spin. Ah, the apt configuration.
   But I did not need nor want to do a CD scanning. So I chose the 'http' option.
9. Country selection for Debian mirrors. For me it was 'Poland' again.
10. A mirror: ftp.pl.debian.org  (default)
11. Proxy - well, no proxy, thank you (I left the empty string).
12. A short process of getting some package sources started.
13. A nice screen with task selector appeared. I chose not to install any tasks
    at all. I knew I could add them later (by running 'tasksel').
14. Even though I didn't select anything in the previous step, 98 packages were
    auto-selected, so apt started downloading and installing them.
15. Hmm, exim4 ? I did not really asked for a mail server...
    Oh, well. I can change it later. For now 'Only local delivery'.
16. A recipient for 'root' and 'postmaster' accounts. A default 'student' is not
    an option. Let's try the 'real-root' for now...
17. Restarting MTA: exim4
18. Wow, that's all! At least it looks like it.
19. Stop! Don't switch the console charset! I need the ISO-8859-2, not ISO-8859-1!!!
20. (moaning) Logging as a root.
21. Quick shot:
    # dpkg-reconfigure locales
    This time the 'pl_PL' became the system default, as expected.
22. Whew. Now that's all.
    Let's install some more software and do some configuration magic :-)

Summing up
==========
Overall, the whole procedure was really nice. Really, really :o)

Comparing this to the recent obstacles with sparc installation CDs + kernel 2.4.27
it was a big relief. Almost everything went smoothly, nothing I couldn't handle.
Doing some Gentoo installations here and there obviously helped a lot, too ;-)

I think I could do the whole process ance again on another lab machine, in order
to confirm that it is repeatable. Maybe another installation-report.

EDIT:
I've found some workaround for the SILO problem.
Basically, I mounted the working /boot and old debian partitions, made the backup
of all the files from /boot, and then I allowed the parted to format this partition
with ext2 filesystem. I had to use the udev paths (/dev/discs/disc0/partX) instead
of traditional ones (/dev/hdaX), but this was a minor obstacle.

I guess I could also NOT mount separate /boot, but instead allow the installer
to create /boot directory with the proper contents on the destination partition.
Typical user will accept such option (default), rather than specify a separate
/boot partition (as I did), so he/she should not run into any trouble.

EDIT 2:
Repeating the procedure on the neighbouring machine (blade-3) I noticed with
great pleasure that the installation procedure was FLAWLESS!!!
It worked like a charm, I just could not believe it!

But this time I did the following:
* I selected (mac-usb-us) instead of default (mac-usb-uk) keyboard layout.
* I let the parted format the separate /boot partition with ext2 filesystem
  (so the SILO could be installed correctly)


Best regards,
Wiktor Wandachowicz



Reply to: