OpenSolaris

Discussions Communities Projects Download Source Browser

Home » OpenSolaris Forums » xen » discuss

Thread: How to boot xVM on a ZFS root file system?

Welcome, Guest Help
Login Login
Guest Settings Guest Settings
Reply to this Thread Reply to this Thread Search Forum Search Forum Back to Thread List Back to Thread List

Permlink Replies: 16 - Last Post: Oct 22, 2007 6:21 PM by: yongsun
yongsun

Posts: 207
From:

Registered: 6/15/05
How to boot xVM on a ZFS root file system?
Posted: Oct 19, 2007 5:45 AM
To: Communities » xen » discuss
Cc: Communities » zfs » discuss
  Click to reply to this thread Reply

Hi, guys,

I converted my rootfs to zfs, to boot via grub, I need add "-B $ZFS-BOOTFS" option, as following,

kernel$ /platform/i86pc/kernel/$ISADIR/unix -B $ZFS-BOOTFS

But I don't know how to set this parameter when I want to boot xVM?

title Solaris xVM
kernel$ /boot/$ISADIR/xen.gz
module$ /platform/i86xpv/kernel/$ISADIR/unix /platform/i86xpv/kernel/$ISADIR/unix

I tried to append "-B $ZFS-BOOTFS" on the "kernel" line and "module" line, but failed to mount the root file system.

Do you know how could I do this?

jkeil

Posts: 2,324
From: DE

Registered: 6/16/05
Re: How to boot xVM on a ZFS root file system?
Posted: Oct 19, 2007 6:16 AM   in response to: yongsun
To: Communities » xen » discuss
  Click to reply to this thread Reply

> I converted my rootfs to zfs, to boot via grub, I
> need add "-B $ZFS-BOOTFS" option, as following,
>
> kernel$ /platform/i86pc/kernel/$ISADIR/unix -B $ZFS-BOOTFS
>
> But I don't know how to set this parameter when I want to boot xVM?

Did you set the zpool's default "bootfs" property? If you didn't
(or you have multiple zfs boot filesystems on the pool),
you can also set it with the "bootfs" grub command, like this:

title Solaris Express Community Edition snv_66 X86 (b66, Xen dom0)
root (,0,g)
bootfs files/s11-root-xen
kernel$ /boot/$ISADIR/xen.gz
module$ /platform/i86xpv/kernel/$ISADIR/unix /platform/i86xpv/kernel/$ISADIR/unix -B $ZFS-BOOTFS -vk
module$ /platform/i86pc/$ISADIR/boot_archive


> I tried to append "-B $ZFS-BOOTFS" on the "kernel"
> line and "module" line, but failed to mount the root
> file system.

What is the exact error message? Is it from grub, or
from the Solaris kernel?

> Do you know how could I do this?

Note that you need grub from snv_75 or newer, otherwise
you can't boot xen from a zfs filesystem; this is bug 6584697,
Synopsis: Can't boot Xen / Solaris dom0 if root is using ZFS
http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6584697

mrj

Posts: 547
From: US

Registered: 3/9/05
Re: How to boot xVM on a ZFS root file system?
Posted: Oct 19, 2007 7:27 AM   in response to: jkeil

  Click to reply to this thread Reply



Jürgen Keil wrote:
>> I converted my rootfs to zfs, to boot via grub, I
>> need add "-B $ZFS-BOOTFS" option, as following,
>>
>> kernel$ /platform/i86pc/kernel/$ISADIR/unix -B $ZFS-BOOTFS
>>
>> But I don't know how to set this parameter when I want to boot xVM?
>
> Did you set the zpool's default "bootfs" property? If you didn't
> (or you have multiple zfs boot filesystems on the pool),
> you can also set it with the "bootfs" grub command, like this:
>
> title Solaris Express Community Edition snv_66 X86 (b66, Xen dom0)
> root (,0,g)
> bootfs files/s11-root-xen
> kernel$ /boot/$ISADIR/xen.gz
> module$ /platform/i86xpv/kernel/$ISADIR/unix /platform/i86xpv/kernel/$ISADIR/unix -B $ZFS-BOOTFS -vk
> module$ /platform/i86pc/$ISADIR/boot_archive
>
>
>> I tried to append "-B $ZFS-BOOTFS" on the "kernel"
>> line and "module" line, but failed to mount the root
>> file system.
>
> What is the exact error message? Is it from grub, or
> from the Solaris kernel?
>
>> Do you know how could I do this?
>
> Note that you need grub from snv_75 or newer, otherwise
> you can't boot xen from a zfs filesystem; this is bug 6584697,
> Synopsis: Can't boot Xen / Solaris dom0 if root is using ZFS
> http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6584697


stage2/builtins.c
--

module_dollar_func() looks wrong to me...

I wonder if
mb_cmdline += grub_strlen(cmdline_sav) + 1;

should be
mb_cmdline = cmdline_sav + grub_strlen(cmdline_sav) + 1;

since mb_cmdline is modified in module_func().




MRJ



--
Mark Johnson <mark dot johnson at sun dot com>
Sun Microsystems, Inc.
(781) 442-0869

_______________________________________________
xen-discuss mailing list
xen-discuss at opensolaris dot org


yongsun

Posts: 207
From:

Registered: 6/15/05
Re: How to boot xVM on a ZFS root file system?
Posted: Oct 19, 2007 7:45 AM   in response to: jkeil
To: Communities » xen » discuss
  Click to reply to this thread Reply

Hi, jkeil,

Thanks so much for the help. And my env is snv_75 x86.

Following is my grub configuration:

title Solaris xVM
bootfs rootpool/rootfs
kernel$ /boot/$ISADIR/xen.gz
module$ /platform/i86xpv/kernel/$ISADIR/unix /platform/i86xpv/kernel/$ISADIR/unix -B $ZFS-BOOTFS -vk
module$ /platform/i86pc/$ISADIR/boot_archive

The error messages I got were:

WARNING: init(1M) exited with fatal signal 9: restarting automatically
... ...
... ...
WARNING: init(1M) exited with fatal signal 9: restarting automatically

And the error message kept showing up, and can not stop.

Regards,

jkeil

Posts: 2,324
From: DE

Registered: 6/16/05
Re: How to boot xVM on a ZFS root file system?
Posted: Oct 19, 2007 10:20 AM   in response to: yongsun
To: Communities » xen » discuss
  Click to reply to this thread Reply

> The error messages I got were:
>
> WARNING: init(1M) exited with fatal signal 9:
> restarting automatically

Can you try to boot you standard solaris (non zfs root),
then manually mount your rootpool/rootfs at /mnt and
verify that these files exist and have the expected elf
hwcaps:

# mount -F zfs rootpool/rootfs /mnt

# file /mnt/sbin/init
/mnt/sbin/init: ELF 32-bit LSB executable 80386 Version 1 [FPU], dynamically linked, not stripped, no debugging information available

# file /mnt/lib/libpam.so.1
/mnt/lib/libpam.so.1: ELF 32-bit LSB dynamic lib 80386 Version 1, dynamically linked, not stripped, no debugging information available

# file /mnt/lib/libbsm.so.1
/mnt/lib/libbsm.so.1: ELF 32-bit LSB dynamic lib 80386 Version 1, dynamically linked, not stripped, no debugging information available

# file /mnt/lib/libcontract.so.1
/mnt/lib/libcontract.so.1: ELF 32-bit LSB dynamic lib 80386 Version 1, dynamically linked, not stripped, no debugging information available

# file /mnt/lib/libscf.so.1
/mnt/lib/libscf.so.1: ELF 32-bit LSB dynamic lib 80386 Version 1, dynamically linked, not stripped, no debugging information available

# file /mnt/lib/libc.so.1
/mnt/lib/libc.so.1: ELF 32-bit LSB dynamic lib 80386 Version 1 [CX8 FPU], dynamically linked, not stripped, no debugging information available

yongsun

Posts: 207
From:

Registered: 6/15/05
Re: How to boot xVM on a ZFS root file system?
Posted: Oct 19, 2007 5:06 PM   in response to: jkeil
To: Communities » xen » discuss
  Click to reply to this thread Reply

I have destroyed my ufs root slice. Here is the result I got from the running system, the only different one is the /lib/libc.so.1

file /lib/libc.so.1
/lib/libc.so.1: ELF 32-bit LSB dynamic lib 80386 Version 1 [SSE MMX CMOV SEP CX8 FPU], dynamically linked, not stripped, no debugging information available

My laptop has a dual-core intel processor.

$ psrinfo -vp
The physical processor has 2 virtual processors (0 1)
x86 (GenuineIntel 6F2 family 6 model 15 step 2 clock 1829 MHz)
Intel(r) Core(tm)2 CPU T5600 @ 1.83GHz

$ isainfo -v
64-bit amd64 applications
cx16 mon sse3 sse2 sse fxsr mmx cmov amd_sysc cx8 tsc fpu
32-bit i386 applications
ahf cx16 mon sse3 sse2 sse fxsr mmx cmov sep cx8 tsc fpu

null

sparcdr

Posts: 1,032
From: US

Registered: 3/24/06
Re: How to boot xVM on a ZFS root file system?
Posted: Oct 19, 2007 6:36 PM   in response to: yongsun

  Click to reply to this thread Reply

Yong Sun wrote:
> I have destroyed my ufs root slice. Here is the result I got from the running system, the only different one is the /lib/libc.so.1
>
> file /lib/libc.so.1
> /lib/libc.so.1: ELF 32-bit LSB dynamic lib 80386 Version 1 [SSE MMX CMOV SEP CX8 FPU], dynamically linked, not stripped, no debugging information available
>
> My laptop has a dual-core intel processor.
>
>
> This message posted from opensolaris.org
> _______________________________________________
> xen-discuss mailing list
> xen-discuss at opensolaris dot org
>
Tha's strange. All dual core Intel processors also have SSE2 and afaik
SSE3 also. Why aren't the flags showing up?

James
_______________________________________________
xen-discuss mailing list
xen-discuss at opensolaris dot org


awenas

Posts: 32
From:

Registered: 5/9/07
Re: How to boot xVM on a ZFS root file system?
Posted: Oct 19, 2007 7:27 PM   in response to: sparcdr

  Click to reply to this thread Reply

Hi James,

I'm running Intel Core 2 Duo, the flags are the same:
bash-3.2$ file /lib/libc.so.1
/lib/libc.so.1: ELF 32-bit LSB dynamic lib 80386 Version 1 [SSE MMX CMOV
SEP CX8 FPU], dynamically linked, not stripped, no debugging information
available

I can boot xVM (b75a) from zfs boot (compressed) without any problem.

Rgds,
Andre W.

James Cornell wrote:
> Yong Sun wrote:
>
>> I have destroyed my ufs root slice. Here is the result I got from the running system, the only different one is the /lib/libc.so.1
>>
>> file /lib/libc.so.1
>> /lib/libc.so.1: ELF 32-bit LSB dynamic lib 80386 Version 1 [SSE MMX CMOV SEP CX8 FPU], dynamically linked, not stripped, no debugging information available
>>
>> My laptop has a dual-core intel processor.
>>
>>
>> This message posted from opensolaris.org
>> _______________________________________________
>> xen-discuss mailing list
>> xen-discuss at opensolaris dot org
>>
>>
> Tha's strange. All dual core Intel processors also have SSE2 and afaik
> SSE3 also. Why aren't the flags showing up?
>
> James
> _______________________________________________
> xen-discuss mailing list
> xen-discuss at opensolaris dot org
>

_______________________________________________
xen-discuss mailing list
xen-discuss at opensolaris dot org


yongsun

Posts: 207
From:

Registered: 6/15/05
Re: How to boot xVM on a ZFS root file system?
Posted: Oct 19, 2007 7:33 PM   in response to: awenas

  Click to reply to this thread Reply

Hi, Andre,

Would you share your grub configuration? And I followed the instructions
on http://www.opensolaris.org/os/community/zfs/boot/zfsboot-manual/ to
setup my zfs boot. So my grub file is on /rootpool/boot/grub/menu.lst.

Regards,

Andre Wenas wrote:
> Hi James,
>
> I'm running Intel Core 2 Duo, the flags are the same:
> bash-3.2$ file /lib/libc.so.1
> /lib/libc.so.1: ELF 32-bit LSB dynamic lib 80386 Version 1 [SSE MMX
> CMOV SEP CX8 FPU], dynamically linked, not stripped, no debugging
> information available
>
> I can boot xVM (b75a) from zfs boot (compressed) without any problem.
>
> Rgds,
> Andre W.
>
> James Cornell wrote:
>> Yong Sun wrote:
>>
>>> I have destroyed my ufs root slice. Here is the result I got from
>>> the running system, the only different one is the /lib/libc.so.1
>>>
>>> file /lib/libc.so.1
>>> /lib/libc.so.1: ELF 32-bit LSB dynamic lib 80386 Version 1 [SSE MMX
>>> CMOV SEP CX8 FPU], dynamically linked, not stripped, no debugging
>>> information available
>>>
>>> My laptop has a dual-core intel processor.
>>>
>>>
>>> This message posted from opensolaris.org
>>> _______________________________________________
>>> xen-discuss mailing list
>>> xen-discuss at opensolaris dot org
>>>
>> Tha's strange. All dual core Intel processors also have SSE2 and afaik
>> SSE3 also. Why aren't the flags showing up?
>>
>> James
>> _______________________________________________
>> xen-discuss mailing list
>> xen-discuss at opensolaris dot org
>>
>

_______________________________________________
xen-discuss mailing list
xen-discuss at opensolaris dot org


awenas

Posts: 32
From:

Registered: 5/9/07
Re: How to boot xVM on a ZFS root file system?
Posted: Oct 21, 2007 2:23 AM   in response to: yongsun

  Click to reply to this thread Reply

Hi Yong Sun,

Here is my grub menu.lst:
# boot
title Solaris xVM 75 ZFS
root (hd0,2,e)
bootfs xenpool/snv_75
kernel$ /boot/$ISADIR/xen.gz
module$ /platform/i86xpv/kernel/$ISADIR/unix
/platform/i86xpv/kernel/$ISADIR/unix -B $ZFS-BOOTFS
module$ /platform/i86pc/$ISADIR/boot_archive

bash-3.2$ df -k /
Filesystem kbytes used avail capacity Mounted on
xenpool/snv_75 6451200 3220132 3055481 52% /

The filesystem is compressed:
bash-3.2$ zfs get compression xenpool/snv_75
NAME PROPERTY VALUE SOURCE
xenpool/snv_75 compression on local

bash-3.2$ zfs get compressratio xenpool/snv_75
NAME PROPERTY VALUE SOURCE
xenpool/snv_75 compressratio 1.74x -

/etc/vfstab:
xenpool/snv_75 - / zfs - no -

bash-3.2$ sudo xm list
Name ID Mem VCPUs State
Time(s)
Domain-0 0 1874 2 r----- 107.7

Based on experience few mistake that can cause zfs root doesn't work:
* Must use latest stage1 stage2 files when you do installgrub. Sometimes
when you install new build, you are still using old stage* files from
earlier build.
* Don't forget to set zfs mountpoint=legacy
* Wrong entry in vfstab
* Forget to modify /boot/solaris/filelist.ramdisk to include
/etc/zfs/zpool.cache
* Forget to re-create bootarchive.

Rgds,
Andre W.

Yong Sun wrote:
> Hi, Andre,
>
> Would you share your grub configuration? And I followed the instructions
> on http://www.opensolaris.org/os/community/zfs/boot/zfsboot-manual/ to
> setup my zfs boot. So my grub file is on /rootpool/boot/grub/menu.lst.
>
> Regards,
>
> Andre Wenas wrote:
>
>> Hi James,
>>
>> I'm running Intel Core 2 Duo, the flags are the same:
>> bash-3.2$ file /lib/libc.so.1
>> /lib/libc.so.1: ELF 32-bit LSB dynamic lib 80386 Version 1 [SSE MMX
>> CMOV SEP CX8 FPU], dynamically linked, not stripped, no debugging
>> information available
>>
>> I can boot xVM (b75a) from zfs boot (compressed) without any problem.
>>
>> Rgds,
>> Andre W.
>>
>> James Cornell wrote:
>>
>>> Yong Sun wrote:
>>>
>>>
>>>> I have destroyed my ufs root slice. Here is the result I got from
>>>> the running system, the only different one is the /lib/libc.so.1
>>>>
>>>> file /lib/libc.so.1
>>>> /lib/libc.so.1: ELF 32-bit LSB dynamic lib 80386 Version 1 [SSE MMX
>>>> CMOV SEP CX8 FPU], dynamically linked, not stripped, no debugging
>>>> information available
>>>>
>>>> My laptop has a dual-core intel processor.
>>>>
>>>>
>>>> This message posted from opensolaris.org
>>>> _______________________________________________
>>>> xen-discuss mailing list
>>>> xen-discuss at opensolaris dot org
>>>>
>>>>
>>> Tha's strange. All dual core Intel processors also have SSE2 and afaik
>>> SSE3 also. Why aren't the flags showing up?
>>>
>>> James
>>> _______________________________________________
>>> xen-discuss mailing list
>>> xen-discuss at opensolaris dot org
>>>
>>>
>
> _______________________________________________
> xen-discuss mailing list
> xen-discuss at opensolaris dot org
>

_______________________________________________
xen-discuss mailing list
xen-discuss at opensolaris dot org


yongsun

Posts: 207
From:

Registered: 6/15/05
Re: How to boot xVM on a ZFS root file system?
Posted: Oct 21, 2007 4:15 AM   in response to: awenas

  Click to reply to this thread Reply

Hi, Andre,

Thanks so much for sharing your configuration.

> Based on experience few mistake that can cause zfs root doesn't work:
> * Must use latest stage1 stage2 files when you do installgrub.
Sometimes when you install
> new build, you are still using old stage* files from earlier build.
> * Don't forget to set zfs mountpoint=legacy
> * Wrong entry in vfstab
> * Forget to modify /boot/solaris/filelist.ramdisk to include
/etc/zfs/zpool.cache
> * Forget to re-create bootarchive.

I think I had done correct steps, since I could boot off zfs-root with
non-xVM kernel. But I failed to boot zfsroot with xVM, do you have any
idea about that?

Regards,

Andre Wenas wrote:
> Hi Yong Sun,
>
> Here is my grub menu.lst:
> # boot
> title Solaris xVM 75 ZFS
> root (hd0,2,e)
> bootfs xenpool/snv_75
> kernel$ /boot/$ISADIR/xen.gz
> module$ /platform/i86xpv/kernel/$ISADIR/unix
> /platform/i86xpv/kernel/$ISADIR/unix -B $ZFS-BOOTFS
> module$ /platform/i86pc/$ISADIR/boot_archive
>
> bash-3.2$ df -k /
> Filesystem kbytes used avail capacity Mounted on
> xenpool/snv_75 6451200 3220132 3055481 52% /
>
> The filesystem is compressed:
> bash-3.2$ zfs get compression xenpool/snv_75
> NAME PROPERTY VALUE SOURCE
> xenpool/snv_75 compression on local
>
> bash-3.2$ zfs get compressratio xenpool/snv_75
> NAME PROPERTY VALUE SOURCE
> xenpool/snv_75 compressratio 1.74x -
>
> /etc/vfstab:
> xenpool/snv_75 - / zfs - no -
>
> bash-3.2$ sudo xm list
> Name ID Mem VCPUs State
> Time(s)
> Domain-0 0 1874 2 r-----
> 107.7
>
> Based on experience few mistake that can cause zfs root doesn't work:
> * Must use latest stage1 stage2 files when you do installgrub.
> Sometimes when you install new build, you are still using old stage*
> files from earlier build.
> * Don't forget to set zfs mountpoint=legacy
> * Wrong entry in vfstab
> * Forget to modify /boot/solaris/filelist.ramdisk to include
> /etc/zfs/zpool.cache
> * Forget to re-create bootarchive.
>
> Rgds,
> Andre W.
>
> Yong Sun wrote:
>> Hi, Andre,
>>
>> Would you share your grub configuration? And I followed the
>> instructions on
>> http://www.opensolaris.org/os/community/zfs/boot/zfsboot-manual/ to
>> setup my zfs boot. So my grub file is on /rootpool/boot/grub/menu.lst.
>>
>> Regards,
>>
>> Andre Wenas wrote:
>>
>>> Hi James,
>>>
>>> I'm running Intel Core 2 Duo, the flags are the same:
>>> bash-3.2$ file /lib/libc.so.1
>>> /lib/libc.so.1: ELF 32-bit LSB dynamic lib 80386 Version 1 [SSE MMX
>>> CMOV SEP CX8 FPU], dynamically linked, not stripped, no debugging
>>> information available
>>>
>>> I can boot xVM (b75a) from zfs boot (compressed) without any problem.
>>>
>>> Rgds,
>>> Andre W.
>>>
>>> James Cornell wrote:
>>>
>>>> Yong Sun wrote:
>>>>
>>>>
>>>>> I have destroyed my ufs root slice. Here is the result I got from
>>>>> the running system, the only different one is the /lib/libc.so.1
>>>>>
>>>>> file /lib/libc.so.1
>>>>> /lib/libc.so.1: ELF 32-bit LSB dynamic lib 80386 Version 1 [SSE
>>>>> MMX CMOV SEP CX8 FPU], dynamically linked, not stripped, no
>>>>> debugging information available
>>>>>
>>>>> My laptop has a dual-core intel processor.
>>>>>
>>>>>
>>>>> This message posted from opensolaris.org
>>>>> _______________________________________________
>>>>> xen-discuss mailing list
>>>>> xen-discuss at opensolaris dot org
>>>>>
>>>> Tha's strange. All dual core Intel processors also have SSE2 and
>>>> afaik
>>>> SSE3 also. Why aren't the flags showing up?
>>>>
>>>> James
>>>> _______________________________________________
>>>> xen-discuss mailing list
>>>> xen-discuss at opensolaris dot org
>>>>
>>
>> _______________________________________________
>> xen-discuss mailing list
>> xen-discuss at opensolaris dot org
>>
>

_______________________________________________
xen-discuss mailing list
xen-discuss at opensolaris dot org


awenas

Posts: 32
From:

Registered: 5/9/07
Re: How to boot xVM on a ZFS root file system?
Posted: Oct 21, 2007 5:07 AM   in response to: yongsun

  Click to reply to this thread Reply

Can you boot xVM using ufs root ?

Yong Sun wrote:
> Hi, Andre,
>
> Thanks so much for sharing your configuration.
>
> > Based on experience few mistake that can cause zfs root doesn't work:
> > * Must use latest stage1 stage2 files when you do installgrub.
> Sometimes when you install
> > new build, you are still using old stage* files from earlier build.
> > * Don't forget to set zfs mountpoint=legacy
> > * Wrong entry in vfstab
> > * Forget to modify /boot/solaris/filelist.ramdisk to include
> /etc/zfs/zpool.cache
> > * Forget to re-create bootarchive.
>
> I think I had done correct steps, since I could boot off zfs-root with
> non-xVM kernel. But I failed to boot zfsroot with xVM, do you have any
> idea about that?
>
> Regards,
>
> Andre Wenas wrote:
>
>> Hi Yong Sun,
>>
>> Here is my grub menu.lst:
>> # boot
>> title Solaris xVM 75 ZFS
>> root (hd0,2,e)
>> bootfs xenpool/snv_75
>> kernel$ /boot/$ISADIR/xen.gz
>> module$ /platform/i86xpv/kernel/$ISADIR/unix
>> /platform/i86xpv/kernel/$ISADIR/unix -B $ZFS-BOOTFS
>> module$ /platform/i86pc/$ISADIR/boot_archive
>>
>> bash-3.2$ df -k /
>> Filesystem kbytes used avail capacity Mounted on
>> xenpool/snv_75 6451200 3220132 3055481 52% /
>>
>> The filesystem is compressed:
>> bash-3.2$ zfs get compression xenpool/snv_75
>> NAME PROPERTY VALUE SOURCE
>> xenpool/snv_75 compression on local
>>
>> bash-3.2$ zfs get compressratio xenpool/snv_75
>> NAME PROPERTY VALUE SOURCE
>> xenpool/snv_75 compressratio 1.74x -
>>
>> /etc/vfstab:
>> xenpool/snv_75 - / zfs - no -
>>
>> bash-3.2$ sudo xm list
>> Name ID Mem VCPUs State
>> Time(s)
>> Domain-0 0 1874 2 r-----
>> 107.7
>>
>> Based on experience few mistake that can cause zfs root doesn't work:
>> * Must use latest stage1 stage2 files when you do installgrub.
>> Sometimes when you install new build, you are still using old stage*
>> files from earlier build.
>> * Don't forget to set zfs mountpoint=legacy
>> * Wrong entry in vfstab
>> * Forget to modify /boot/solaris/filelist.ramdisk to include
>> /etc/zfs/zpool.cache
>> * Forget to re-create bootarchive.
>>
>> Rgds,
>> Andre W.
>>
>> Yong Sun wrote:
>>
>>> Hi, Andre,
>>>
>>> Would you share your grub configuration? And I followed the
>>> instructions on
>>> http://www.opensolaris.org/os/community/zfs/boot/zfsboot-manual/ to
>>> setup my zfs boot. So my grub file is on /rootpool/boot/grub/menu.lst.
>>>
>>> Regards,
>>>
>>> Andre Wenas wrote:
>>>
>>>
>>>> Hi James,
>>>>
>>>> I'm running Intel Core 2 Duo, the flags are the same:
>>>> bash-3.2$ file /lib/libc.so.1
>>>> /lib/libc.so.1: ELF 32-bit LSB dynamic lib 80386 Version 1 [SSE MMX
>>>> CMOV SEP CX8 FPU], dynamically linked, not stripped, no debugging
>>>> information available
>>>>
>>>> I can boot xVM (b75a) from zfs boot (compressed) without any problem.
>>>>
>>>> Rgds,
>>>> Andre W.
>>>>
>>>> James Cornell wrote:
>>>>
>>>>
>>>>> Yong Sun wrote:
>>>>>
>>>>>
>>>>>
>>>>>> I have destroyed my ufs root slice. Here is the result I got from
>>>>>> the running system, the only different one is the /lib/libc.so.1
>>>>>>
>>>>>> file /lib/libc.so.1
>>>>>> /lib/libc.so.1: ELF 32-bit LSB dynamic lib 80386 Version 1 [SSE
>>>>>> MMX CMOV SEP CX8 FPU], dynamically linked, not stripped, no
>>>>>> debugging information available
>>>>>>
>>>>>> My laptop has a dual-core intel processor.
>>>>>>
>>>>>>
>>>>>> This message posted from opensolaris.org
>>>>>> _______________________________________________
>>>>>> xen-discuss mailing list
>>>>>> xen-discuss at opensolaris dot org
>>>>>>
>>>>>>
>>>>> Tha's strange. All dual core Intel processors also have SSE2 and
>>>>> afaik
>>>>> SSE3 also. Why aren't the flags showing up?
>>>>>
>>>>> James
>>>>> _______________________________________________
>>>>> xen-discuss mailing list
>>>>> xen-discuss at opensolaris dot org
>>>>>
>>>>>
>>> _______________________________________________
>>> xen-discuss mailing list
>>> xen-discuss at opensolaris dot org
>>>
>>>
>
> _______________________________________________
> xen-discuss mailing list
> xen-discuss at opensolaris dot org
>

_______________________________________________
xen-discuss mailing list
xen-discuss at opensolaris dot org


yongsun

Posts: 207
From:

Registered: 6/15/05
Re: How to boot xVM on a ZFS root file system?
Posted: Oct 21, 2007 5:10 AM   in response to: awenas

  Click to reply to this thread Reply

Hi, Andre,

Yes, I used to boot xVM using ufs root, but now I had destroyed my ufs
root slice :(

Regards,

Andre Wenas wrote:
> Can you boot xVM using ufs root ?
>
> Yong Sun wrote:
>> Hi, Andre,
>>
>> Thanks so much for sharing your configuration.
>>
>> > Based on experience few mistake that can cause zfs root doesn't work:
>> > * Must use latest stage1 stage2 files when you do installgrub.
>> Sometimes when you install
>> > new build, you are still using old stage* files from earlier
>> build.
>> > * Don't forget to set zfs mountpoint=legacy
>> > * Wrong entry in vfstab
>> > * Forget to modify /boot/solaris/filelist.ramdisk to include
>> /etc/zfs/zpool.cache
>> > * Forget to re-create bootarchive.
>>
>> I think I had done correct steps, since I could boot off zfs-root
>> with non-xVM kernel. But I failed to boot zfsroot with xVM, do you
>> have any idea about that?
>>
>> Regards,
>>
>> Andre Wenas wrote:
>>
>>> Hi Yong Sun,
>>>
>>> Here is my grub menu.lst:
>>> # boot
>>> title Solaris xVM 75 ZFS
>>> root (hd0,2,e)
>>> bootfs xenpool/snv_75
>>> kernel$ /boot/$ISADIR/xen.gz
>>> module$ /platform/i86xpv/kernel/$ISADIR/unix
>>> /platform/i86xpv/kernel/$ISADIR/unix -B $ZFS-BOOTFS
>>> module$ /platform/i86pc/$ISADIR/boot_archive
>>>
>>> bash-3.2$ df -k /
>>> Filesystem kbytes used avail capacity Mounted on
>>> xenpool/snv_75 6451200 3220132 3055481 52% /
>>>
>>> The filesystem is compressed:
>>> bash-3.2$ zfs get compression xenpool/snv_75
>>> NAME PROPERTY VALUE SOURCE
>>> xenpool/snv_75 compression on local
>>>
>>> bash-3.2$ zfs get compressratio xenpool/snv_75
>>> NAME PROPERTY VALUE SOURCE
>>> xenpool/snv_75 compressratio 1.74x -
>>>
>>> /etc/vfstab:
>>> xenpool/snv_75 - / zfs - no -
>>>
>>> bash-3.2$ sudo xm list
>>> Name ID Mem VCPUs
>>> State Time(s)
>>> Domain-0 0 1874 2
>>> r----- 107.7
>>>
>>> Based on experience few mistake that can cause zfs root doesn't work:
>>> * Must use latest stage1 stage2 files when you do installgrub.
>>> Sometimes when you install new build, you are still using old stage*
>>> files from earlier build.
>>> * Don't forget to set zfs mountpoint=legacy
>>> * Wrong entry in vfstab
>>> * Forget to modify /boot/solaris/filelist.ramdisk to include
>>> /etc/zfs/zpool.cache
>>> * Forget to re-create bootarchive.
>>>
>>> Rgds,
>>> Andre W.
>>>
>>> Yong Sun wrote:
>>>
>>>> Hi, Andre,
>>>>
>>>> Would you share your grub configuration? And I followed the
>>>> instructions on
>>>> http://www.opensolaris.org/os/community/zfs/boot/zfsboot-manual/ to
>>>> setup my zfs boot. So my grub file is on /rootpool/boot/grub/menu.lst.
>>>>
>>>> Regards,
>>>>
>>>> Andre Wenas wrote:
>>>>
>>>>
>>>>> Hi James,
>>>>>
>>>>> I'm running Intel Core 2 Duo, the flags are the same:
>>>>> bash-3.2$ file /lib/libc.so.1
>>>>> /lib/libc.so.1: ELF 32-bit LSB dynamic lib 80386 Version 1 [SSE
>>>>> MMX CMOV SEP CX8 FPU], dynamically linked, not stripped, no
>>>>> debugging information available
>>>>>
>>>>> I can boot xVM (b75a) from zfs boot (compressed) without any problem.
>>>>>
>>>>> Rgds,
>>>>> Andre W.
>>>>>
>>>>> James Cornell wrote:
>>>>>
>>>>>> Yong Sun wrote:
>>>>>>
>>>>>>
>>>>>>> I have destroyed my ufs root slice. Here is the result I got
>>>>>>> from the running system, the only different one is the
>>>>>>> /lib/libc.so.1
>>>>>>>
>>>>>>> file /lib/libc.so.1
>>>>>>> /lib/libc.so.1: ELF 32-bit LSB dynamic lib 80386 Version 1 [SSE
>>>>>>> MMX CMOV SEP CX8 FPU], dynamically linked, not stripped, no
>>>>>>> debugging information available
>>>>>>>
>>>>>>> My laptop has a dual-core intel processor.
>>>>>>>
>>>>>>>
>>>>>>> This message posted from opensolaris.org
>>>>>>> _______________________________________________
>>>>>>> xen-discuss mailing list
>>>>>>> xen-discuss at opensolaris dot org
>>>>>>>
>>>>>> Tha's strange. All dual core Intel processors also have SSE2 and
>>>>>> afaik
>>>>>> SSE3 also. Why aren't the flags showing up?
>>>>>>
>>>>>> James
>>>>>> _______________________________________________
>>>>>> xen-discuss mailing list
>>>>>> xen-discuss at opensolaris dot org
>>>>>>
>>>> _______________________________________________
>>>> xen-discuss mailing list
>>>> xen-discuss at opensolaris dot org
>>>>
>>
>> _______________________________________________
>> xen-discuss mailing list
>> xen-discuss at opensolaris dot org
>>
>

_______________________________________________
xen-discuss mailing list
xen-discuss at opensolaris dot org


sparcdr

Posts: 1,032
From: US

Registered: 3/24/06
Re: How to boot xVM on a ZFS root file system?
Posted: Oct 19, 2007 7:45 PM   in response to: awenas

  Click to reply to this thread Reply

Andre Wenas wrote:
> Hi James,
>
> I'm running Intel Core 2 Duo, the flags are the same:
> bash-3.2$ file /lib/libc.so.1
> /lib/libc.so.1: ELF 32-bit LSB dynamic lib 80386 Version 1 [SSE MMX
> CMOV SEP CX8 FPU], dynamically linked, not stripped, no debugging
> information available
>
> I can boot xVM (b75a) from zfs boot (compressed) without any problem.
>
> Rgds,
> Andre W.
>
> James Cornell wrote:
>> Yong Sun wrote:
>>
>>> I have destroyed my ufs root slice. Here is the result I got from
>>> the running system, the only different one is the /lib/libc.so.1
>>>
>>> file /lib/libc.so.1
>>> /lib/libc.so.1: ELF 32-bit LSB dynamic lib 80386 Version 1 [SSE MMX
>>> CMOV SEP CX8 FPU], dynamically linked, not stripped, no debugging
>>> information available
>>>
>>> My laptop has a dual-core intel processor.
>>>
>>>
>>> This message posted from opensolaris.org
>>> _______________________________________________
>>> xen-discuss mailing list
>>> xen-discuss at opensolaris dot org
>>>
>> Tha's strange. All dual core Intel processors also have SSE2 and afaik
>> SSE3 also. Why aren't the flags showing up?
>>
>> James
>> _______________________________________________
>> xen-discuss mailing list
>> xen-discuss at opensolaris dot org
>>
>
Ah, I see, libc is only sse/mmx aware.

Did you build xVM from source? Or is there binaries somewhere, they
were supposed to be out a few days ago. Can you tell me what build
steps you used, since the instructions are dated?

James
_______________________________________________
xen-discuss mailing list
xen-discuss at opensolaris dot org


jkeil

Posts: 2,324
From: DE

Registered: 6/16/05
Re: How to boot xVM on a ZFS root file system?
Posted: Oct 22, 2007 9:24 AM   in response to: sparcdr
To: Communities » xen » discuss
  Click to reply to this thread Reply

James Cornell wrote:
> Yong Sun wrote:
> > I have destroyed my ufs root slice. Here is the result I got from the running system, the only different one is the /lib/libc.so.1
> >
> > file /lib/libc.so.1
> > /lib/libc.so.1: ELF 32-bit LSB dynamic lib 80386 Version 1 [SSE MMX CMOV SEP CX8 FPU], dynamically linked, not stripped, no debugging information available
> >
> > My laptop has a dual-core intel processor.
>
> That's strange. All dual core Intel processors also
> have SSE2 and afaik SSE3 also. Why aren't the flags showing up?

There is a /usr/lib/libc/libc_hwcap2.so.1 shared C library with
SSE2 support, but this library also needs AMD system call
support; which probably isn't available with Intel Core processors:

/usr/lib/libc/libc_hwcap2.so.1: ELF 32-bit LSB dynamic lib 80386 Version 1 [SSE2 SSE MMX CMOV AMD_SYSC CX8 FPU], dynamically linked, not stripped, no debugging information available

So the best one usable on Intel Core processors is the
/usr/lib/libc/libc_hwcap1.so.1 one...

jkeil

Posts: 2,324
From: DE

Registered: 6/16/05
Re: How to boot xVM on a ZFS root file system?
Posted: Oct 22, 2007 2:55 AM   in response to: yongsun
To: Communities » xen » discuss
  Click to reply to this thread Reply

> I have destroyed my ufs root slice. Here is the
> result I got from the running system, the only
> different one is the /lib/libc.so.1
>
> file /lib/libc.so.1
> /lib/libc.so.1: ELF 32-bit LSB dynamic lib 80386
> Version 1 [SSE MMX CMOV SEP CX8 FPU], dynamically
> linked, not stripped, no debugging information
> available

Hmm, I think the problem with the above file command is
that it doesn't show the information for the lib/libc.so.1 file
in the root filesystem, but the information for the special
"hwcap" optimized libc.so variant that is loopback mounted
on top of the /lib/libc.so.1 file.

That is, if you check with "mount | grep libc.so", you'll
probably notice that some /usr/lib/libc/libc_hwcap?.so.1
file is currently mounted on top of /lib/libc.so.1

When you've booted on metal, try this:

# mount -F lofs -o nosub / /mnt
# file /mnt/lib/libc.so.1
/mnt/lib/libc.so.1: ELF 32-bit LSB dynamic lib 80386 Version 1 [CX8 FPU], dynamically linked, not stripped, no debugging information available


> My laptop has a dual-core intel processor.
>
> $ psrinfo -vp
> The physical processor has 2 virtual processors (0 1)
> x86 (GenuineIntel 6F2 family 6 model 15 step 2 clock 1829 MHz)
> Intel(r) Core(tm)2 CPU T5600 @ 1.83GHz
>
> $ isainfo -v
> 64-bit amd64 applications
> cx16 mon sse3 sse2 sse fxsr mmx cmov amd_sysc cx8 tsc fpu
> 2-bit i386 applications
> ahf cx16 mon sse3 sse2 sse fxsr mmx cmov sep cx8 tsc fpu

Hmm, my current theory is that under xVM, the "sep" cpuid feature
isn't available. The zfs root procedure has copied the
/usr/lib/libc/libc_hwcap1.so.1 file (which was mounted on top of
the unoptimized /lib/libc.so.1 file on metal) as lib/libc.so.1 in the
root filesystem. When you boot into xVM dom0, "sep" isn't available,
so a lib/libc.so.1 that requires the "SEP" cpu feature cannot be used
and the dynamic linker kills the /sbin/init process with signal 9.


If that theory is correct, you have to restore the original
root filesystem /lib/libc.so.1 file from the installation media.
Restoring that lib/libc.so.1 file in the root filesystem probably
works best when you havn't mounted that filesystem as root
filesystem, otherwise the file in the root filesystem is hidden
by the optimized libc shared library mounted on top of it.

Booting into solaris failsafe, mounting the zfs root
filesystem under /a and fixing /a/lib/libc.so.1 should work.

yongsun

Posts: 207
From:

Registered: 6/15/05
Re: How to boot xVM on a ZFS root file system?
Posted: Oct 22, 2007 6:21 PM   in response to: jkeil

  Click to reply to this thread Reply

Hi, Jürgen,

Thank you so much, it works now!!!

Regards,

Jürgen Keil wrote:
>> I have destroyed my ufs root slice. Here is the
>> result I got from the running system, the only
>> different one is the /lib/libc.so.1
>>
>> file /lib/libc.so.1
>> /lib/libc.so.1: ELF 32-bit LSB dynamic lib 80386
>> Version 1 [SSE MMX CMOV SEP CX8 FPU], dynamically
>> linked, not stripped, no debugging information
>> available
>>
>
> Hmm, I think the problem with the above file command is
> that it doesn't show the information for the lib/libc.so.1 file
> in the root filesystem, but the information for the special
> "hwcap" optimized libc.so variant that is loopback mounted
> on top of the /lib/libc.so.1 file.
>
> That is, if you check with "mount | grep libc.so", you'll
> probably notice that some /usr/lib/libc/libc_hwcap?.so.1
> file is currently mounted on top of /lib/libc.so.1
>
> When you've booted on metal, try this:
>
> # mount -F lofs -o nosub / /mnt
> # file /mnt/lib/libc.so.1
> /mnt/lib/libc.so.1: ELF 32-bit LSB dynamic lib 80386 Version 1 [CX8 FPU], dynamically linked, not stripped, no debugging information available
>
>
>
>> My laptop has a dual-core intel processor.
>>
>> $ psrinfo -vp
>> The physical processor has 2 virtual processors (0 1)
>> x86 (GenuineIntel 6F2 family 6 model 15 step 2 clock 1829 MHz)
>> Intel(r) Core(tm)2 CPU T5600 @ 1.83GHz
>>
>> $ isainfo -v
>> 64-bit amd64 applications
>> cx16 mon sse3 sse2 sse fxsr mmx cmov amd_sysc cx8 tsc fpu
>> 2-bit i386 applications
>> ahf cx16 mon sse3 sse2 sse fxsr mmx cmov sep cx8 tsc fpu
>>
>
> Hmm, my current theory is that under xVM, the "sep" cpuid feature
> isn't available. The zfs root procedure has copied the
> /usr/lib/libc/libc_hwcap1.so.1 file (which was mounted on top of
> the unoptimized /lib/libc.so.1 file on metal) as lib/libc.so.1 in the
> root filesystem. When you boot into xVM dom0, "sep" isn't available,
> so a lib/libc.so.1 that requires the "SEP" cpu feature cannot be used
> and the dynamic linker kills the /sbin/init process with signal 9.
>
>
> If that theory is correct, you have to restore the original
> root filesystem /lib/libc.so.1 file from the installation media.
> Restoring that lib/libc.so.1 file in the root filesystem probably
> works best when you havn't mounted that filesystem as root
> filesystem, otherwise the file in the root filesystem is hidden
> by the optimized libc shared library mounted on top of it.
>
> Booting into solaris failsafe, mounting the zfs root
> filesystem under /a and fixing /a/lib/libc.so.1 should work.
>
>
> This message posted from opensolaris.org
> _______________________________________________
> xen-discuss mailing list
> xen-discuss at opensolaris dot org
>

_______________________________________________
xen-discuss mailing list
xen-discuss at opensolaris dot org





Terms of Use | Privacy | Trademarks | Copyright Policy | Site Guidelines
Your use of this web site or any of its content or software indicates your agreement to be bound by these Terms of Use.
Copyright © 1995-2005 Sun Microsystems, Inc.