Just a quick post…

If you are have an invalid debug token on your BB Playbook using Flash Builder Burrito (or 4.5 Retail), you may get an annoying issue preventing your applications from installing.

Sending Install request…
Info: Action: Install
Info: Development mode: on
Info: File size: 1745852
Info: Installing …
Info: Processing 1745852 bytes
actual_dname::
actual_id::
actual_version::
result::failure 500 BarFileUnsignedError

This can happen if the debug token on your playbook is incorrectly installed, i.e is displaying :

Debug Token : Installed
Valid : No
Expiration :
Author :

In my case the problem was that the system time of the Playbook was completely out of sync with my mac….

I corrected the system time on the Playbook, then deleted and reuploaded the token…. lo and behold!

Debug Token : Installed
Valid : Yes
Expiration : Fri Jun 24 2011 03:37:27 AM
Author : Michael Dreeling

So simple…. took about 3 hours to figure it out…

I later found that there are several other causes of this issue.. if this was not your problem then look here…

http://supportforums.blackberry.com/t5/Tablet-OS-SDK-for-Adobe-AIR/Playbook-Debug-Token-not-valid/td-p/1080147

In the Global Zone (Host OS)

(Where weblogic-zone is installed at /export/home/zones/weblogic-zone/)

Give the weblogic-zone an /export/home using the loopback FileSystem.

bash# mkdir /export/home/zone-filesystems/weblogic-zone-export-home/
bash# mount -F lofs /export/home/zone-filesystems/weblogic-zone-export-home/ /export/home/zones/weblogic-zone/root/export/home/

The mount should be immediately available in the capped container

You can add it to the /etc/vfstab of the capped container in order to make persist after reboot.

Capped Containers…. Go…

1. Enable pooling and save the configuration, then check for existing pools

# bash
# pooladm -e
# pooladm -s
# pooladm
system default
 string  system.comment
 int     system.version 1
 boolean system.bind-default true
 string  system.poold.objectives wt-load

 pool pool_default
 int     pool.sys_id 0
 boolean pool.active true
 boolean pool.default true
 int     pool.importance 1
 string  pool.comment
 pset    pset_default

 pset pset_default
 int     pset.sys_id -1
 boolean pset.default true
 uint    pset.min 1
 uint    pset.max 65536
 string  pset.units population
 uint    pset.load 3
 uint    pset.size 2
 string  pset.comment 

 cpu
 int     cpu.sys_id 1
 string  cpu.comment
 string  cpu.status on-line

 cpu
 int     cpu.sys_id 0
 string  cpu.comment
 string  cpu.status on-line

2. Create a weblogic pool with 1 CPU assigned

# poolcfg -c 'create pset weblogic-pset (uint pset.min=1; uint pset.max=1)'
# poolcfg -c 'create pool weblogic-pool'
# poolcfg -c 'associate pool weblogic-pool (pset weblogic-pset)'
# pooladm -c
# pooladm

system default
 string  system.comment
 int     system.version 1
 boolean system.bind-default true
 string  system.poold.objectives wt-load

 pool weblogic-pool
 int     pool.sys_id 1
 boolean pool.active true
 boolean pool.default false
 int     pool.importance 1
 string  pool.comment
 pset    weblogic-pset

 pool pool_default
 int     pool.sys_id 0
 boolean pool.active true
 boolean pool.default true
 int     pool.importance 1
 string  pool.comment
 pset    pset_default

 pset weblogic-pset
 int     pset.sys_id 1
 boolean pset.default false
 uint    pset.min 1
 uint    pset.max 1
 string  pset.units population
 uint    pset.load 0
 uint    pset.size 1
 string  pset.comment 

 cpu
 int     cpu.sys_id 0
 string  cpu.comment
 string  cpu.status on-line

 pset pset_default
 int     pset.sys_id -1
 boolean pset.default true
 uint    pset.min 1
 uint    pset.max 65536
 string  pset.units population
 uint    pset.load 2
 uint    pset.size 1
 string  pset.comment 

 cpu
 int     cpu.sys_id 1
 string  cpu.comment
 string  cpu.status on-line

3. Create the zone and install it

# zonecfg -z weblogic-zone
weblogic-zone: No such zone configured
Use 'create' to begin configuring a new zone.
zonecfg:weblogic-zone> create
zonecfg:weblogic-zone> set zonepath=/export/home/zones/weblogic-zone
zonecfg:weblogic-zone> set autoboot=true
zonecfg:weblogic-zone> add net
zonecfg:weblogic-zone:net> set address=10.0.0.1
zonecfg:weblogic-zone:net> set physical=bge0
zonecfg:weblogic-zone:net> end
zonecfg:weblogic-zone> set pool=weblogic-pool
zonecfg:weblogic-zone> verify
zonecfg:weblogic-zone> commit
zonecfg:weblogic-zone> exit
# zoneadm -z weblogic-zone install
Preparing to install zone <weblogic-zone>.
Creating list of files to copy from the global zone.
Copying <18514> files to the zone.
Initializing zone product registry.
Determining zone package initialization order.
Preparing to initialize <1127> packages on the zone.
Initialized <1127> packages on zone.
Zone <weblogic-zone> is initialized.
The file </export/home/zones/weblogic-zone/root/var/sadm/system/logs/install_log> contains a log of the zone installation.

4. Tea and biscuits!

Well – this turned out to be both a nightmare learning process and an interesting little project.

Basically, i have absolutely no way of getting my Solaris machine on the network for the following reasons.

  • There is no ethernet ports in the room where these servers now live.
  • I do not have another wireless network card.
  • Even if i did i am not sure it would be as easy to get ndiswrapper or any other driver working on it.

So what are the other options?

Well – there are several – here are some of the more popular ones

  1. Plug the Solaris box directly into the ethernet port on the FiOS router.
  2. Buy an access point which supports WDS mode and wirelessly bridge from my FiOS router network to the other wireless router at the bottom of the apartment. Plug the Solaris box into the other router.  done.
  3. Setup Proxy-ARP which allows you to bridge from Ubuntu over to Solaris by wiring the 2 boxes together.

I disregarded 1 straight away – this Sun Fire is SOOOO LOUD that i can hear it in the living room when its switched on in another room. Even when i am in the room with it, i can’t hear my wife calling me for anything. So i aint bringing it into the living room.

2 is possible but i don’t have the hardware, and i’d rather not buy one just to get one machine on the network.

So i’m going with 3.

Proxy-ARP is a way of forwarding traffic in a kind of “send it to me and i’ll get it to where its uppsoed to go” kind of way. The idea is to connect the Solaris box to the Ubuntu box with an ethernet cable and then the Wireless card on the Ubuntu box will allow traffic to flow backand forward to Solaris as if it had its own network card.

http://en.wikipedia.org/wiki/Proxy_ARP

This article goes into extreme detail on how Proxy-ARP is setup and really helped me understand the process.

http://www.faqs.org/docs/Linux-mini/Proxy-ARP-Subnet.html

I’ll show you exactly how to do it in the next post.

So as i said before, i have no ethernet ports where this server is going to live so i needed to get some sort of wireless card into it.

I had a Phillips SNU6500 lying around and i thought i’d go ahead and see if it would work on Ubuntu. Well the answer is no, Ubuntu does not have any native drivers for this Card.

However, i was surprised to find out that there is a tool called ndiswrapper which allows you to use Windows drivers on Linux, this blew me away – so i had to try it before i went out and bought a supported card.

First off i started by hooking the Dell 650 up to my keyboard, mouse and monitor (take note Sun Fire!) which made it easy to get the machine up and running and into the desktop.

Also the guys who i bought this server from on EBay had gone to quite a bit of trouble to get all of the right drivers for the machine pre-installed. So it worked straight out of the box.

The first thing i did was immediately upgrade the machine from Ubuntu 9 to Ubuntu 10.04 LTS using an ethernet connection.

Once this was completed – i installed the following “.deb” files in this order, the last one is the graphical front end – which i did not use.

  • ndiswrapper-common_1.50-1ubuntu1_all.deb
  • ndiswrapper-utils-1.9_1.56-1_i386.deb
  • ndisgtk_0.8.5-1_i386.deb

Oke so once you’ve got all this downloaded and installed – you’ll want to dig out your Phillips SNU6500 and get out the Driver CD

Otherwise download the drivers from the following URL : http://www.p4c.philips.com/cgi-bin/dcbint/cpindex.pl?ctn=SNU6500/00&scy=fr&slg=en&mid=Link_Software

Steps:

1. Unzip the driver somewhere on the linux machine

2. Navigate to the folder SNU6500-v1.0.0.27/Driver/ in the temporary folder

3. Run ndiswrapper -i CPWUA6D.INF

4. At this point reboot the machine.

5. When the machine comes back you should see the blue LED on the USB unit start flashing. Its alive!

6. From here on you can use the Network Manager Applet to store the details of your wireless network and connect.
This was by far the easiest WIFI setup i’ve seen on Linux and its been working great. Onwards and upwards!

Couple of notes

  • I did NOT have to edit /etc/network/interfaces
  • In order to get my wlan connection to auto connect each time i rebooted i had to check the “All users can use this connection” checkbox in network settings.

So before going any further into Solaris 10 installations i should mention that i decided to go out and buy a server for the Frontend also. The reason for this is 2 fold.

1. I’m just so used to having the servers seperated that i’d rather develop this way.

2. The server i bought runs Ubuntu, and i left Linux behind along time ago, time to catch up.

Its quite a lightweight box, in terms of power – but it’ll do the job. This machine cost me $104.99 so beggars can’t be choosers.

Here are the details :

Processor : Pentium 4 2.4GHz
Memory (RAM) : 3GB
Hard Drive : 500GB 
Video Card : ATI 16Mb 
Optical Drive (CD/DVD Drive): CD-ROM 
Optional Components : 3 USB Ports 

This server will run.

  • Ubuntu 10.04 LTS
  • Subversion 1.6
  • MySQL 5
  • Adobe LCDS 2.51 for Flex
  • Adobe Cold Fusion 8

Right now i’m not sure how i’m going to connect it to the network – as the bottom of the apartment has no Ethernet ports. It’ll have to be Wireless.

Now, at this point you should have an ‘ok’ or sc> prompt in Hyper Terminal.

If you are in SC and you want to get back to ‘ok’ just type ‘console -f’

I performed everything from the ‘ok’ prompt

===================================================================================

Before you go any further – you need to make a decision on whether you want to install OpenSolaris or standard Solaris 10

Solaris 10 is the official commercial grade release of Solaris which is available free, but for which you must pay for support and updates.

You will get NOTHING in terms of updates from Oracle unless you are a licensed customer. What will happen is that as each of the complete Solairs DVD releases are made available – you will have to install the whole thing possibly putting your installation at risk.

OpenSolaris is almost the same as Solaris 10, it is based on Solaris source code but its updates are free.

It’s slightly different than the real thing, a version which ran on SPARC was not even released until June 2009.

However, it is based on Solaris, and even future versions of ‘real’ Solaris are supposedly going to be basen on this Open source version.

So. before you go any further you need to go and download the Solaris 10 DVD Image from Oracle

http://www.oracle.com/technetwork/server-storage/solaris/downloads/get-jsp-136013.html#download

or an Image of OpenSolaris from http://www.opensolaris.com/get/index.jsp

Once you’ve done that you can come back here… done? ok.

===================================================================================

Note : I chose ‘real’ Solaris because i want to closely resemble work.

1. Insert the Solaris DVD you just burned

2. At the ok prompt type boot cdrom

At this point i move over to this link i order to complete the steps

http://www.idevelopment.info/data/Unix/Solaris/SOLARIS_Installing_Solaris_10.shtml

This is an extremely detailed installation guide and covers everything you could think of.

Once you have been through this guide, you should have Solaris 10 up and running on your server… but thats only the half of it…

As descirbed in my earlier post, in order to connect a laptop to a Sun Fire Server, you have to go through one of 2 ports. The NET MGT port at the back, which is a networked ALOM port, or the SERIAL MGT port which is the local wired interface you can use if you have nothing else.

I have nothing else so i’m going with DB9->RJ45 via Serial MGT.

1. Connect cable to your laptop and boot the Sun Fire.

2. Start Hyper Terminal (Accessories->Communications) or run it from “C:\Program Files\Windows NT\hypertrm.exe”

3. Now you need to setup Hyper Terminal to connect to the port on your laptop that the Sun Fire is connected to, it could be COM1, COM2 etc you have to figure it out. Usually COM1.

4. Now use these settings:

5. When you press OK. Hyper Terminal should dial into the port and provide you with a prompt. If it does not, press return a few times until you see one.

6. If you can’t get anything to happen, reboot the server with the port connected and/or try another port.

Once you are connected – you are at the point where you can install a new operating system. You have a DVD Drive right? No. Uh-oh.

After having a conversation with some Unix admins at work it turns out that i need a DB9 to RJ45 cable in order to conect my Laptop PC to the “Serial MGT” port of the Solaris Server. I ordered one from EBay here…. You can make them yourself – but its a pain in the arse. Alo mine cost me $2.99 from computerparts in CT – so it should be here pretty snappy.

http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=380197631854&ssPageName=STRK:MEWNX:IT

Now the next thing you are supposed to do once you get this together is connect to this port in order to get to the ALOM system (Advanced Lights Out Management). This is a firmware service that is on – even when the machien is switched off. So long as ther eis something plugged into the back – you can talk to this software and issue it a ‘poweron’ command to boot the server.

So it all boils down to the fact that i am going to have to install Solaris 10 over ALOM via Hyper Terminal.

Great.

I guess even though i have been using Solaris  Servers for over 6 years, i am still somewhat naive.

There is something that i did not realise about most Solaris Servers, they are completely headless and have no moinitor port. Which means that if you server is completely clean like mine. You are screwed unless you have a very special cable – which i dont have.

Brilliant.

Next Page »

Follow

Get every new post delivered to your Inbox.