sonnenblen.de - Das unabhängige Sun User Forum
Betriebssysteme => Solaris/x86 und OpenSolaris => Thema gestartet von: escimo am 18. April 2016, 22:53:13
-
Hallo zusammen,
hat schon mal jemand einen Install- respektive Jumpserver für Solaris 2.4 x86 auf einem Post-Release aufgesetzt?
Ich versuche das gerade bei Sun Solaris 10 unter VMware Workstation 7.1.4, scheitere aber schon damit, dass die benötigten Tools wie z.B. setup_install_server die auch in der Doku (Kapitel 3) (http://docs.oracle.com/cd/E19457-01/801-6617/801-6617.pdf) angegeben sind, überhaupt erst gar nicht auf dem Medium vorzufinden sind.
Ich versuche mal anstelle die Tools der SPARC-Variante zu nutzen, das sind doch bestimmt nur Shell-Skripte...
Das fängt ja schon mal wieder gut an :-\
-
Mindestens das Skript setup_install_server vom SPARC-Installationsmedium funktioniert.
- ISO/CD-ROM Solaris 2.4 x86 mounten
- cd /cdrom/cdrom0 && /usr/sfw/bin/gtar czvf /root/sol24x86.tgz solaris_2_4_x86
- cd /root && /usr/sfw/bin/gtar xzvf sol24x86.tgz
- umount ISO/CD-ROM
- ISO/CD-ROM Solaris 2.4 SPARC einbinden/mount
- Skripte setup_install_server, add_install_client, rm_install_client nach /root/solaris_2_4_x86/s0/ kopieren
- umount ISO/CD-ROM
# mkdir -p /export/install
# cd /root/solaris_2_4_x86/s0 && ./setup_install_server /export/install
Fortsetzung folgt ... Gute Nacht.
-
Da ist weit mehr "defekt" als ich dachte. Das ISO Image scheint einzig für eine Installation in einem (virtuellen) CD-ROM konzipiert zu sein. Damit lässt sich der Boot-, Install- ggf Konfigurations-Server nicht ohne viel Vorab-Aufwand, d.h. händische Anpassunge aufsetzen zu lassen.
Hat nicht noch wer ein komplettes ISO-Image von Solaris 2.4 für Intel / x86 ?
Ich hätte schon stutzig werden müssen, als außer das s0-Verzeichnis nichts drauf war,
Die Doku weist für x86 explizit das Verzeichnis "s2" aus, das schon gar nicht enthalten ist.
Files Description
/cdrom/cdrom0/s0 File path of the mounted SPARC Solaris CD on a Solaris 2.x system.
If more than one CD-ROM drive is attached to the system, the path
may vary. (This mount point is created by Volume Management
software.)
/cdrom/cdrom0/s2 File path of the mounted x86 Solaris CD on a Solaris 2.x system. If
more than one CD-ROM drive is attached to the system, the path
may vary. (This mount point is created by Volume Management
software.)
Quelle: x86: Installing Solaris Software (http://docs.oracle.com/cd/E19457-01/801-6617/801-6617.pdf), Seite 19
Ob ich das händisch hinbekomme ist fraglich. Eine Orientierung bietet mir Solaris 2.6 CD-ROM nur bedingt, da sich hier der Aufbau auch noch etwas geändert hat, u.a. /cdrom/cdrom0/s2/Solaris_2.6/Tool
F*** >:(
EDIT:
Hat nicht noch wer ein komplettes ISO-Image von Solaris 2.4 für Intel / x86 ?
Anfrage zurück! Mein Fehler!
Das ISO scheint den s2-Teil doch zu haben also komplett zu sein, wenn man das ISO nicht unter VMware dem Solaris 10 direkt übergibt und von vold automatisch einhängen lässt. Mein Ubuntu 10.04 kann jetzt dafür den s2-Teil mounten, der mir gefehlt hat und verwehrt mir den s0-Teil. Schon verwirrend. :o
Ursache noch unklar.
sx@inovo:/media/cdrom$ ls -l
insgesamt 92
-rwxr-xr-x 1 root bin 42942 1994-07-22 04:01 add_install_client
drwxr-xr-x 2 root daemon 2048 1994-08-03 18:40 archinfo
drwxr-xr-x 3 bin bin 2048 1994-08-03 18:13 auto_install_sample
-rw-r--r-- 1 root daemon 6999 1994-08-03 18:41 Copyright
drwxr-xr-x 3 root daemon 2048 1994-08-03 18:10 export
drwxr-xr-x 14 root bin 2048 1994-10-18 11:30 Patches
drwxr-xr-x 4 root bin 2048 1994-08-03 18:42 Posix.2
-rwxr-xr-x 1 root bin 12298 1994-07-22 04:01 rm_install_client
-rwxr-xr-x 1 root bin 6381 1994-07-22 04:01 setup_install_server
drwxr-xr-x 108 root daemon 14336 1994-08-03 18:41 Solaris_2.4
Dann suche ich jetzt mal einen Weg die zwei Teile so zu vereinen, dass die CD komplett (s0 und s2 Anteil) eingehängt wird, und wenn ich mir eine neue 2.4 CD mit mkisofs erstellen muss, egal...
-
Hmmm...
1. Die Installation von Solaris 2.4 x86 über Netzwerk ist immer bedienerlos (unattanded / Jumpserver)?
Nein, das sollte genau wie alle anderen Solaris 2.x-Installationen nur "bedienerlos" gehen, wenn er auch die Custom-Jumpstart-Daten findet, sonst wird er interaktiv.
2.Ein Zugriff auf die CD über Netzwerk beim Boot des PC i86pc ist wohl nicht möglich für eine interaktive Installation?
Die Frage verstehe ich nicht. Die CD (bzw. deren Image) wird ja bei der Installation gemountet und ist somit über das Netzwerk verfügbar. Das muß sie auch immer sein, sonst funktioniert die ganze Installation ja nicht.
Zum Thema s0/s2: So sind die CDs halt aufgebaut, und man braucht beides. Am besten, Du mountest sie auf irgendeinem Solaris-x86-System, und machst ein tar von allem. Dann legst Du das Install-Image von Hand an die richtige Stelle und erzeugst die Datei und das Symlink von Hand in /tftpboot (oder wo auch immer Dein tftpd es finden will) und machst die DHCP-Einträge von Hand. Diese ganzen Scripte (setup_install_server und add_install_client undsoweiter) funktionieren nur in der Solaris-Umgebung richtig. Wenn Du irgendwas anders machen willst, geht es manuell deutlich besser.
Gruß -- Volker
-
Hallo Volker.
Danke für die Infos. Was meinst du mit "...machst du die DHCP-Einträge von Hand" ? Beispiel?
Bisweilen komme ich damit nicht weiter.
Ich möchte Solaris 2.4 x86 über Netzwerk installieren, interaktiv.
Den RPL daemon bekomme ich überhaupt nicht an's Laufen: keine Fehlermeldung, kein Prozess rpld, kein Log, nichts. :o
Und es sind an sich alle Verzeichnisse und Dateien da...
Vom Client bekomme ich immer wieder zu lesen "Still trying to find a RPL server..."
Der Jumpserver bzw. Installserver:
bash-3.00# uname -a
SunOS inovos 5.10 Generic_141445-09 i86pc i386 i86pc
/rplboot
bash-3.00# ls -l /rplboot/
total 356
lrwxrwxrwx 1 root root 14 Jul 4 19:45 192.168.1.35.glue.com -> ./gluecode.com
lrwxrwxrwx 1 root root 9 Jul 4 19:45 192.168.1.35.hw.com -> ./smc.com
lrwxrwxrwx 1 root root 26 Jul 4 19:45 192.168.1.35.inetboot -> inetboot.i86pc.Solaris_2.4
-r-xr-xr-x 1 root root 7517 Jul 4 19:45 gluecode.com
-rwxr-xr-x 1 root root 143872 Jul 4 19:45 inetboot.i86pc.Solaris_2.4
-rw-r--r-- 1 root root 621 Jul 4 19:45 rm.192.168.1.35
-r-xr-xr-x 1 root root 13407 Jul 4 19:45 smc.com
/etc/inet/hosts
bash-3.00# cat /etc/inet/hosts
#
# Internet host table
#
127.0.0.1 localhost loghost
::1 localhost loghost
192.168.1.35 scenic #Siemens Nixdorf Scenic Pro C5
192.168.1.17 inovos # Added by DHCP
/etc/ethers
bash-3.00# cat /etc/ethers
#00:A0:24:6C:63:39 scenic
0:a0:24:6c:63:39 scenic
/etc/bootparams
bash-3.00# cat /etc/bootparams
* install_config=inovos:/export/jumpserver
scenic root=inovos:/export/jumpstart/2_4_x86/export/exec/kvm/i386.i86pc.Solaris_2.4 install=inovos:/export/jumpstart/2_4_x86 boottype=:in numbootfiles=3 bootfile=/rplboot/192.168.1.35.hw.com:45000 bootfile=/rplboot/192.168.1.35.glue.com:35000 bootfile=/rplboot/192.168.1.35.inetboot:8000 bootaddr=35000
/etc/nsswitch.conf (Auszug)
bash-3.00# egrep "^(hosts)|(ethers)|(bootparams)" /etc/nsswitch.conf
hosts: files dns # Added by DHCP
ethers: files
bootparams: files
NFS-Export
bash-3.00# cat /etc/dfs/dfstab | grep -v ^#
share -F nfs -o ro,anon=0 /export/jumpstart
bash-3.00# share
- /export/jumpstart ro,anon=0 ""
Jumpserver Verzeichnis
bash-3.00# ls -l /export/jumpstart/
total 30
drwxr-xr-x 2 root root 512 Apr 19 19:00 10_amd64
drwxr-xr-x 2 root root 512 Apr 19 19:00 10_sparc
drwxr-xr-x 2 root root 512 Apr 19 19:00 10_x86
drwxr-xr-x 2 root root 512 Apr 19 19:00 2_4_sparc
drwxr-xr-x 9 root root 512 Apr 20 19:41 2_4_x86
drwxr-xr-x 2 root root 512 Apr 19 19:00 2_5_1_sparc
drwxr-xr-x 2 root root 512 Apr 19 19:00 2_5_1_x86
drwxr-xr-x 2 root root 512 Apr 19 19:00 2_6_sparc
drwxr-xr-x 4 root root 512 Apr 19 22:35 2_6_x86
drwxr-xr-x 2 root root 512 Apr 19 19:00 7_sparc
drwxr-xr-x 2 root root 512 Apr 19 19:00 7_x86
drwxr-xr-x 2 root root 512 Apr 19 19:00 8_sparc
drwxr-xr-x 2 root root 512 Apr 19 19:00 8_x86
bash-3.00# ls -l /export/jumpstart/2_4_x86/
total 154
-rw-r--r-- 1 root other 6999 Aug 3 1994 Copyright
drwxr-xr-x 14 root bin 512 Oct 18 1994 Patches
drwxr-xr-x 4 root bin 512 Aug 3 1994 Posix.2
drwxr-xr-x 108 root other 2560 Aug 3 1994 Solaris_2.4
-rwxr-xr-x 1 root bin 42942 Jul 22 1994 add_install_client
drwxr-xr-x 2 root other 512 Aug 3 1994 archinfo
drwxr-xr-x 3 bin bin 512 Aug 3 1994 auto_install_sample
drwxr-xr-x 3 root other 512 Aug 3 1994 export
-rwxr-xr-x 1 root bin 12298 Jul 22 1994 rm_install_client
-rwxr-xr-x 1 root bin 6381 Jul 22 1994 setup_install_server
RPLD Konfiguration
bash-3.00# cat /etc/rpld.conf
#
# Default configuration file for RPL server rpld
#
# Debug Level (0-9)
# 0 = nil
# 9 = most
DebugLevel = 0
# Debug Destination
# 0 = console
# 1 = syslogd
# 2 = log file
DebugDest = 2
# Maximum simultaneous boot request clients
MaxClients = -1
# Background mode
# 0 = not run in background
# 1 = run in background
BackGround = 1
# Frame size to use
FrameSize = 1500
# Log file name
LogFile = /var/spool/rpld.log
# Start Delay Count
StartDelay = 20
# Delay Granularity
DelayGran = 2
end
Start über...
bash-3.00# /usr/sbin/rpld e1000g0
bash-3.00# echo $?
0
bash-3.00# pkginfo | grep SUNWbs
system SUNWbsr Boot Server daemons (Root)
system SUNWbsu Boot Server daemons (Usr)
bash-3.00# svcs -a | egrep "(nfs\/server)|(tftp)|(rarp)|(bootparam)"
online 19:21:02 svc:/network/rpc/bootparams:default
online 19:21:08 svc:/network/nfs/server:default
online 19:21:08 svc:/network/rarp:default
online 20:11:16 svc:/network/tftp/udp6:default
bash-3.00# ps -ef | grep -i bootparam | grep -v grep
root 357 1 0 19:21:02 ? 0:00 /usr/sbin/rpc.bootparamd
bash-3.00# ps -ef | grep -i rarp | grep -v grep
root 565 1 0 19:21:09 ? 0:00 /usr/sbin/in.rarpd -a
root 1255 1 0 19:24:46 ? 0:00 /usr/sbin/in.rarpd -a
Was hat der TFTP damit zu tun? Dachte das ist für SPARC und er RPLD für x86? Ggf. kann Solaris 2.4 nicht TFTP?
Test tftp von anderem Host im selben Netz funktional (aber bedeutungslos?)
Ideen?
-
Ach Herrje, RPL...
Hast Du es mal mit rpld -a versucht?
Eventuell mußt Du dem mal mit truss oder dtrace zuschauen, was er beim Start treibt.
Das inetboot.i86pc.Solaris_2.4 sollte er dann per tftp holen. Vielleicht läßtDu den tftpd mal mit -d laufen.
Ist aber natürlich der zweite Schritt, erst muß der Client mal seine Netz-Konfig haben.
Gruß -- Volker
-
Mein EDIT-Eintrag habe ich wohl vergesssen zu speichern.
Da waren die Ausgaben von RPLD dabei, warum der nicht will... :-\
Der RPL will mein Netzwerk-Interfacenamen der VM (VMWare Workstation) nicht verwenden (e1000g0)
Wenn ich rpld mit Ausgabe auf Konsole starte, "zerstückelt" RPL mir den NIC-Namen und beschwert sich dann frech, dass er /dev/e1000 - eben nicht e1000g0 - nicht findet.
Ich ergänze den Output heute abend nochmal.
EDIT
lprd kommt wohl nicht mit 64-Bit Libs zurecht?
bash-3.00# ifconfig -a
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
e1000g0: flags=1004843<UP,BROADCAST,RUNNING,MULTICAST,DHCP,IPv4> mtu 1500 index 2
inet 192.168.1.17 netmask ffffff00 broadcast 192.168.1.255
ether 0:c:29:b8:3a:4b
bash-3.00# ls -l /dev/e1000*
lrwxrwxrwx 1 root root 32 Dec 1 2009 /dev/e1000g -> ../devices/pseudo/clone@0:e1000g
lrwxrwxrwx 1 root root 55 Dec 1 2009 /dev/e1000g0 -> ../devices/pci@0,0/pci15ad,790@11/pci15ad,750@1:e1000g0
bash-3.00# /usr/sbin/rpld -a -b 0 -d 9 -D 0
found interface = /dev/e1000
ConfigFile = /etc/rpld.conf
DebugLevel = 9
DebugDest = console
MaxClients = -1 (unlimited)
BackGround = FALSE
LogFile = /var/spool/rpld.log
StartDelay = 20
DelayGran = 2
FrameSize = 1500
Interface = /dev/e1000
Opening /dev/e
Cannot open device /dev/e
LPRD ist (nur) ein 32-Bit Binary
bash-3.00# file /usr/sbin/rpld
/usr/sbin/rpld: ELF 32-bit LSB executable 80386 Version 1, dynamically linked, stripped
bash-3.00# ldd /usr/sbin/rpld
libsocket.so.1 => /lib/libsocket.so.1
libc.so.1 => /lib/libc.so.1
libnsl.so.1 => /lib/libnsl.so.1
libmp.so.2 => /lib/libmp.so.2
libmd.so.1 => /lib/libmd.so.1
libscf.so.1 => /lib/libscf.so.1
libdoor.so.1 => /lib/libdoor.so.1
libuutil.so.1 => /lib/libuutil.so.1
libgen.so.1 => /lib/libgen.so.1
libm.so.2 => /lib/libm.so.2
bash-3.00# truss /usr/sbin/rpld -a -b 0 -d 9 -D 0
execve("/usr/sbin/rpld", 0x080476A0, 0x080476C4) argc = 8
mmap(0x00000000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANON, -1, 0) = 0xFEFF0000
resolvepath("/usr/lib/ld.so.1", "/lib/ld.so.1", 1023) = 12
resolvepath("/usr/sbin/rpld", "/usr/sbin/rpld", 1023) = 14
sysconfig(_CONFIG_PAGESIZE) = 4096
stat64("/usr/sbin/rpld", 0x08047430) = 0
open("/var/ld/ld.config", O_RDONLY) Err#2 ENOENT
stat64("/lib/libsocket.so.1", 0x08046CD0) = 0
resolvepath("/lib/libsocket.so.1", "/lib/libsocket.so.1", 1023) = 19
open("/lib/libsocket.so.1", O_RDONLY) = 3
mmap(0x00010000, 32768, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_ALIGN, 3, 0) = 0xFEFB0000
mmap(0x00010000, 114688, PROT_NONE, MAP_PRIVATE|MAP_NORESERVE|MAP_ANON|MAP_ALIGN, -1, 0) = 0xFEF90000
mmap(0xFEF90000, 43986, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_TEXT, 3, 0) = 0xFEF90000
mmap(0xFEFAB000, 2645, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_INITDATA, 3, 45056) = 0xFEFAB000
munmap(0xFEF9B000, 65536) = 0
memcntl(0xFEF90000, 12080, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
close(3) = 0
stat64("/lib/libc.so.1", 0x08046CD0) = 0
resolvepath("/lib/libc.so.1", "/lib/libc.so.1", 1023) = 14
open("/lib/libc.so.1", O_RDONLY) = 3
mmap(0xFEFB0000, 32768, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xFEFB0000
mmap(0x00010000, 1212416, PROT_NONE, MAP_PRIVATE|MAP_NORESERVE|MAP_ANON|MAP_ALIGN, -1, 0) = 0xFEE60000
mmap(0xFEE60000, 1102437, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_TEXT, 3, 0) = 0xFEE60000
mmap(0xFEF7E000, 30183, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_INITDATA, 3, 1105920) = 0xFEF7E000
mmap(0xFEF86000, 4240, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANON, -1, 0) = 0xFEF86000
munmap(0xFEF6E000, 65536) = 0
memcntl(0xFEE60000, 124080, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
close(3) = 0
stat64("/lib/libnsl.so.1", 0x08046CD0) = 0
resolvepath("/lib/libnsl.so.1", "/lib/libnsl.so.1", 1023) = 16
open("/lib/libnsl.so.1", O_RDONLY) = 3
mmap(0xFEFB0000, 32768, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xFEFB0000
mmap(0x00010000, 647168, PROT_NONE, MAP_PRIVATE|MAP_NORESERVE|MAP_ANON|MAP_ALIGN, -1, 0) = 0xFEDC0000
mmap(0xFEDC0000, 525537, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_TEXT, 3, 0) = 0xFEDC0000
mmap(0xFEE51000, 19877, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_INITDATA, 3, 528384) = 0xFEE51000
mmap(0xFEE56000, 30040, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANON, -1, 0) = 0xFEE56000
munmap(0xFEE41000, 65536) = 0
memcntl(0xFEDC0000, 57900, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
close(3) = 0
mmap(0x00000000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANON, -1, 0) = 0xFEFC0000
mmap(0x00010000, 24576, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANON|MAP_ALIGN, -1, 0) = 0xFEFA0000
munmap(0xFEFB0000, 32768) = 0
getcontext(0x080472A0)
getrlimit(RLIMIT_STACK, 0x08047298) = 0
getpid() = 1254 [1253]
lwp_private(0, 1, 0xFEFA2A00) = 0x000001C3
setustack(0xFEFA2A60)
sigfillset(0xFEF85DD0) = 0
sysi86(SI86FPSTART, 0xFEF86740, 0x0000133F, 0x00001F80) = 0x00000001
sysconfig(_CONFIG_PAGESIZE) = 4096
open("/etc/rpld.conf", O_RDONLY) = 3
fstat64(3, 0x08046890) = 0
brk(0x0806A270) = 0
brk(0x0806E270) = 0
fstat64(3, 0x080467D0) = 0
ioctl(3, TCGETA, 0x08046864) Err#25 ENOTTY
read(3, " #\n # D e f a u l t ".., 8192) = 496
llseek(3, 0, SEEK_CUR) = 496
close(3) = 0
open("/dev/ip", O_RDONLY) = 3
ioctl(3, SIOCGIFNUM, 0x0804760C) = 0
ioctl(3, SIOCGIFCONF, 0x08046DF8) = 0
ioctl(3, SIOCGIFFLAGS, 0x0806A278) = 0
ioctl(3, SIOCGIFFLAGS, 0x0806A298) = 0
ioctl(1, TCGETA, 0x08046134) = 0
fstat64(1, 0x080460A0) = 0
found interface = /dev/e1000
write(1, " f o u n d i n t e r f".., 29) = 29
open("/dev/e", O_RDWR) Err#2 ENOENT
close(3) = 0
ConfigFile = /etc/rpld.conf
write(1, " C o n f i g F i l e =".., 28) = 28
DebugLevel = 9
write(1, " D e b u g L e v e l =".., 15) = 15
DebugDest = console
write(1, " D e b u g D e s t =".., 21) = 21
MaxClients = -1 (unlimited)
write(1, " M a x C l i e n t s =".., 28) = 28
BackGround = FALSE
write(1, " B a c k G r o u n d =".., 19) = 19
LogFile = /var/spool/rpld.log
write(1, " L o g F i l e =".., 33) = 33
StartDelay = 20
write(1, " S t a r t D e l a y =".., 16) = 16
DelayGran = 2
write(1, " D e l a y G r a n =".., 15) = 15
FrameSize = 1500
write(1, " F r a m e S i z e =".., 18) = 18
Interface = /dev/e1000
write(1, " I n t e r f a c e =".., 24) = 24
Opening /dev/e
write(1, " O p e n i n g / d e v".., 15) = 15
open("/dev/e", O_RDWR) Err#2 ENOENT
Cannot open device /dev/e
write(1, " C a n n o t o p e n ".., 26) = 26
_exit(-1)
-
Mmm. Habe nochmal auf Null zurückgesetzt.
VM-Guest Solaris 10 32-Bit unter VirtualBox mit PCnet-PCI II (pcn0) als Netzwerkbrücke konfiguriert, Solaris 10 core + Anpassungen (ohne X11) installiert. SSHD konfiguriert. Alles schick.
# pkginfo | grep SUNWbs
system SUNWbsr Boot Server daemons (Root)
system SUNWbsu Boot Server daemons (Usr)
# pkginfo | grep SUNWtf
system SUNWtftp Trivial File Transfer Server
system SUNWtftpr Trivial File Transfer Server (Root)
# pkginfo | grep SUNWnfs
system SUNWnfsckr Network File System (NFS) client kernel support (Root)
system SUNWnfscr Network File System (NFS) client support (Root)
system SUNWnfscu Network File System (NFS) client support (Usr)
system SUNWnfsskr Network File System (NFS) server kernel support (Root)
system SUNWnfssr Network File System (NFS) server support (Root)
system SUNWnfssu Network File System (NFS) server support (Usr)
Dann...
1. Volume Manager SMF Service deaktiviert
# svcs -a | grep vol
disabled 15:09:11 svc:/system/filesystem/volfs:default
EDIT BEGIN
2. CD-Image mounten lofiadm
/!\ Das geht irgendwie nach wie vor nicht. Daher bediene ich mich aus einem selbsterstellten TGZ der Slices 0+2, welches ich nach dem Mount unter Ubuntu mittels FTP auf der Solaris 10 VM abgelegt und entpackt habe
# lofiadm -a /home/sx/solaris.2.4.x86.iso
dev/lofi/1
# mount -o ro -F hsfs /dev/lofi/1 /mnt
# cd /mnt
# ls -l
total 184
-rwxr-xr-x 1 root bin 42942 Jul 22 1994 add_install_client
drwxr-xr-x 2 root other 2048 Aug 3 1994 archinfo
drwxr-xr-x 3 bin bin 2048 Aug 3 1994 auto_install_sample
-rw-r--r-- 1 root other 6999 Aug 3 1994 Copyright
drwxr-xr-x 3 root other 2048 Aug 3 1994 export
drwxr-xr-x 14 root bin 2048 Okt 18 1994 Patches
drwxr-xr-x 4 root bin 2048 Aug 3 1994 Posix.2
-rwxr-xr-x 1 root bin 12298 Jul 22 1994 rm_install_client
-rwxr-xr-x 1 root bin 6381 Jul 22 1994 setup_install_server
drwxr-xr-x 108 root other 14336 Aug 3 1994 Solaris_2.4
EDIT END
3. Anlage Jumpstart Verzeichnisstruktur
(i) Verzeichnisnamen "jumpstart" habe ich zugunsten "install" ersetzt
# mkdir -p /export/install/{2_4,2_4_x86}
# ./setup_install_server /export/install/2_4_x86
Verifying target directory...
Copying the CD image to disk...
Install Server setup complete
4. Konfiguration Install-Client erzeugen
(i) Bootserver nicht nötig, da Installserver später im selben Subnetz laufen wird wie Install-Client
# egrep "^(hosts)|(ethers)|(bootparams)" /etc/nsswitch.conf
hosts: files dns # Added by DHCP
ethers: files
bootparams: files
# grep scenic /etc/inet/hosts
192.168.1.35 scenic # Siemens Nixdorf Scenic Pro C5
# cat /etc/ethers
#00:A0:24:6C:63:39 scenic
0:a0:24:6c:63:39 scenic
# pwd
/export/install/2_4_x86
# ./add_install_client -s jumper:/export/install scenic i86pc
Warning: no interface configured for subnet 192.168.1.0
making /rplboot
saving original /etc/dfs/dfstab in /etc/dfs/dfstab.orig
Adding "share -F nfs -o ro,anon=0 /export/install" to /etc/dfs/dfstab
starting rpld
starting rarpd
starting bootparamd
updating /etc/bootparams
copying inetboot to /rplboot
# cat /etc/bootparams
scenic root=jumper:/export/install/2_4_x86/export/exec/kvm/i386.i86pc.Solaris_2.4 install=jumper:/export/install boottype=:in numbootfiles=3 bootfile=/rplboot/192.168.1.35.hw.com:45000 bootfile=/rplboot/192.168.1.35.glue.com:35000 bootfile=/rplboot/192.168.1.35.inetboot:8000 bootaddr=35000
5. NFS-Server konfigurieren (Export-Verzeichnis)
(i) Refresh nach Anpassung alternativ über "svcadm refresh network/nfs/server"
# grep ^share /etc/dfs/dfstab
share -F nfs -o ro,anon=0 /export/install
# shareall
6. TFTP Server konfiguriert
(i) ist eigentlich nicht nötig aber der Vollständigkeit auf RPL-Rootverzeichnis gelegt
# tail -2 /etc/inetd.conf
#tftp dgram udp6 wait root /usr/sbin/in.tftpd in.tftpd -s /tftpboot
tftp dgram udp6 wait root /usr/sbin/in.tftpd in.tftpd -s /rplboot
# inetconv -i /etc/inetd.conf
inetconv: Notice: Service manifest for 100235/1 already generated as /var/svc/manifest/network/rpc/100235_1-rpc_ticotsord.xml, skipped
tftp -> /var/svc/manifest/network/tftp-udp6.xml
Importing tftp-udp6.xml ...Done
# svcs -a | grep -i tftp
online 8:20:39 svc:/network/tftp/udp6:default
7. Services und Daemon(s) starten
# svcs -a | egrep "(nfs\/server)|(tftp)|(rarp)|(bootparam)"
disabled 12:41:39 svc:/network/rpc/bootparams:default
disabled 12:41:39 svc:/network/rarp:default
online 14:31:01 svc:/network/nfs/server:default
online 14:38:54 svc:/network/tftp/udp6:default
# svcadm enable network/rpc/bootparams
# svcadm enable network/rarp
# svcs -a | egrep "(nfs\/server)|(tftp)|(rarp)|(bootparam)"
online 14:31:01 svc:/network/nfs/server:default
online 14:38:54 svc:/network/tftp/udp6:default
online 15:05:20 svc:/network/rpc/bootparams:default
online 15:05:27 svc:/network/rarp:default
# /usr/sbin/rpld -a
# echo $?
0
# reboot
<VM_REBOOT>
# ps -ef | egrep -i "(bootparam)|(rarpd)|(rpld)" | grep -v grep
root 274 1 0 15:09:18 ? 0:00 /usr/sbin/rpc.bootparamd
root 448 1 0 15:09:22 ? 0:00 /usr/sbin/in.rarpd -a
root 482 1 0 15:09:22 ? 0:00 /usr/sbin/rpld -a
# svcs -a | egrep "(nfs\/server)|(tftp)|(rarp)|(bootparam)"
online 15:09:18 svc:/network/rpc/bootparams:default
online 15:09:20 svc:/network/tftp/udp6:default
online 15:09:21 svc:/network/nfs/server:default
online 15:09:21 svc:/network/rarp:default
# grep ^share /etc/dfs/dfstab
share -F nfs -o ro,anon=0 /export/install
# share
- /export/install ro,anon=0 ""
-
Das sieht ja schon ganz nett aus. Funktioniert es nun? :-)
Zwei Anmerkungen:
- Das Kopieren von einer Slice herunter funktioniert so einfach nicht. Dazu muß man entweder eine "echte" CD mounten, oder jede Slice einzeln von der CD herunterkopieren und einzeln mounten. Dazu hab ich 2003(!) mal ein Tool geschrieben, das die Slices in Files schreibt, die dann per lofi gemountet werden können.
- Das von Dir rot markierte im Output von rpld scheint einfach ein Bug zu sein. Das Programm verkraftet nicht, daß schon der Treibername "e1000g" Ziffern enthält. Wenn Deine Karte "hme0" heißen würde, hätte es vermutlich geklappt.
Gruß -- Volker
-
Hi Volker,
EDIT BEGIN
danke für deine Anmerkungen.
der Inhalt hat zumindest eine identische Größe. Vergleich der Datenmenge nach Ausführung von setup_install_server
bash-3.2# du -sh 2_4_x86 2_4_x86.backup
231M 2_4_x86 ---> lofiadm ISO Mount
231M 2_4_x86.backup ---> Entpacken aus TGZ
EDIT END
Ob es funktioniert? - Ein ganz klares NEIN.
Ich konnte zumindest in die interaktive Installation einsteigen. Weit gekommen bin ich damit nicht. Der hängt bei der Konfiguration der Devices bzw. beim Laden von Treibern ...
Boot path: /isa/elx@0,0
Boot args: /kernel/unix
Select the type of installation you want to perform:
(...)
<<< starting interactive installation >>>
Booting /kernel/unix...
SunOS Release 5.4 Vesion generic [UNIX(R) System V Release 4.0]
Copyright (c) 1983-1994, Sun Microsystems, Inc.
whoami: no domain name
/
Habe noch keine Idee warum. Gebootet habe ich mit dem Driver Update 10 (DU10) Boot-Disks. Ggf. ist beim Kopieren der S2-Slice unter Linux auch was schiefgegangen. In der VM konnte ich das bis jetzt noch nicht beheben/umgehen.
Auszug /var/spool/rpld.log ab RPL von Install-Client
FIND frame received
host is scenic
Entered clientlookup(), number of clients = 0
No clients yet, returning
There are 3 bootfiles for this client
Sending out FOUND Frame
SEND FILE REQUEST received
Entered clientlookup(), number of clients = 1
Looking for client 0 A0 24 6C 63 39
Client found
SEND FILE REQUEST received
Entered clientlookup(), number of clients = 1
Looking for client 0 A0 24 6C 63 39
Client found
SEND FILE REQUEST received
Entered clientlookup(), number of clients = 1
Looking for client 0 A0 24 6C 63 39
Client found
reading file /rplboot/192.168.1.35.hw.com, seeking to 0
SEND FILE REQUEST received
Entered clientlookup(), number of clients = 1
Looking for client 0 A0 24 6C 63 39
Client found
SEND FILE REQUEST received
(...)
Entered clientlookup(), number of clients = 1
Looking for client 0 A0 24 6C 63 39
Client found
reading file /rplboot/192.168.1.35.glue.com, seeking to 0
SEND FILE REQUEST received
(...)
Entered clientlookup(), number of clients = 1
Looking for client 0 A0 24 6C 63 39
Client found
reading file /rplboot/192.168.1.35.inetboot, seeking to 136785
SEND FILE REQUEST received
(...)
SEND FILE REQUEST received
Entered clientlookup(), number of clients = 1
Looking for client 0 A0 24 6C 63 39
Client found
reading file /rplboot/192.168.1.35.inetboot, seeking to 142657
Current file reaches eof, closing
All files downloaded, update state to ST_SEND_FINAL
SEND FILE REQUEST received
Entered clientlookup(), number of clients = 1
Looking for client 0 A0 24 6C 63 39
Client found
Invalid status 1 when SEND FILE comes in
sending down the last frame
removing client 0 A0 24 6C 63 3
-
Ich konnte zumindest in die interaktive Installation einsteigen. Weit gekommen bin ich damit nicht. Der hängt bei der Konfiguration der Devices bzw. beim Laden von Treibern ...
(...)
Habe noch keine Idee warum. Gebootet habe ich mit dem Driver Update 10 (DU10) Boot-Disks. Ggf. ist beim Kopieren der S2-Slice unter Linux auch was schiefgegangen. (...)
Habe wohl beim add_install_client was falsch gemacht...
# cat /etc/bootparams
scenic root=jumper:/export/install/2_4_x86/export/exec/kvm/i386.i86pc.Solaris_2.4 install=jumper:/export/install boottype=:in (...)
Sollte eigentlich auf /export/install/2_4_x86 verweisen :-\
# rm /etc/ethers /etc/bootparams
# rm -Rf /rplboot
# cd /export/install/2_4_x86 && ./add_install_client -e "0:a0:24:6c:63:39" -s "jumper:/export/install/2_4_x86" scenic i86pc
Warning: no interface configured for subnet 192.168.1.0
Adding Ethernet number for scenic to /etc/ethers
making /rplboot
saving original /etc/dfs/dfstab in /etc/dfs/dfstab.orig
Adding "share -F nfs -o ro,anon=0 /export/install/2_4_x86" to /etc/dfs/dfstab
starting rpld
starting rarpd
starting bootparamd
updating /etc/bootparams
copying inetboot to /rplboot
# share
- /export/install/2_4_x86 ro,anon=0 ""
# reboot
Derweil habe ich beim Suchen auch noch sowas hier gefunden:
https://community.oracle.com/thread/1912367?start=0&tstart=0 (https://community.oracle.com/thread/1912367?start=0&tstart=0)
Alternativ könnte man es mal mit Linux probieren:
http://hintshop.ludvig.co.nz/show/solaris-jumpstart-linux-server/ (http://hintshop.ludvig.co.nz/show/solaris-jumpstart-linux-server/)
Oder...
https://github.com/snltd/Gentle-Jumpstart (https://github.com/snltd/Gentle-Jumpstart)
@Volker: meintest du sowas?
Im Moment werde noch ein wenig "forschen" bis ich mich auf Alternativlösungen oder gar dein Einbau eines CD-ROM Laufwerkes stürze.
-
Nach der Anpassung mit dem NFS-Share sieht nun das rpld.log "sauberer" aus:
# tail -f /var/spool/rpld.log
Sending DL_BIND_REQ to ethernet driver
Need to link LLC under /dev/pcn
Opening /dev/llc1 for SAP FC
Linking /dev/pcn underneath /dev/llc1 FC case
setting PPA to 0
Sending DL_ATTACH_REQ to /dev/llc1 FC
Sending DL_BIND_REQ to /dev/llc1 FC
setting RPL multicast address
Tue Jul 19 19:41:33 2016
Start listening to RPL requests ...
FIND frame received
host is scenic
Entered clientlookup(), number of clients = 0
No clients yet, returning
There are 3 bootfiles for this client
Sending out FOUND Frame
SEND FILE REQUEST received
Entered clientlookup(), number of clients = 1
Looking for client 0 A0 24 6C 63 39
Client found
reading file /rplboot/192.168.1.35.hw.com, seeking to 0
reading file /rplboot/192.168.1.35.hw.com, seeking to 1468
reading file /rplboot/192.168.1.35.hw.com, seeking to 2936
reading file /rplboot/192.168.1.35.hw.com, seeking to 4404
reading file /rplboot/192.168.1.35.hw.com, seeking to 5872
reading file /rplboot/192.168.1.35.hw.com, seeking to 7340
reading file /rplboot/192.168.1.35.hw.com, seeking to 8808
reading file /rplboot/192.168.1.35.hw.com, seeking to 10276
reading file /rplboot/192.168.1.35.hw.com, seeking to 11744
reading file /rplboot/192.168.1.35.hw.com, seeking to 13212
Current file reaches eof, closing
reading file /rplboot/192.168.1.35.glue.com, seeking to 0
reading file /rplboot/192.168.1.35.glue.com, seeking to 1468
reading file /rplboot/192.168.1.35.glue.com, seeking to 2936
reading file /rplboot/192.168.1.35.glue.com, seeking to 4404
reading file /rplboot/192.168.1.35.glue.com, seeking to 5872
reading file /rplboot/192.168.1.35.glue.com, seeking to 7340
Current file reaches eof, closing
reading file /rplboot/192.168.1.35.inetboot, seeking to 0
reading file /rplboot/192.168.1.35.inetboot, seeking to 1468
reading file /rplboot/192.168.1.35.inetboot, seeking to 2936
reading file /rplboot/192.168.1.35.inetboot, seeking to 4404
reading file /rplboot/192.168.1.35.inetboot, seeking to 5872
reading file /rplboot/192.168.1.35.inetboot, seeking to 7340
reading file /rplboot/192.168.1.35.inetboot, seeking to 8808
reading file /rplboot/192.168.1.35.inetboot, seeking to 10276
reading file /rplboot/192.168.1.35.inetboot, seeking to 11744
reading file /rplboot/192.168.1.35.inetboot, seeking to 13212
reading file /rplboot/192.168.1.35.inetboot, seeking to 14680
reading file /rplboot/192.168.1.35.inetboot, seeking to 16148
reading file /rplboot/192.168.1.35.inetboot, seeking to 17616
reading file /rplboot/192.168.1.35.inetboot, seeking to 19084
reading file /rplboot/192.168.1.35.inetboot, seeking to 20552
reading file /rplboot/192.168.1.35.inetboot, seeking to 22020
reading file /rplboot/192.168.1.35.inetboot, seeking to 23488
reading file /rplboot/192.168.1.35.inetboot, seeking to 24956
reading file /rplboot/192.168.1.35.inetboot, seeking to 26424
reading file /rplboot/192.168.1.35.inetboot, seeking to 27892
reading file /rplboot/192.168.1.35.inetboot, seeking to 29360
reading file /rplboot/192.168.1.35.inetboot, seeking to 30828
reading file /rplboot/192.168.1.35.inetboot, seeking to 32296
reading file /rplboot/192.168.1.35.inetboot, seeking to 33764
reading file /rplboot/192.168.1.35.inetboot, seeking to 35232
reading file /rplboot/192.168.1.35.inetboot, seeking to 36700
reading file /rplboot/192.168.1.35.inetboot, seeking to 38168
reading file /rplboot/192.168.1.35.inetboot, seeking to 39636
reading file /rplboot/192.168.1.35.inetboot, seeking to 41104
reading file /rplboot/192.168.1.35.inetboot, seeking to 42572
reading file /rplboot/192.168.1.35.inetboot, seeking to 44040
reading file /rplboot/192.168.1.35.inetboot, seeking to 45508
reading file /rplboot/192.168.1.35.inetboot, seeking to 46976
reading file /rplboot/192.168.1.35.inetboot, seeking to 48444
reading file /rplboot/192.168.1.35.inetboot, seeking to 49912
reading file /rplboot/192.168.1.35.inetboot, seeking to 51380
reading file /rplboot/192.168.1.35.inetboot, seeking to 52848
reading file /rplboot/192.168.1.35.inetboot, seeking to 54316
reading file /rplboot/192.168.1.35.inetboot, seeking to 55784
reading file /rplboot/192.168.1.35.inetboot, seeking to 57252
reading file /rplboot/192.168.1.35.inetboot, seeking to 58720
reading file /rplboot/192.168.1.35.inetboot, seeking to 60188
reading file /rplboot/192.168.1.35.inetboot, seeking to 61656
reading file /rplboot/192.168.1.35.inetboot, seeking to 63124
reading file /rplboot/192.168.1.35.inetboot, seeking to 64592
reading file /rplboot/192.168.1.35.inetboot, seeking to 66060
reading file /rplboot/192.168.1.35.inetboot, seeking to 67528
reading file /rplboot/192.168.1.35.inetboot, seeking to 68996
reading file /rplboot/192.168.1.35.inetboot, seeking to 70464
reading file /rplboot/192.168.1.35.inetboot, seeking to 71932
reading file /rplboot/192.168.1.35.inetboot, seeking to 73400
reading file /rplboot/192.168.1.35.inetboot, seeking to 74868
reading file /rplboot/192.168.1.35.inetboot, seeking to 76336
reading file /rplboot/192.168.1.35.inetboot, seeking to 77804
reading file /rplboot/192.168.1.35.inetboot, seeking to 79272
reading file /rplboot/192.168.1.35.inetboot, seeking to 80740
reading file /rplboot/192.168.1.35.inetboot, seeking to 82208
reading file /rplboot/192.168.1.35.inetboot, seeking to 83676
reading file /rplboot/192.168.1.35.inetboot, seeking to 85144
reading file /rplboot/192.168.1.35.inetboot, seeking to 86612
reading file /rplboot/192.168.1.35.inetboot, seeking to 88080
reading file /rplboot/192.168.1.35.inetboot, seeking to 89548
reading file /rplboot/192.168.1.35.inetboot, seeking to 91016
reading file /rplboot/192.168.1.35.inetboot, seeking to 92484
reading file /rplboot/192.168.1.35.inetboot, seeking to 93952
reading file /rplboot/192.168.1.35.inetboot, seeking to 95420
reading file /rplboot/192.168.1.35.inetboot, seeking to 96888
reading file /rplboot/192.168.1.35.inetboot, seeking to 98356
reading file /rplboot/192.168.1.35.inetboot, seeking to 99824
reading file /rplboot/192.168.1.35.inetboot, seeking to 101292
reading file /rplboot/192.168.1.35.inetboot, seeking to 102760
reading file /rplboot/192.168.1.35.inetboot, seeking to 104228
reading file /rplboot/192.168.1.35.inetboot, seeking to 105696
reading file /rplboot/192.168.1.35.inetboot, seeking to 107164
reading file /rplboot/192.168.1.35.inetboot, seeking to 108632
reading file /rplboot/192.168.1.35.inetboot, seeking to 110100
reading file /rplboot/192.168.1.35.inetboot, seeking to 111568
reading file /rplboot/192.168.1.35.inetboot, seeking to 113036
reading file /rplboot/192.168.1.35.inetboot, seeking to 114504
reading file /rplboot/192.168.1.35.inetboot, seeking to 115972
reading file /rplboot/192.168.1.35.inetboot, seeking to 117440
reading file /rplboot/192.168.1.35.inetboot, seeking to 118908
reading file /rplboot/192.168.1.35.inetboot, seeking to 120376
reading file /rplboot/192.168.1.35.inetboot, seeking to 121844
reading file /rplboot/192.168.1.35.inetboot, seeking to 123312
reading file /rplboot/192.168.1.35.inetboot, seeking to 124780
reading file /rplboot/192.168.1.35.inetboot, seeking to 126248
reading file /rplboot/192.168.1.35.inetboot, seeking to 127716
reading file /rplboot/192.168.1.35.inetboot, seeking to 129184
reading file /rplboot/192.168.1.35.inetboot, seeking to 130652
reading file /rplboot/192.168.1.35.inetboot, seeking to 132120
reading file /rplboot/192.168.1.35.inetboot, seeking to 133588
reading file /rplboot/192.168.1.35.inetboot, seeking to 135056
reading file /rplboot/192.168.1.35.inetboot, seeking to 136524
reading file /rplboot/192.168.1.35.inetboot, seeking to 137992
reading file /rplboot/192.168.1.35.inetboot, seeking to 139460
reading file /rplboot/192.168.1.35.inetboot, seeking to 140928
reading file /rplboot/192.168.1.35.inetboot, seeking to 142396
reading file /rplboot/192.168.1.35.inetboot, seeking to 143864
Current file reaches eof, closing
All files downloaded, update state to ST_SEND_FINAL
sending down the last frame
removing client 0 A0 24 6C 63 39
Es kommen zwar noch Fehlermeldungen der Art...WARNING: forceload of drv/<foo> failed
Configuring the /devices directory
Configuring the /dev directory
...aber nach ca 5 Minuten erscheint die "gewohnte", blaue Anzeige mit der roten Titelleiste "The Solaris Installation Program" sowie der grünen Fußzeile "F2 Continue F6 Help"
Morgen geht es dann weiter, da ich mich erst mal in die folgenden zwei Manuals einlesen muss:
- Solaris 2.4 x86 Driver Update 10 Guide
- Solaris 2.4 x86 Video Driver Update 10 Guide
Patches lässt sich das installierte Image /export/install/2_4_x86 wohl nicht mit dem Recommended Patch Cluster, oder?
Zumindest habe ich dazu nichts im Manual gefunden. Allerdings gibt es ein Verzeichnis "Patches". Wenn ich da das Patch-Cluster ablege...?
-
Moin! Schön, daß Du weitergekommen bist.
- Dieses GentleJumpstart kenne ich nicht. Und mit Linux mußt Du erstmal am Linux basteln. Ich meinte "ganz von Hand", also bootparams editieren, Link in /tftpboot anlegen, usw.
- Die forceload-Meldungen beim Installieren sind normal und harmlos.
- Das Install-Image kann man im Prinzip patchen, würde ich aber von abraten. Lieber "normal" installieren und danach das laufende System patchen. Nicht alle Scripte in den alten Paketen verkraften das Patchen mit -R.
Gruß -- Volker
-
Nun konnte ich zwar die Installation anstoßen, aber nicht zum Abschluß bringen.
Grund: das Paket SUNWcsr (Core Solaris - Root) ist anscheinend nicht konsistent.
Infos zum Paket aus der Datei SUNWcsr/pkginfo
sx@jumper:~/cdrom/Solaris_2.4 $ cat /export/install/2_4_x86/Solaris_2.4/SUNWcsr/pkginfo
PKG=SUNWcsr
NAME=Core Solaris, (Root)
ARCH=i386
VERSION=11.5.1,REV=94.07.18.19.02
PRODNAME=SunOS
PRODVERS=5.4/fcs_d
SUNW_PKGTYPE=root
MAXINST=1000
CATEGORY=system
DESC=Core Solaris, (Root)
VENDOR=Sun Microsystems, Inc.
HOTLINE=Please contact your local service provider
EMAIL=
CLASSES=none cronroot passwd nametomajor devlinktab tiservices renamenew preserve minorperm inetdconf iuap etcsystem tzonecvt drvalias kclasses etcremote nsswitch netconfig deflogin defsu syslogconf ttysrch group
BASEDIR=/
PSTAMP=predator940719021708
FCS (First Customer Shipment) :-[
Auszug "Solaris Installation Console"
Beginning Solaris package installation...
Solaris 2.4 software package installation part
Solaris 2.4 packages partially installed:
SUNWcsr
Customizing system files:
- Local mount points (/etc/vfstab)
cp: cannot access /a/etc/vfstab
ERROR: Could not create the file system mount
Install failed. See /tmp/install_log for more
#
Auszug aus dem Installaltionsprotokoll /tmp/install_log
Insatllation of <SUNWcsu> was successful.
10422 blocks
pkgadd: ERROR: source path </cdrom/Solaris_2.4/SUNWcsr/reloc/var/spool/cron/crontabs/root> is corrupt
pathname does not exist
ERROR: attribute verifaction of </a/var/spool/cron/crontabs/root> failed
pathname does not exist
(...)
Und was jetzt? SUNWcsr patchen? Ich probiere es mal.
Hat ggf noch jemand ein ISO Version aktueller als die FSC?
-
Das sieht schlecht aus. SUNWcsr partially installed -- das kann nicht funktionieren. Die vfstab-Meldung ist vermutlich ein Folgefehler.
Ist denn auf Deinem Installserver die als "source path" angegebene Datei vorhanden?
Gruß -- Volker
-
Ja das Verzeichnis SUNWcsr inklusiver "aller" Dateien vom ISO-Medium ist unterhalb /export/install/2_4_x86/Solaris_2.4 vorhanden.
Belegungs-technisch zeigt der mir sowohl auf den ISO als auch im Dateisystem 3,4 MB an.
Ich versuche mal die Patches drüberzujubeln (patchadd -C). Mal sehen ob das was bringt. Warum muss das auch eine FCS-Version sein? ???
Zwischenzeitlich habe ich eine Installion mit Solaris 2.6 durchgeführt: ohne Probleme.
Aber wer will schon Solaris 2.6, wenn man 2.4 nehmen kann. ;D
EDIT:
Mit patchadd klappt das so nicht.
# pwd
/home/sx/2.4_x86_Recommended
# patchadd -dunt -M $(pwd) 101946-46 /export/install/2_4_x86/
Transition old-style patching.
The patch or patch_list 101946-46 cannot be found in
/home/sx/2.4_x86_Recommended.
Patchadd is terminating.
# du -sh /export/install/2_4_x86/Solaris_2.4/SUNWcsr
3,4M /export/install/2_4_x86/Solaris_2.4/SUNWcsr
# ls -l /export/install/2_4_x86/Solaris_2.4/SUNWcsr
total 6788
drwxr-xr-x 2 root staff 1024 Jul 18 1994 install
-rw-rw-r-- 1 root staff 528 Jul 18 1994 pkginfo
-rw-rw-r-- 1 root other 23140 Aug 3 1994 pkgmap
drwxr-xr-x 4 root staff 512 Aug 3 1994 reloc
-rw-r--r-- 1 root other 3435310 Aug 3 1994 reloc.cpio.Z
# for d in $(find . -type d -name SUNWcsr | sort) ; do du -sh $d ; ls -l $d ; echo "----" ; done
3,6M ./101946-64/SUNWcsr
total 12
drwxr-xr-x 2 sx sx 512 Jan 5 2002 install
-rwxr-xr-x 1 sx sx 571 Jan 5 2002 pkginfo
-rwxr-xr-x 1 sx sx 2761 Jan 5 2002 pkgmap
drwxr-xr-x 5 sx sx 512 Jan 5 2002 reloc
----
(weitere Patches ausgeblended)
Patch 101946-64 scheint das komplette Paket zu sein und fcs_d hat ggf nichts mit First Customer Shipment zu tun.
Der Aufbau der Pakete vom Installationsmedium (CD ISO) sowie Patch unterscheidet sich (u.a reloc.cpio.Z, Inhalt Verz. install).
Paket-Merge möglich?
Am Ende liegt lässt sich das nur über Netz nicht installieren. Aber noch gebe ich nicht auf...
-
(...) Ist denn auf Deinem Installserver die als "source path" angegebene Datei vorhanden?
An sich ja, z.B.
# ls -l /export/install/2_4_x86/Solaris_2.4/SUNWcsr/reloc/var/spool/cron/crontabs/root
-rw-rw-r-- 1 root staff 405 Dez 31 1969 /export/install/2_4_x86/Solaris_2.4/SUNWcsr/reloc/var/spool/cron/crontabs/root
Bei der Netzinstallation wird dann der Share auf dem Install-Client unterhalb /cdrom eingehangen.
Was auch interessant ist, der Zeitstempel datiert auf vor 01.01.1970, also vor UNIX-Zeit.
# find . -type f | xargs ls -l | grep "Dez 31 1969"
-r-xr-xr-x 1 root sys 6913 Dez 31 1969 ./export/exec/i386.Solaris_2.4/sbin/mountall
-rwxr-xr-x 1 root sys 3698 Dez 31 1969 ./export/exec/i386.Solaris_2.4/sbin/shutdown
-r-xr-xr-x 1 root sys 3230 Dez 31 1969 ./export/exec/i386.Solaris_2.4/sbin/umountall
-rw-rw-r-- 1 root staff 45 Dez 31 1969 ./Solaris_2.4/SUNWcsr/reloc/etc/cron.d/at.deny
-rw-rw-r-- 1 root staff 45 Dez 31 1969 ./Solaris_2.4/SUNWcsr/reloc/etc/cron.d/cron.deny
-rw-rw-r-- 1 root staff 4991 Dez 31 1969 ./Solaris_2.4/SUNWcsr/reloc/etc/devlink.tab
-rw-rw-r-- 1 root staff 232 Dez 31 1969 ./Solaris_2.4/SUNWcsr/reloc/etc/dfs/dfstab
-rw-rw-r-- 1 root staff 262 Dez 31 1969 ./Solaris_2.4/SUNWcsr/reloc/etc/group
-rw-rw-r-- 1 root staff 48 Dez 31 1969 ./Solaris_2.4/SUNWcsr/reloc/etc/ioctl.syscon
-rw-rw-r-- 1 root staff 477 Dez 31 1969 ./Solaris_2.4/SUNWcsr/reloc/etc/passwd
-rw-rw-r-- 1 root staff 230 Dez 31 1969 ./Solaris_2.4/SUNWcsr/reloc/etc/shadow
-rw-rw-r-- 1 root staff 1408 Dez 31 1969 ./Solaris_2.4/SUNWcsr/reloc/etc/ttysrch
-rw-rw-r-- 1 root staff 235 Dez 31 1969 ./Solaris_2.4/SUNWcsr/reloc/etc/vfstab
-rw-rw-r-- 1 root staff 190 Dez 31 1969 ./Solaris_2.4/SUNWcsr/reloc/var/spool/cron/crontabs/adm
-rw-rw-r-- 1 root staff 405 Dez 31 1969 ./Solaris_2.4/SUNWcsr/reloc/var/spool/cron/crontabs/root
-rw-rw-r-- 1 root staff 308 Dez 31 1969 ./Solaris_2.4/SUNWcsr/reloc/var/spool/cron/crontabs/sys
Ggf. hat der damit Probleme und geht desshalb davon aus, dass die Dateien korrupt wären.
Ich setze das Datum für die Pre-UNIX datierten Dateien mal auf den 15.07.1994, 12:00 (irgendeiner Zeitzone):
# for f in $(find . -type f | xargs ls -l | grep "Dez 31 1969" | awk '{print $NF}') ; do touch -t 199407151200 $f ; ls -l $f ; done
-r-xr-xr-x 1 root sys 6913 Jul 15 1994 ./export/exec/i386.Solaris_2.4/sbin/mountall
-rwxr-xr-x 1 root sys 3698 Jul 15 1994 ./export/exec/i386.Solaris_2.4/sbin/shutdown
-r-xr-xr-x 1 root sys 3230 Jul 15 1994 ./export/exec/i386.Solaris_2.4/sbin/umountall
-rw-rw-r-- 1 root staff 45 Jul 15 1994 ./Solaris_2.4/SUNWcsr/reloc/etc/cron.d/at.deny
-rw-rw-r-- 1 root staff 45 Jul 15 1994 ./Solaris_2.4/SUNWcsr/reloc/etc/cron.d/cron.deny
-rw-rw-r-- 1 root staff 4991 Jul 15 1994 ./Solaris_2.4/SUNWcsr/reloc/etc/devlink.tab
-rw-rw-r-- 1 root staff 232 Jul 15 1994 ./Solaris_2.4/SUNWcsr/reloc/etc/dfs/dfstab
-rw-rw-r-- 1 root staff 262 Jul 15 1994 ./Solaris_2.4/SUNWcsr/reloc/etc/group
-rw-rw-r-- 1 root staff 48 Jul 15 1994 ./Solaris_2.4/SUNWcsr/reloc/etc/ioctl.syscon
-rw-rw-r-- 1 root staff 477 Jul 15 1994 ./Solaris_2.4/SUNWcsr/reloc/etc/passwd
-rw-rw-r-- 1 root staff 230 Jul 15 1994 ./Solaris_2.4/SUNWcsr/reloc/etc/shadow
-rw-rw-r-- 1 root staff 1408 Jul 15 1994 ./Solaris_2.4/SUNWcsr/reloc/etc/ttysrch
-rw-rw-r-- 1 root staff 235 Jul 15 1994 ./Solaris_2.4/SUNWcsr/reloc/etc/vfstab
-rw-rw-r-- 1 root staff 190 Jul 15 1994 ./Solaris_2.4/SUNWcsr/reloc/var/spool/cron/crontabs/adm
-rw-rw-r-- 1 root staff 405 Jul 15 1994 ./Solaris_2.4/SUNWcsr/reloc/var/spool/cron/crontabs/root
-rw-rw-r-- 1 root staff 308 Jul 15 1994 ./Solaris_2.4/SUNWcsr/reloc/var/spool/cron/crontabs/sys
Ich probiere es mit der Installation nochmal, auch wenn ich mir das Solaris 2.6 damit weghaue. Egal, habe ja eh noch nix weiter damit angestellt.
-
Das war es! Jetzt lässt sich Solaris 2.4 ohne Probleme installieren.
Damit hätte ich einen vollwärtigen Install-Server für u.a. Solaris 2.4, 2.6 für x86 (INTEL) in einer VM unter Solaris 10 am Start.
Cool. 8)
EDIT: Test Remote-Login mittels - oh my god - telnet
sx@inovo:~$ telnet 192.168.1.35
Trying 192.168.1.35...
Connected to 192.168.1.35.
Escape character is '^]'.
UNIX(r) System V Release 4.0 (scenic)
login: sx
Password:
Last login: Mon Jul 26 18:32:35 from 192.168.1.9
Sun Microsystems Inc. SunOS 5.4 Generic July 1994
$ uname -a
SunOS scenic 5.4 generic i86pc i386
$ date
Mon Jul 26 18:36:07 GMT 1999
Ja, habe zur Sicherheit auch bei der Installation ein Datum vor 2000 gewählt. Wer weiß... ;)
-
Herzlichen Glückwunsch! Ist ja lustig, daß es am Zeitstempel lag... war vermutlich Deine Kopier-Methode.
Du kannst den Dateien auch die "richtigen" Zeitstempel geben, die stehen ja in der "pkgmap"-Datei (als Sekunden nach der Epoch) drin. Mit einem kleinen Perl-Script ist das schnell gemacht. :-)
Gruß,
Volker
-
Danke aber mit meiner Kopier-Methode hatte das leider nichts zu tun.
Ich hatte nochmals von vorn begonnen und das reguläre Skript setup_install_server. welches auf dem mit lofiadm gemounteten ISO-Medium enthalten war, verwendet.
siehe hier...das Problem besteht schon beim einbinden (mount) ... Vermutung: TZ< [UTC/GMT-0] (negativ)
# lofiadm -a /home/sx/solaris_2.4_x86.iso
/dev/lofi/1
# mount -o ro -F hsfs /dev/lofi/1 /mnt
# mount | grep "^\/mnt"
/mnt on /dev/lofi/1 read only/setuid/devices/rstchown/noglobal/maplcase/rr/traildot/dev=2400001 on Sa Jul 30 22:46:35 2016
# cd /mnt
# ls -l
total 184
-rwxr-xr-x 1 root bin 42942 Jul 22 1994 add_install_client
drwxr-xr-x 2 root other 2048 Aug 3 1994 archinfo
drwxr-xr-x 3 bin bin 2048 Aug 3 1994 auto_install_sample
-rw-r--r-- 1 root other 6999 Aug 3 1994 Copyright
drwxr-xr-x 3 root other 2048 Aug 3 1994 export
drwxr-xr-x 14 root bin 2048 Okt 18 1994 Patches
drwxr-xr-x 4 root bin 2048 Aug 3 1994 Posix.2
-rwxr-xr-x 1 root bin 12298 Jul 22 1994 rm_install_client
-rwxr-xr-x 1 root bin 6381 Jul 22 1994 setup_install_server
drwxr-xr-x 108 root other 14336 Aug 3 1994 Solaris_2.4
# find . -type f | xargs ls -E | grep "1969-12-31"
-r-xr-xr-x 1 root sys 6913 1969-12-31 17:00:00.000000000 +0100 ./export/exec/i386.Solaris_2.4/sbin/mountall
-rwxr-xr-x 1 root sys 3698 1969-12-31 17:00:00.000000000 +0100 ./export/exec/i386.Solaris_2.4/sbin/shutdown
-r-xr-xr-x 1 root sys 3230 1969-12-31 17:00:00.000000000 +0100 ./export/exec/i386.Solaris_2.4/sbin/umountall
-rw-rw-r-- 1 root staff 45 1969-12-31 17:00:00.000000000 +0100 ./Solaris_2.4/SUNWcsr/reloc/etc/cron.d/at.deny
-rw-rw-r-- 1 root staff 45 1969-12-31 17:00:00.000000000 +0100 ./Solaris_2.4/SUNWcsr/reloc/etc/cron.d/cron.deny
-rw-rw-r-- 1 root staff 4991 1969-12-31 17:00:00.000000000 +0100 ./Solaris_2.4/SUNWcsr/reloc/etc/devlink.tab
-rw-rw-r-- 1 root staff 232 1969-12-31 17:00:00.000000000 +0100 ./Solaris_2.4/SUNWcsr/reloc/etc/dfs/dfstab
-rw-rw-r-- 1 root staff 262 1969-12-31 17:00:00.000000000 +0100 ./Solaris_2.4/SUNWcsr/reloc/etc/group
-rw-rw-r-- 1 root staff 48 1969-12-31 17:00:00.000000000 +0100 ./Solaris_2.4/SUNWcsr/reloc/etc/ioctl.syscon
-rw-rw-r-- 1 root staff 477 1969-12-31 17:00:00.000000000 +0100 ./Solaris_2.4/SUNWcsr/reloc/etc/passwd
-rw-rw-r-- 1 root staff 230 1969-12-31 17:00:00.000000000 +0100 ./Solaris_2.4/SUNWcsr/reloc/etc/shadow
-rw-rw-r-- 1 root staff 1408 1969-12-31 17:00:00.000000000 +0100 ./Solaris_2.4/SUNWcsr/reloc/etc/ttysrch
-rw-rw-r-- 1 root staff 235 1969-12-31 17:00:00.000000000 +0100 ./Solaris_2.4/SUNWcsr/reloc/etc/vfstab
-rw-rw-r-- 1 root staff 190 1969-12-31 17:00:00.000000000 +0100 ./Solaris_2.4/SUNWcsr/reloc/var/spool/cron/crontabs/adm
-rw-rw-r-- 1 root staff 405 1969-12-31 17:00:00.000000000 +0100 ./Solaris_2.4/SUNWcsr/reloc/var/spool/cron/crontabs/root
-rw-rw-r-- 1 root staff 308 1969-12-31 17:00:00.000000000 +0100 ./Solaris_2.4/SUNWcsr/reloc/var/spool/cron/crontabs/sys
Sechs Stunden - UTC/GMT+6! In den USA hätte ich wohl keine Probleme gehabt. ???
:o
# for f in $(find . -type f | xargs ls -E | grep "1969-12-31" | awk '{print $NF}' | cut -d"/" -f3-7) ; do ut=$(grep "$f" pkgmap | awk '{print $NF}') ; ts=$(perl -le "print scalar localtime $ut") ; echo "$ts $f" ; done
Thu Jan 1 09:00:00 1970 etc/cron.d/at.deny
Thu Jan 1 09:00:00 1970 etc/cron.d/cron.deny
Thu Jan 1 09:00:00 1970 etc/devlink.tab
Thu Jan 1 09:00:00 1970 etc/dfs/dfstab
Thu Jan 1 09:00:00 1970 etc/group
Thu Jan 1 09:00:00 1970 etc/ioctl.syscon
Thu Jan 1 09:00:00 1970 etc/passwd
Thu Jan 1 09:00:00 1970 etc/shadow
Thu Jan 1 09:00:00 1970 etc/ttysrch
Thu Jan 1 09:00:00 1970 etc/vfstab
Thu Jan 1 09:00:00 1970 var/spool/cron/crontabs/adm
Thu Jan 1 09:00:00 1970 var/spool/cron/crontabs/root
Thu Jan 1 09:00:00 1970 var/spool/cron/crontabs/sys
-
Naja, dann sind wohl die Zeitstempel schon beim Paketieren kaputtgewesen... :-( Das mit 1969 ist das bekannte Problem mit der Epoch. Die beginnt am 01.01.1970 um 00:00 Uhr UTC, und da war es in Kalifornien halt noch 1969, nämlich sieben Stunden zurück. In sofern hättest Du in den USA dieselben Probleme gehabt. :-)
Die Idee mit den Patchen des Install-Images ist in diesem Fall also ganz gut, wenn denn die Zeitstempel im Patch-Paket heil sind. Aber letztendlich ist er wohl egal, "irgendwas um 1994" war eine gute Idee. Alles in allem ein originelles Phänomen.
Gruß -- Volker
-
Jetzt habe ich doch noch bzw wieder ein Problem.
Ich wollte mal für einen SPARC Client (SPARCstation 2) eine Netzwerkinstallation anstoßen, um zu sehen, dass es auch funktioniert. - Fehlanzeige!
Da stimmt was mit der TFTP-Konfiguration nicht.
Egal von welchem Client, ob innerhalb der VM, vom SPARC Client, vom Host der VM, bei jedem Versuch eine Datei zu laden bekomme ich...
# tftp localhost
tftp> binary
tftp> trace
Packet tracing on.
tftp> status
Connected to localhost.
Mode: octet Verbose: off Tracing: on
Rexmt-interval: 5 seconds, Max-timeout: 25 seconds
Transfer blocksize option: off
Server rexmt-interval option: off
Transfer size option: off
tftp> get inetboot.sun4c.Solaris_2.4
sent RRQ <file=inetboot.sun4c.Solaris_2.4, mode=octet>
received ERROR <code=2, msg=Access violation>
Error code 2: Access violation
Der Verbindungsaufbau ist ok, auch getestet mit anderen Diensten (telnet, ftp).
Einträge in /etc/bootparams, /etc/hosts, /etc/ethers, /etc/dfs/dfstab.conf liegen für den Client vor.
Und das witzige daran ist, bevor ich mit RPL für den x86 Install Server gearbeitet habe, funktionierte der TFTP-Zugriff ohne Probleme.
Ggf. muss ich die SMF-Konfiguration aktualisieren, da ich kurzzeitig das Root auf /rplboot umgebogen hatte. Damals war ich noch davon ausgegangen, dass für Intel auch TFTP benutzt wird und das Root-Verzeichnis ggf. anzupassen ist. Da hätte ich mich mal besser einlesen sollen. :-[
Folgende Konfiguration liegt aktuell vor:
# svcs -a | grep tftp
online 15:22:21 svc:/network/tftp/udp6:default
# ls -l /tftpboot/
total 344
lrwxrwxrwx 1 root root 26 Aug 11 14:19 C0A83C02 -> inetboot.sun4c.Solaris_2.4
lrwxrwxrwx 1 root root 26 Aug 11 14:19 C0A83C02.SUN4C -> inetboot.sun4c.Solaris_2.4
-rwxr-xr-x 1 root root 163188 Aug 11 14:19 inetboot.sun4c.Solaris_2.4
-rw-r--r-- 1 root root 522 Aug 11 14:19 rm.192.168.60.2
lrwxrwxrwx 1 root root 1 Aug 11 14:19 tftpboot -> .
# ls -ld /tftpboot/
drwxrwxr-x 2 root root 512 Aug 11 15:10 /tftpboot/
# tail -2 /etc/inetd.conf
# TFTPD - tftp server (primarily used for booting)
tftp dgram udp6 wait root /usr/sbin/in.tftpd in.tftpd -s /tftpboot
Ideen woran das liegen könnte?
-
Und das witzige daran ist, bevor ich mit RPL für den x86 Install Server gearbeitet habe, funktionierte der TFTP-Zugriff ohne Probleme.
Ggf. muss ich die SMF-Konfiguration aktualisieren, da ich kurzzeitig das Root auf /rplboot umgebogen hatte. Damals war ich noch davon ausgegangen, dass für Intel auch TFTP benutzt wird und das Root-Verzeichnis ggf. anzupassen ist. Da hätte ich mich mal besser einlesen sollen. :-[
... und so ist es ...
# inetadm -l network/tftp/udp6
SCOPE NAME=VALUE
name="tftp"
endpoint_type="dgram"
proto="udp6"
isrpc=FALSE
wait=TRUE
exec="/usr/sbin/in.tftpd -s /rplboot"
user="root"
default bind_addr=""
default bind_fail_max=-1
default bind_fail_interval=-1
default max_con_rate=-1
default max_copies=-1
default con_rate_offline=-1
default failrate_cnt=40
default failrate_interval=60
default inherit_env=TRUE
default tcp_trace=FALSE
default tcp_wrappers=FALSE
default connection_backlog=10
# inetadm -m network/tftp/udp6 exec="/usr/sbin/in.tftpd -s /tftpboot"
# inetadm -l network/tftp/udp6 | grep exec
exec="/usr/sbin/in.tftpd -s /tftpboot"
# svcadm restart network/tftp/udp6
# pwd
/root
# tftp localhost
tftp> get C0A83C02
Received 163823 bytes in 0.2 seconds
tftp> quit
# ls -l C0A83C02
-rw-r--r-- 1 root root 163188 Aug 11 22:09 C0A83C02
"Demenz, sei gegrüßt!" :'(
EDIT:
Die interaktive Netzwerk-Installation kann dann vom OBP über "boot net - install" angestoßen werden.
Dann sieht es in etwa so aus: https://youtu.be/dircODk9lq0 (https://youtu.be/dircODk9lq0)
-
Ja, das mit dem /tftpboot nervt. Neuerdings nehme ich wenn möglich immer /etc/netboot (so wie es S11 AI haben will) und lege für /tftpboot ein symlink an.
Klappt nur dann nicht, wenn man Sun Ray-Software hat, die unbedingt will, daß /tftpboot ein Directory ist...
Gruß -- Volker