User Tools

Site Tools


netbsd_sun_pci

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
netbsd_sun_pci [2007/10/23 13:49] kdevnetbsd_sun_pci [2015/07/04 11:53] (current) kdev
Line 1: Line 1:
 ===== NetBSD on SunPCi-II HOWTO ===== ===== NetBSD on SunPCi-II HOWTO =====
-Emmanuel Kasper+//Emmanuel Kasper// 
 +//June 4, 2011//
  
 +{{http://www.subsole.org/static/sunpci/sunpci_iipro.jpg|sunPci II pro}}
  
- +This Mini-Howto was written in order to help people who want to run NetBSD on their [[http://en.wikipedia.org/wiki/SunPCi|SunPCi-II Coprocessor Card]]. The SunPCi-II card is a pci card containing a kind of embedded PC, which was designed to run an OS of the Windows Family on a Sun UltraSparc machine, along Solaris. Here is the [[http://www.subsole.org/static/sunpci/dmesg.txt|dmesg]] of the SunPCi-II booting.
-June 13, 2007 +
- +
-This Mini-Howto was written in order to help people who want to run NetBSD on their [[http://sunsolve.sun.com/handbook_pub/Systems/Example/Devices/MISC_SunPCi_IIpro.html|SunPCi-II Coprocessor Card]]. The SunPCi-II card is a pci card containing a kind of embedded PC, which was designed to run an OS of the Windows Family on a Sun UltraSparc machine, along Solaris. Here is the [[http://kdev.freeshell.org/sunpci/dmesg.txt|dmesg]] of the SunPCi-II booting. +
- +
-{{http://kdev.freeshell.org/sunpci/sunpci_iipro.jpg|sunPci II pro}} +
  
 ====== 1. Copyright ====== ====== 1. Copyright ======
  
-(c) 2007 Emmanuel Kasper ( kdev arobase no-log dot org )\\+(c) 2007 Emmanuel Kasper ( emmanuel at libera dot cc )\\
 (c) 2001-2003 Richard van den Berg(<[[mailto:richard@vdberg.org|richard@vdberg.org]]>) (c) 2001-2003 Richard van den Berg(<[[mailto:richard@vdberg.org|richard@vdberg.org]]>)
  
Line 19: Line 15:
 All translations, derivative works, or aggregate works incorporating documents from this HOWTO must be covered under this copyright notice. That is, you may not produce a derivative work from this HOWTO and impose additional restrictions on its distribution. \\ All translations, derivative works, or aggregate works incorporating documents from this HOWTO must be covered under this copyright notice. That is, you may not produce a derivative work from this HOWTO and impose additional restrictions on its distribution. \\
  
-If you have anything to add to this Mini-Howto, please mail the author Emmanuel Kasper ( kdev arobase no-log dot org ) with the information. Any new relevant information would be appreciated.+If you have anything to add to this Mini-Howto, please mail the author Emmanuel Kasper (emmanuel at libera removethis dot cc ) with the information. Any new relevant information would be appreciated.
  
 ===== 1.1. Thanks ===== ===== 1.1. Thanks =====
Line 27: Line 23:
 ===== 1.2 Screenshot ===== ===== 1.2 Screenshot =====
  
-{{http://kdev.freeshell.org/sunpci/sunpci_boot.png|screenshot of netbsd booting}}+{{http://www.subsole.org/static/sunpci/sunpci_boot.png|screenshot of netbsd booting}}
  
  
 ====== 2. Preface ====== ====== 2. Preface ======
 +
 +
  
  
 ===== 2.1. General Overview ===== ===== 2.1. General Overview =====
  
-Altough the SunPCi card was meant to be used with either DOS (Caldera OpenDOS is shipped with it) or an OS from the Microsoft Windows family. Since it has an Intel ship on it, NetBSD will run on it. Be aware that certain things will not work!\\+The SunPCi card was meant to be used with either DOS (Caldera OpenDOS is shipped with it) or an OS from the Microsoft Windows family. However, since it has an Intel ship on it, NetBSD will run on it. Be aware that certain things will not work!\\
  
   * **Hard drive**: the Sun disks are presented to the PC card through special DOS and windows drivers drivers. Since NetBSD does not have this drivers, it was impossible to make NetBSD use the "C.diskimage" file or the like. The SunPCi card does have its own IDE controller, but there is no connector on the board. Short of wanting to solder one on, NetBSD will have to boot diskless. \\   * **Hard drive**: the Sun disks are presented to the PC card through special DOS and windows drivers drivers. Since NetBSD does not have this drivers, it was impossible to make NetBSD use the "C.diskimage" file or the like. The SunPCi card does have its own IDE controller, but there is no connector on the board. Short of wanting to solder one on, NetBSD will have to boot diskless. \\
Line 56: Line 54:
   * **Graphics**: By starting the PC card with "sunpci -vga" and connecting an external monitor to the video plug of the card, NetBSD can take advantage of the onboard graphics chip. Using XFree86 you can get graphics on the external monitor.   * **Graphics**: By starting the PC card with "sunpci -vga" and connecting an external monitor to the video plug of the card, NetBSD can take advantage of the onboard graphics chip. Using XFree86 you can get graphics on the external monitor.
  
-This Howto is based on setting up [[http://kdev.freeshell.org/sunpci/www.netbsd.org|NetBSD]] 3.0 on a SunPCi-IIpro card (with Intel Celeron 733MHz processor). It deals with version 2.3.x of the SUNWspci2 Solaris package only. In the rest of this howto I will use the word sunpci to mean the SunPCI-IIpro card as a mean of convenience.\\+This Howto is based on setting up [[http://www.subsole.org/static/sunpci/www.netbsd.org|NetBSD]] 3.0 on a SunPCi-IIpro card (with Intel Celeron 733MHz processor). It deals with version 2.3.x of the SUNWspci2 Solaris package only. In the rest of this howto I will use the word sunpci to mean the SunPCI-IIpro card as a mean of convenience.\\
  
-Sun now ships the SunPCi-III (based on a Mobile 1.4-GHz AMD Athlon XP 1600+ processor) with SUNWspci3 software, and GNU/Linux support for Redhat.\\+Sun released afterwards the SunPCi-III (based on a Mobile 1.4-GHz AMD Athlon XP 1600+ processor) with SUNWspci3 software, and GNU/Linux support for Redhat.\\
 You can download the latest version of the SunPCI-II and III software [[http://www.sun.com/desktop/products/sunpci/downloads.html|here]]. You can download the latest version of the SunPCI-II and III software [[http://www.sun.com/desktop/products/sunpci/downloads.html|here]].
  
Line 81: Line 79:
 </code> </code>
  
- +Note the use of the next-server option, which indicates the dhcp client where to find the NFS serverFor the NFS server, I used the Sun Sparc Box with the following configuration in /etc/dfs/dfstab:
-Note the use of the next-server option, which indicates the dhcp client where to find the NFS server\\  For the NFS server, I used the Sun Sparc Box with the following configuration in /etc/dfs/dfstab:\\+
  
 <code> <code>
Line 95: Line 92:
  
  NetBSD proposes a default DISKLESS kernel configuration file, however it does not include the network driver of the sunpci card. So you need to add the line  NetBSD proposes a default DISKLESS kernel configuration file, however it does not include the network driver of the sunpci card. So you need to add the line
-''sip* at pci? dev ? function ? # SiS 900/DP83815 Ethernet'' +<code> 
-in the DISKLESS configuration file.\\ +sip* at pci? dev ? function ? # SiS 900/DP83815 Ethernet 
-You should also add+</code> 
 + 
 +in the DISKLESS configuration file. You should also add 
 <code> <code>
 pseudo-device rnd # /dev/random and in-kernel generator pseudo-device rnd # /dev/random and in-kernel generator
 </code> </code>
 +
 to make ssh and sshd work. To get usb and sound working you need to add to make ssh and sshd work. To get usb and sound working you need to add
 +
 <code> <code>
 audio* at audiobus?   audio* at audiobus?  
Line 124: Line 126:
  
 [[http://netbsd.gw.com/cgi-bin/man-cgi?dosboot++NetBSD-current|Dosboot(8)]] is a small utility which allows to boot a netbsd kernel from a msdos file system. Simply copy from Solaris your netbsd DISKLESS kernel and dosboot.com to some place accessible by OpenDOS, for instance from Solaris /opt/SUNWspci2/bsd will correspond to F:\BSD\ for opendos.\\  Netboot should be able to boot a kernel over the network from DOS. I didn't experiment with it, since the dosboot solution works great.\\  How to build dosboot and netboot are described in http://www.netbsd.org/Documentation/network/netboot/intro.i386.html\\ [[http://netbsd.gw.com/cgi-bin/man-cgi?dosboot++NetBSD-current|Dosboot(8)]] is a small utility which allows to boot a netbsd kernel from a msdos file system. Simply copy from Solaris your netbsd DISKLESS kernel and dosboot.com to some place accessible by OpenDOS, for instance from Solaris /opt/SUNWspci2/bsd will correspond to F:\BSD\ for opendos.\\  Netboot should be able to boot a kernel over the network from DOS. I didn't experiment with it, since the dosboot solution works great.\\  How to build dosboot and netboot are described in http://www.netbsd.org/Documentation/network/netboot/intro.i386.html\\
 +
  
  
 ===== 4.2. First boot  ===== ===== 4.2. First boot  =====
  
- Dosboot does not work when the dos memory manager is enabled. To disable it,you have to delete the line "device=c:\dos\himem.sys" in the file "C:\config.sys"\\  Booting the kernel is then only a matter of typing+ Dosboot does not work when the dos memory manager is enabled. To disable it, you have to delete the line "device=c:\dos\himem.sys" in the file "C:\config.sys"\\  Booting the kernel is then only a matter of typing
 <code> <code>
 F:\BSD\dosboot netbsd F:\BSD\dosboot netbsd
Line 135: Line 138:
  
 As the boot procedure goes, you should see the kernel trying to ask the dhcp server whereis your nfs server. As the boot procedure goes, you should see the kernel trying to ask the dhcp server whereis your nfs server.
 +
 <code> <code>
 boot device: <unknown> boot device: <unknown>
Line 163: Line 167:
 This will create a 512MB netbsd.diskimage //sparse// file. This means that the file will only use as much real diskspace as actual data is inside it. \\  There is still a 512MB minimun size restriction, but the size of the diskimage will only be the actual size used by the files in it. If you add the "-f" flag to the "makedisk" command, the diskimage is filled up (and an X status bar is shown).You will then be able to boot NetBSD by typing: This will create a 512MB netbsd.diskimage //sparse// file. This means that the file will only use as much real diskspace as actual data is inside it. \\  There is still a 512MB minimun size restriction, but the size of the diskimage will only be the actual size used by the files in it. If you add the "-f" flag to the "makedisk" command, the diskimage is filled up (and an X status bar is shown).You will then be able to boot NetBSD by typing:
  
-<code>  sunpci -C netbsd.diskimage </code>+<code>sunpci -C netbsd.diskimage</code>
  
 Another option is to use the menu options of Windows 95/98 (and Millennium if you have resurrected the DOS mode for it). Since NetBSD does not see the diskimage, it is not possible to install NetBSD's boot loader.\\ Another option is to use the menu options of Windows 95/98 (and Millennium if you have resurrected the DOS mode for it). Since NetBSD does not see the diskimage, it is not possible to install NetBSD's boot loader.\\
Line 171: Line 175:
  
 The SunPCi card can only be booted by the X application named "sunpcbinary". Now that you have a NetBSD system running somewhat independent of the Sun host, it seems silly to have it only available within a Sun X session To be able to use an X app from a non-X terminal you need an //X virtual frame buffer//. The standard X11 release from X.org comes with "Xvfb" to accomplish this. Unfortunately, Sun did not include it with Solaris. The SunPCi card can only be booted by the X application named "sunpcbinary". Now that you have a NetBSD system running somewhat independent of the Sun host, it seems silly to have it only available within a Sun X session To be able to use an X app from a non-X terminal you need an //X virtual frame buffer//. The standard X11 release from X.org comes with "Xvfb" to accomplish this. Unfortunately, Sun did not include it with Solaris.
 +
  
  
Line 178: Line 183:
  
 The Solaris package you need to install to make use of VNC for the SunPCi card is called "SUNWspvnc". The easiest way to start "Xvnc" is by using the "sunpcid" daemon that comes with the SunPCi drivers. The configuration file for this daemon is "/etc/Master.ini" At the bottom of this file, there should be a section to configure vnc. If not, you can add default settings like this: The Solaris package you need to install to make use of VNC for the SunPCi card is called "SUNWspvnc". The easiest way to start "Xvnc" is by using the "sunpcid" daemon that comes with the SunPCi drivers. The configuration file for this daemon is "/etc/Master.ini" At the bottom of this file, there should be a section to configure vnc. If not, you can add default settings like this:
 +
 <code> <code>
 [vnc] [vnc]
Line 192: Line 198:
  
 <code> <code>
-$ export DISPLAY=localhost:10\\ $ sunpci -C /path/to_your_netbsd.image+$ export DISPLAY=localhost:10 
 +$ sunpci -C /path/to_your_netbsd.image
 </code> </code>
  
Line 251: Line 258:
 ===== 5.1. Make XFree86 work ===== ===== 5.1. Make XFree86 work =====
  
-A quick Xfree86 -configure left me with the following message :\\ \\ "Fatal server error:\\  xf86OpenConsole: No console driver found\\  Supported drivers: pccons (with X support), pcvt, wscons\\  Check your kernel's console driver configuration and /dev entries\\ "\\  I guess it would not be too much to add the missing lines to the DISKLESS kernel.\\+A quick Xfree86 -configure left me with the following message : 
 +<code> 
 +Fatal server error 
 +xf86OpenConsole: No console driver found 
 +Supported drivers: pccons (with X support), pcvt, wscons 
 +Check your kernel's console driver configuration and /dev entries 
 +</code> 
 +I guess it would not be too much to add the missing lines to the DISKLESS kernel. 
  
  
Line 257: Line 272:
 ===== 5.2. Port Sunpci drivers on others OS / architecture  ===== ===== 5.2. Port Sunpci drivers on others OS / architecture  =====
  
- Brave linux hacker Chris Lalancette already started to investigate this in a quite interesting [[http://www.ussg.iu.edu/hypermail/linux/kernel/0403.0/0202.html|mail]] he sent to the linux kernel mailing list. Didn't hear any success. Documentation for the transparent PCI bridge used by the solaris guest to talk with the board is [[http://alpha1.dyns.net/files/Bridges/27809101.pdf|available]], if anyone feels to pick up the (hum) heavy task.+ Brave linux hacker Chris Lalancette already started to investigate this in a quite interesting [[http://www.ussg.iu.edu/hypermail/linux/kernel/0403.0/0202.html|mail]] he sent to the linux kernel mailing list. Didn't hear any success. Documentation for the transparent PCI bridge used by the solaris guest to talk with the board is [[http://alpha1.dyns.net/files/Bridges/27809101.pdf|available]], if anyone feels to pick up the (hum) heavy task. Thanks to Alexander Voropay we have also some extra documentations for the chips used in the SunPCI board:\\ 
 +[[http://www.subsole.org/static/sunpci/ITE8705.pdf|IT8705F/IT8705AF]] \\ 
 +[[http://www.subsole.org/static/sunpci/SiS630.pdf|Sis630 Chipset]] \\  
 +[[http://www.subsole.org/static/sunpci/SiS960.pdf|Sis960 South Bridge]] (the SiS960 is part of the SiS630 "single-chip" chipset ) \\
  
 \\  That's it! Have fun with your netbsd-on-a-board and remember : \\  That's it! Have fun with your netbsd-on-a-board and remember :
Line 265: Line 283:
 Hubert Feyrer & Ignatios Souvatzis Hubert Feyrer & Ignatios Souvatzis
 ---- ----
-[[http://www.netbsd.org|{{http://kdev.freeshell.org/sunpci/powered-by-NetBSD.png|powered by netbsd logo}}]] 
- 
  
netbsd_sun_pci.1193147371.txt.gz · Last modified: 2015/03/11 11:22 (external edit)