Sunday, July 19, 2009


Disabling checksum offloading at install OSOL 2009.06 PV DomU on Xen 3.4.1 Ubuntu 9.04 Dom0 ( with 2.6.30.1 xenified aka Suse kernel)


Regardless bug with failure checksum offloading was fixed in SNV_81 , i.e. a while ago.
OpenSolaris 2009.06 PV DomU install at Xen 3.4.1 Linux Dom0 appears still to be affected. Wrong checksum may be easily captured via tcpdump on the LAN due to DHCPDISCOVER
request issued by OSOL installer is a broadcast request. Following bellow procedure
involves Solaris Kernel module debugger to patch OSOL's (SNV_111b) kernel at booting up
and succeed with dhcp lease to able proceed with initial install. File /etc/system gets
updated via root terminal session before standard reboot to make the patch for kernel
permanent. Posting is devoted first of all to Linux users , who are not aware of "kmdb"
syntax and involving into boot process.
Modified installation profile. (-kd) key is added to extra line :-

name = "sol0906"
vcpus = 1
memory = "1024"
kernel = "/home/boris/nevada/unix"
ramdisk = "/home/boris/nevada/x86.microroot"
extra = "/platform/i86xpv/kernel/amd64/unix -kd - nowin -B install_media=cdrom"
disk = ['phy:/dev/loop0,6:cdrom,r','phy:/dev/sda6,0,w']
vif = ['bridge=eth0']
on_shutdown = "destroy"
on_reboot = "destroy"
on_crash = "destroy"

Start install

root@ServerJaunty:/home/boris/nevada# xm create -c osol.install
Using config file "./osol.install".
Started domain osol.install (id=6)
Loading kmdb...
Welcome to kmdb
Loaded modules: [ unix krtld genunix ]
[0]> ::bp xnf`_init
[0]> :c
v3.4.1-rc7 chgset 'Wed Jul 15 13:26:50 2009 +0100 19696:22ef8e900a6d'
SunOS Release 5.11 Version snv_111b 64-bit
Copyright 1983-2009 Sun Microsystems, Inc. All rights reserved.
Use is subject to license terms.
Hostname: opensolaris
Remounting root read/write
Probing for device nodes ...
Loaded modules: [ scsi_vhci crypto mac neti xpv_psm ufs mpt zfs s1394 uhci hook
ip usba specfs md random sctp arp emlxs sockfs xpv_uppc ]
kmdb: stop at xnf`_init
kmdb: target stopped at:
xnf`_init: pushq %rbp
[0]> xnf_cksum_offload/W 0
xnf`xnf_cksum_offload: 0x1 = 0x0
[0]> :c
Preparing live image for use
Done mounting Live image
USB keyboard
1. Albanian 23. Lithuanian
2. Belarusian 24. Latvian
3. Belgian 25. Macedonian
4. Brazilian 26. Malta_UK
5. Bulgarian 27. Malta_US
6. Canadian-Bilingual 28. Norwegian
7. Croatian 29. Polish
8. Czech 30. Portuguese
9. Danish 31. Russian
10. Dutch 32. Serbia-And-Montenegro
11. Finnish 33. Slovenian
12. French 34. Slovakian
13. French-Canadian 35. Spanish
14. Hungarian 36. Swedish
15. German 37. Swiss-French
16. Greek 38. Swiss-German
17. Icelandic 39. Traditional-Chinese
18. Italian 40. TurkishQ
19. Japanese-type6 41. TurkishF
20. Japanese 42. UK-English
21. Korean 43. US-English
22. Latin-American
To select the keyboard layout, enter a number [default 43]:

1. Arabic
2. Chinese - Simplified
3. Chinese - Traditional
4. Czech
5. Dutch
6. English
7. French
8. German
9. Greek
10. Hebrew
11. Hungarian
12. Indonesian
13. Italian
14. Japanese
15. Korean
16. Polish
17. Portuguese - Brazil
18. Russian
19. Slovak
20. Spanish
21. Swedish
To select desktop language, enter a number [default is 6]:
User selected: English
Configuring devices.
Mounting cdroms
Reading ZFS config: done.
opensolaris console login: jack
Password:
Sun Microsystems Inc. SunOS 5.11 snv_111b November 2008
jack@opensolaris:~$ Jul 19 03:18:29 opensolaris in.routed[786]: route 0.0.0.0/8 --> 0.0.0.0 nexthop is not directly connected
jack@opensolaris:~$ pfexec ifconfig -a
lo0: flags=2001000849 mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
xnf0: flags=1004843 mtu 1500 index 2
inet 192.168.1.35 netmask ffffff00 broadcast 192.168.1.255
ether 0:16:3e:74:95:f
lo0: flags=2002000849 mtu 8252 index 1
inet6 ::1/128
xnf0: flags=2004841 mtu 1500 index 2
inet6 fe80::216:3eff:fe74:950f/10
ether 0:16:3e:74:95:f
jack@opensolaris:~$ cp .Xclients .vnc/xstartup
jack@opensolaris:~$ vncserver

Open an other terminal window and connect via vncviewer 192.168.1.35:1 to DomU
Go through normal install
At the end drop to root shell and add to /etc/system one line :-

set xnf:xnf_cksum_offload = 0

Then click "REBOOT" button

















Loading OSOL 2009.06 DomU