OpenSolaris 2008.11 Paravirtualized domU on Xen 3.1.2

Tait Clarridge
on February 27, 2009 10:00 AM | | Comments (0) | TrackBacks (0)
After scouring the internet for a definite solution, I found many. Here is another to add to the list. This is for a paravirtualized Opensolaris 2008.11 domU 64bit.

The system I am using is the most recently updated CentOS 5.2 X86_64 running the CentOS xen package which is v3.1.2 (even though it still says 3.0.4 in the RPM name.. gg CentOS)
First, you will need to create the directory for the opensolaris guest I am using /vm/opensolaris for the purposes of this blog entry.

Next, you can download the Opensolaris 2008.11 Live CD from here.

The fastest way is to go into your vm directory (eg. /vm/opensolaris) and do:

wget http://dlc.sun.com/osol/opensolaris/2008/11/osol-0811.iso

After the file has downloaded you will need to grab the kernel and ramdisk from it.
Mount the iso on /mnt (or any other directory).

mount -o loop,ro /vm/opensolaris/osol-0811.iso /mnt

Once the file is mounted, copy the following files to your opensolaris directory.

cp /mnt/platform/i86xpv/kernel/amd64/unix /vm/opensolaris
cp /mnt/boot/x86.microroot /vm/opensolaris


Now you must setup either a disk image or lvm for the new vm, if you are creating a disk image do:

dd if=/dev/zero of=/vm/opensolaris/root.img bs=1G count=10

This creates a 10GB image for use as the root drive.

Now you must create the initial install config file in the opensolaris directory called opensolaris-install.cfg with the following contents: note that the disk= and extra= lines are split up here, but should all be on one line without the "\"

name = "opensolaris"
vcpus = 1
memory = 1024
kernel = "/vm/opensolaris/unix"
ramdisk = "/vm/opensolaris/x86.microroot"
extra = "/platform/i86xpv/kernel/amd64/unix -B \
console=ttya,livemode=text"
disk = ['file:/vm/opensolaris/osol-0811.iso,6:cdrom,r',\
'file:/vm/opensolaris/root.img,0,w']
vif = ['']
on_shutdown = "destroy"
on_reboot = "destroy"
on_crash = "destroy"

Now you can start the install procedure starting the domU with a console.

xm create -c /vm/opensolaris/opensolaris-install.cfg

You should see the following:

Using config file "/vm/opensolaris/opensolaris-install.cfg".
Started domain opensolaris
v3.1.2-92.1.22.el5 chgset 'unavailable'
SunOS Release 5.11 Version snv_101b 64-bit
Copyright 1983-2008 Sun Microsystems, Inc.  All rights reserved.
Use is subject to license terms.
Hostname: opensolaris
Remounting root read/write
Probing for device nodes ...
NOTICE: xdf@6: failed to read feature-barrier
NOTICE: xdf@0: failed to read feature-barrier
Preparing live image for use
Done mounting Live image
USB keyboard
 1. Albanian                      22. Latvian                      
 2. Belarusian                    23. Macedonian                   
 3. Belgian                       24. Malta_UK                     
 4. Bulgarian                     25. Malta_US                     
 5. Croatian                      26. Norwegian                    
 6. Czech                         27. Polish                       
 7. Danish                        28. Portuguese                   
 8. Dutch                         29. Russian                      
 9. Finnish                       30. Serbia-And-Montenegro        
10. French                        31. Slovenian                    
11. French-Canadian               32. Slovakian                    
12. Hungarian                     33. Spanish                      
13. German                        34. Swedish                      
14. Greek                         35. Swiss-French                 
15. Icelandic                     36. Swiss-German                 
16. Italian                       37. Traditional-Chinese          
17. Japanese-type6                38. TurkishQ                     
18. Japanese                      39. TurkishF                     
19. Korean                        40. UK-English                   
20. Latin-American                41. US-English                   
21. Lithuanian                   
To select the keyboard layout, enter a number [default 41]:

Here you can just press enter to continue if you are using a US keyboard

 1. Chinese - Simplified         
 2. Chinese - Traditional        
 3. English                      
 4. French                       
 5. German                       
 6. Italian                      
 7. Japanese                     
 8. Korean                       
 9. Portuguese - Brazil          
10. Russian                      
11. Spanish                      
To select desktop language, enter a number [default is 3]:

Here you can press enter again for English

User selected: English
Configuring devices.
Mounting cdroms
Reading ZFS config: done.

opensolaris console login:


Now you are at the login prompt for the Live CD. To make the install easier, you can setup a VNC server to connect to for a graphical install.

First, you will need to login with the credentials jack/jack (username/password).

opensolaris console login: jack
Password:
Sun Microsystems Inc.   SunOS 5.11     snv_101b       November 2008
jack@opensolaris:~$


Now that you are logged in, you will have to setup the VNC server. You will need to create a user vnc directory, copy some files, then run the VNC server and setup a VNC password:

jack@opensolaris:~$ mkdir .vnc
jack@opensolaris:~$ cp .Xclients .vnc/xstartup
jack@opensolaris:~$ vncserver

You will require a password to access your desktops.

Password:
Verify:
xauth:  creating new authority file /jack/.Xauthority

New 'opensolaris:1 ()' desktop is opensolaris:1

Starting applications specified in /jack/.vnc/xstartup
Log file is /jack/.vnc/opensolaris:1.log


jack@opensolaris:~$

Now you will need to find your ip so you can connect, reminder that you may need to add your xen network bridge in the config file if you don't see an IP.

jack@opensolaris:~$ ifconfig -a

You will be looking for an IP that isn't the loopback, for me the device name was xnf0 and was below lo0 (the loopback).

Now you can VNC from any client to IPADDRESS:1 to get the desktop.

Go through the install steps and wait until you get to the screen that it asks for a reboot. Before rebooting you will need to find the ZFS ID for the bootfs in rpool. Open the terminal in the VNC session (along the top bar) and type:

pfexec zdb -vvv rpool | grep bootfs

You will see a line that appears below that will say:

bootfs = NUMBER

Remember that number as we will need it for the runtime config. Note that after the bootfs line comes up you can press Ctrl+C to cancel out (or you will wait for quite a while).

Now you can restart the VM, when you click restart the opensolaris domain should shutdown.

Check with xm list to see if it has been shutdown then create a new config called opensolaris.cfg in the opensolaris vm directory with the following: note that the extra line is split up here, but should all be on one line without the "\".

name = "opensolaris"
vcpus = 1
memory = 1024
kernel = "/vm/opensolaris/unix"
ramdisk = "/vm/opensolaris/x86.microroot"
extra = '/platform/i86xpv/kernel/amd64/unix -B \
console=ttya,zfs-bootfs=rpool/56,bootpath="/xpvd/xdf@0:a"'
disk = ['file:/vm/opensolaris/root.img,0,w']
vif = ['']
on_shutdown = "destroy"
on_reboot = "destroy"
on_crash = "destroy"



Now this is where the rpool ZFS ID comes in handy. In the extra line you will see that there is an entry that says "bootfs=rpool/56", this is what my ID is so just replace 56 with whatever your ID was.

Now you can create the VM again using the new config

xm create -c /vm/opensolaris/opensolaris.cfg

And that should be it! If you have any questions, please feel free to ask them. I remember having a hard time figuring out issues during boot.

I am not sure how stable this is, but atleast it runs.
资源下载链接为: https://pan.quark.cn/s/5c50e6120579 在Android移动应用开发中,定位功能扮演着极为关键的角色,尤其是在提供导航、本地搜索等服务时,它能够帮助应用获取用户的位置信息。以“baiduGPS.rar”为例,这是一个基于百度地图API实现定位功能的示例项目,旨在展示如何在Android应用中集成百度地图的GPS定位服务。以下是对该技术的详细阐述。 百度地图API简介 百度地图API是由百度提供的一系列开放接口,开发者可以利用这些接口将百度地图的功能集成到自己的应用中,涵盖地图展示、定位、路径规划等多个方面。借助它,开发者能够开发出满足不同业务需求的定制化地图应用。 Android定位方式 Android系统支持多种定位方式,包括GPS(全球定位系统)和网络定位(通过Wi-Fi及移动网络)。开发者可以根据应用的具体需求选择合适的定位方法。在本示例中,主要采用GPS实现高精度定位。 权限声明 在Android应用中使用定位功能前,必须在Manifest.xml文件中声明相关权限。例如,添加<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />,以获取用户的精确位置信息。 百度地图SDK初始化 集成百度地图API时,需要在应用启动时初始化地图SDK。通常在Application类或Activity的onCreate()方法中调用BMapManager.init(),并设置回调监听器以处理初始化结果。 MapView的创建 在布局文件中添加MapView组件,它是地图显示的基础。通过设置其属性(如mapType、zoomLevel等),可以控制地图的显示效果。 定位服务的管理 使用百度地图API的LocationClient类来管理定位服务
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值