Henry Jen wrote:
> On Thu, Jun 26, 2008 at 10:18 AM, Ethan Quach <[EMAIL PROTECTED] 
> <mailto:[EMAIL PROTECTED]>> wrote:
> 
> 
>     Henry Jen wrote:
> 
>         Hi,
> 
>         I try to do image-update from opensolaris 2008.05(nv86), but the
>         command failed, and the cause seems to be cannot create/copy BE.
>          $ pfexec pkg image-update
>         pkg: unable to create an auto snapshot. pkg recovery is disabled.
>         pkg: image-update cannot be done on live image
> 
>         The last couple lines of image-update -v are:
> 
>         pkg:/[EMAIL PROTECTED],5.11-0.86:20080426T174943Z ->
>         pkg:/[EMAIL PROTECTED],5.11-0.91:20080613T174335Z
>         None -> pkg:/[EMAIL PROTECTED],5.11-0.91:20080613T182501Z
>         None -> pkg:/[EMAIL PROTECTED],5.11-0.91:20080613T174340Z
>         None -> pkg:/[EMAIL PROTECTED],5.11-0.91:20080613T182505Z
>         None
>         pkg: unable to create BE None
>         pkg: attempt to mount opensolaris failed.
>         pkg: image-update cannot be done on live image
> 
> 
>     Looks like it fails to create a snapshot of the running BE, which
>     causes all the other errors coming from pkg.  Unfortunately, the
>     version of beadm in 2008.05 doesn't allow for any workarounds for
>     providing better error or debug messages from beadm.
> 
>     Can you provide the output of 'zfs list', and 'beadm list'
> 
> 
> $ zfs list
> NAME                                    USED  AVAIL  REFER  MOUNTPOINT
> osol                                   5.12G  3.87G    19K  /osol
> osol/ROOT                              5.11G  3.87G    18K  /osol/ROOT
> osol/ROOT/opensolaris                  5.11G  3.87G  5.04G  legacy
> osol/ROOT/[EMAIL PROTECTED]    77.0M      -  5.04G  -
> pool                                   28.4G  7.98G    18K  /pool
> pool/ROOT                              5.10G  7.98G    18K  legacy
> pool/ROOT/opensolaris-1                5.10G  7.98G  5.04G  /mnt
> pool/ROOT/[EMAIL PROTECTED]  66.5M      -  5.04G  -
> pool/home                              22.6G  7.98G    19K  /export/home
> pool/home/henryjen                     22.6G  7.98G  13.0G  
> /export/home/henryjen
> pool/home/henryjen/foss                2.88G  7.98G  2.88G  
> /export/home/henryjen/foss
> pool/home/henryjen/prj                 6.68G  7.98G  6.68G  
> /export/home/henryjen/prj
> pool/zones                              743M  7.98G    20K  /export/zones
> pool/zones/vm1                          743M  7.98G   743M  
> /export/zones/vm1
> 
> $ beadm list
> 
> BE            Active Active on Mountpoint Space
> Name                 reboot               Used
> ----          ------ --------- ---------- -----
> opensolaris   yes    no        legacy     5.11G
> opensolaris-1 no     yes       -          5.10G
>  
> 
> 
>     Does <pool>/boot/grub/menu.lst exist?  If not, see below.
> 
> 
> No.
> 
> 
> 
>         It might worth note that I installed OpenSolaris in a partition
>         with a process roughly described at
>         http://blogs.sun.com/slowhog/entry/install_opensolaris_side_by_side.
> 
>         I did some experiment on beadm command, and found that I cannot
>         use the same pool, but has to copy the BE to another pool. I.e,
>         'pfexec beadm create test' says cannot create, but 'pfexec beadm
>         create -p pool create test' succeed. However, I cannot activate
>         the new BE on other pool:
> 
>         $ pfexec beadm activate opensolaris-1
>         beadm: Unable to activate opensolaris-1
> 
>         Any ideas?
> 
> 
>     What device are you actually booting from?  
> 
> 
> Not sure. But I guess you arr right that it is booting from the UFS 
> slice. The GRUB menu does match the /boot/grub/menu.lst on the slice, 
> which is c4d0s0 in my case.
> 
> Here is the list of partitions:
> 
> partition> print
> Current partition table (original):
> Total disk cylinders available: 7293 + 2 (reserved cylinders)
> 
> Part      Tag    Flag     Cylinders        Size            Blocks
>   0       root    wm    1262 - 2454        9.14GB    (1193/0/0)  19165545
>   1       swap    wu       3 -   68      517.72MB    (66/0/0)     1060290
>   2     backup    wm       0 - 7292       55.87GB    (7293/0/0) 117162045
>   3 unassigned    wm      69 - 1261        9.14GB    (1193/0/0)  19165545
>   4 unassigned    wu       0               0         (0/0/0)            0
>   5 unassigned    wu       0               0         (0/0/0)            0
>   6 unassigned    wu       0               0         (0/0/0)            0
>   7 unassigned    wm    2455 - 7292       37.06GB    (4838/0/0)  77722470
>   8       boot    wu       0 -    0        7.84MB    (1/0/0)        16065
>   9 alternates    wu       1 -    2       15.69MB    (2/0/0)        32130
>  
> 
>      From the instructions
>     listed in that blog, I don't see an installgrub ever done on the
>     slice containing the pool you created for OpenSolaris.  This tells
>     me that you're still booting the UFS slice with your existing LU BE.
>     While this works in allowing you to choose to boot the OpenSolaris
>     BE, beadm won't be happy because it expects the OpenSolaris BE to be
>     in bootable root pool with its own menu.lst   In a bootable root pool
>     the menu.lst is stored in "pool dataset" of the pool.  If you're
>     currently booted to your OpenSolaris BE, try this:
> 
>     Mount the slice containing your UFS BE somewhere, e.g. /mnt
> 
>     Copy the menu.lst from that slice into the pool dataset:
> 
>       cp /mnt/boot/grub/menu.lst <pool>/boot/grub/menu.lst
> 
>     Install grub into the slice used for you pool.  (This will make your
>     pool the default device that's booted, no longer your UFS slice, but
>     you can still boot your UFS BE by selecting it from the menu)
> 
>       installgrub /boot/grub/stage1 /boot/grub/stage2 <vdev_used_for_pool>
> 
> 
> I 'cp /mnt/boot/grub/menu.lst osol/boot/grub/menu.lst' and did 
> 'installgrub /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/c4d0s3', 
> after that, beadm list now gives:
> 
> $ beadm list
> 
> BE            Active Active on Mountpoint Space
> Name                 reboot               Used
> ----          ------ --------- ---------- -----
> opensolaris   yes    yes       legacy     5.11G
> opensolaris-1 no     yes       -          5.10G
>  
> After reboot, GRUB does not show up, and boot into OpenSolaris with a 
> keystroke.

So is 'osol' on c4d0s3 and 'pool' on c4d0s7?

beadm doesn't support multiple pools yet, so having a BE on
that second 'osol' pool there will confuse beadm for certain
operations. (Like how it shows two BEs as 'Active on reboot')
If possible, you should delete the BE on 'osol' (since its the
smaller pool), and just continue to use 'pool' for your BEs.
This would mean you need to copy the menu.lst into
/pool/boot/grub/menu.lst and installgrub onto it.

> 
> 
> Attached is two of them.

Sorry, I should have told you to send them to me directly.  The
discussion forums probably filter out attachments that are over
a certain size.


-ethan

_______________________________________________
pkg-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/pkg-discuss

Reply via email to