Richard Parmiter

Virtualisation blog and Knowledge Base

  • You are here: 
  • Home
  • Citrix Netscaler

Netscaler cannot boot with message “Can’t load Kernel” after failed firmware upgrade

Posted on January 16th, 2013

Came across this tricky problem today at a client site with some old and unsupported Netscaler devices.

Customer had a failed Netscaler 7000 appliance in an HA pair and got it replaced by Citrix. However, their working Netscaler was running version 8.1 build 56.11 and they wanted to downgrade the firmware on the new appliance to the same version before re-establishing the HA. However the issue experienced would have also occurred for any firmware upgrade as well as downgrade.

For reference the replacement NS7000 had version 9.3 build 56.5cl and eventually was successfully downgraded to v8.1 build 56.11

The following was performed after taking a backup of the replacement netscaler:

  • Located the firmware on the working Netscaler in the /var/nsinstall folder
  • Used WinSCP to copy this locally
  • Copied the firmware to the /var/nsinstall folder on the replacement Netscaler
  • The firmware had already been un-tar’ed in the folder so the firmware and documentation was already available for selection
  • Using the GUI, ran through the upgrade firmware wizard
  • This failed due to a lack of space on the flash drive
  • Rebooted the Netscaler (just to be sure before trying again)

The Netscaler failed to boot.

The blue LCD screen on the front of the device only momentarily showed “booting” and then turned off.

Fortunately I had a Netscaler console cable available, and this was connected to a laptop in the following order:

  • Laptop –> USB to serial cable –> Netscaler serial console cable –> RJ45 to Serial adapter –> Netscaler console port

This enabled me to open a console session to the netscaler using a Putty serial connection (9600, 8, 1, none, none).

the console was displaying a failed boot stating:

can’t load ‘kernel’
can’t load ‘kernel.old’
can’t load ‘’
no bootable kernel

It seemed that in the process of the failed firmware upgrade the flash boot disk was amended and the kernel was deleted.

The Citrix forum post ( states that F4 can be pressed during boot to enable boot device selection, and indeed a list was shown for:

1 Netscaler

5 Drive 1

Default: 1

But no matter which keys were pressed, it always attempted to boot from the flash disk.

I eventually resolved this by the following work around at the OK prompt:

set currdev=disk1s1a:

load disk1s1a:/kernel

This is detailed in Citrix forum ( and then boots the Netscaler from the Hard disk. It is then possible to copy the missing kernel back to the flash drive (from the backup made before starting. I made a backup in /var)

cp /var/kernel.gz /flash

Rebooting the device then boots from the kernel on the flash drive as normal – so problem solved!

However, I still needed to downgrade the firmware so this time ran the ./nsinstall command from the cli but again failed due to lack of space. So, copied the /flash/.recovery/hd.recovery.gz file locally and removed from the netscaler. Then performed the firmware installation and said NO to the reboot and manually copied that file back again.

I also manually checked the /flash folder for the new firmware .gz file and it was there as expected.

On rebooting the Netscaler it correctly booted, but didn’t set the NSIP correctly, instead defaulting to the address. Using the console i set NSIP and rebooted again:

  • set ns config -ipaddress x.x.x.x -netmask y.y.y.y     (note x=NSIP & y=netmask)
  • add ns ip z.z.z.z y.y.y.y -type MIP   (note z=MIP IP Address, y=Subnet mask)
  • save ns config
  • reboot

After this final reboot the IP was set correctly and the device was running v8.1 build 56.11 cl as expected.

Hope this helps someone as it took me ages to sort this out!


Filed under Citrix Netscaler | 1 Comment »

Citrix Recevier for iPad shows “Error” but Reciever for Android works

Posted on February 21st, 2012

Came across  this interesting problem today.

Users connecting to a XenApp deployment via a Netscaler 9.3 & CAG Enterprise Edition using the Citrix receiver for iPad and Android. Web Interface for Netscaler was used to provide the XenApp services site.

The Android receiver worked as expected but the iPhone/iPad receiver did not enumerate the apps. On the creation of a new connection, the following errors were shown:

  • iPhone: There are no applications available at this time
  • iPad: Error

After much messing about, it seems that when creating a XenApp service site on the Netscaler, a checkbox is provided stating “enable connection through mobile receiver”. When this is selected a few “rewrite” rules are created to resolve a problem with the iPad/iPhone receiver connections but the rewrite feature is not enabled at the same time on the Netscaler. Simply right clicking the “rewrite” menu in the left panel and selecting to enable the feature is enough to resolve the problem.

After doing this, all mobile receivers can connect as expected.



Tags: , , , , , , , , , , , , , , ,
Filed under Citrix Access Gateway, Citrix Netscaler | No Comments »

Customize Page title & favicon on Citrix Access Gateway Enterprise Edition

Posted on July 13th, 2010

The defaut page title and fav icon logo appear on the browser tab when connecting to the Citrix Access Gateway Enterprise Edition.

Shown here:

It is possible to replace the logo with your own one and change the text to be more appropriate.


The logo is:  /netscaler/ns_gui/vpn/images/AccessGateway.ico

replace with your own .ico file but keep the same file name

Browser title text

The title text is in two places

First: /netscaler/ns_gui/vpn/index.html

Search for the section:

<TITLE>Citrix Access Gateway</TITLE>

and change to your text


Second: /netscaler/ns_gui/vpn/resources/en.xml

Search for the multiple sections:

<Title>Citrix Access Gateway</Title>

and change all of them to your text

<Title>My CAG Text</Title>

Keep changes after reboot

Copy the modified files to /var/mods and add the following lines to the /nsconfig/rc.netscaler file

cp /var/mods/images/AccessGateway.ico /netscaler/ns_gui/vpn/images/AccessGateway.ico
cp /var/mods/index.html /netscaler/ns_gui/vpn/index.html
cp /var/mods/en.xml /netscaler/ns_gui/vpn/resources/en.xml

New look and feel

Now it will look how you want.

Tags: , , , , , , , , ,
Filed under Citrix Access Gateway, Citrix Netscaler | 2 Comments »

Customize logos on Citrix Access Gateway Enterprise Edition Logon Screen

Posted on July 12th, 2010

This is based on Netscaler version 9.2 Build although nothing appears to have changed from previous versions, so the same information will probably work on most Access Gateway Enterprise versions (CAG EE)

Change to a white theme

This is detailed in several places but most notably here: CTX123607

This gives the default logon screen in white.

Identify the images used

Here is a screen shot of the default view and list of the associated images & resolutions

There are five main images used in this page and they are:

Image Filename Dimensions
1 ctxHeader01.bmp 265 x 62
2 ctxHeader02.bmp 1175 x 62
3 LoginIcon.png 81 x 128
4 CitrixWatermark.gif 115 x 62
5 LoginPaneCenterLeftBorderGlow.png








As original

I have found it better to stick to the same dimensions when replacing these images as sometimes the style sheets need to be modified to allow larger image sizes. If you can, stick to the same dimensions.

The background for image 1 & 2 is in the image itself. If you want to keep the same shading and blue bar, then edit the existing image and keep the background.The same applies for the logon logo (image 3) as the shading is part of the image.

To modify the border glow it is best to open up the existing image and use the dropper tool to fill the line in the desired colour.

File locations

These image files need to be copied to the /netscaler/ns_gui/vpn_images location on the Netscaler device. However, when the netscaler is rebooted the changes are lost so they must be copied here at every startup.

Copy all the images to a folder under the /var/ folder (I use /var/mods/) and this can be the store for all modifications.

Startup script

The /nsconfig/rc.netscaler file runs at every boot, so add entries to this file to copy the modified files from the /var/mods/ folder to the correct location. For example,

tar -zxvf /var/mods/AGEEwhite.gz -C /netscaler/ns_gui/vpn/images
cp /var/mods/images/ctxHeader01.gif /netscaler/ns_gui/vpn/images/ctxHeader01.gif
cp /var/mods/images/ctxHeader02.gif /netscaler/ns_gui/vpn/images/ctxHeader02.gif
cp /var/mods/images/CitrixWatermark.gif /netscaler/ns_gui/vpn/images/CitrixWatermark.gif
cp /var/mods/images/LoginIcon.png /netscaler/ns_gui/vpn/images/LoginIcon.png
cp /var/mods/images/LoginPaneCenterLeftBorderGlow.png /netscaler/ns_gui/vpn/images/LoginPaneCenterLeftBorderGlow.png
cp /var/mods/images/LoginPaneCenterRightBorderGlow.png /netscaler/ns_gui/vpn/images/LoginPaneCenterRightBorderGlow.png
cp /var/mods/images/LoginPaneFooterLeftBorderGlow.png /netscaler/ns_gui/vpn/images/LoginPaneFooterLeftBorderGlow.png
cp /var/mods/images/LoginPaneFooterMidBorderGlow.png /netscaler/ns_gui/vpn/images/LoginPaneFooterMidBorderGlow.png
cp /var/mods/images/LoginPaneFooterRightBorderGlow.png /netscaler/ns_gui/vpn/images/LoginPaneFooterRightBorderGlow.png
cp /var/mods/images/LoginPaneTopLeftBorderGlow.png /netscaler/ns_gui/vpn/images/LoginPaneTopLeftBorderGlow.png
cp /var/mods/images/LoginPaneTopMidBorderGlow.png /netscaler/ns_gui/vpn/images/LoginPaneTopMidBorderGlow.png
cp /var/mods/images/LoginPaneTopRightBorderGlow.png /netscaler/ns_gui/vpn/images/LoginPaneTopRightBorderGlow.png

Final steps

Ensure you boot the netscaler device to confirm the start up script is running correctly and make the same changes to the secondary device if running in an HS pair.

The web page can now look how you want it to!


Tags: , , , , , , , , , , , , ,
Filed under Citrix Access Gateway, Citrix Netscaler | 1 Comment »

Upgrading a Netscaler 7000 device from v7.0 to v9.1 build 101.5

Posted on April 9th, 2010

I used this process to update a Netscaler 7000 device from v7.0 to v9.1 build 101.5

  • Download Firmware from
  • Download Firmware documentation from
  • Use WinSCP or similar to connect to the Netscaler and create the following folders:
    • /var/nsinstall/nsinstall91/build1015/
  • Copy the two downloaded updates into this folder
  • Using puTTy or similar, connect to the Netscaler
  • Uncompress the updates
    • shell
    • cd ..
    • cd var
    • cd nsinstall
    • cd nsinstall91
    • cd build1015
    • tar –zxvf build_9.1-101.5_cl.tgz
    • tar -zxvf ns-9.1-101.5-doc.tgz
  • Run the update
    • ./installns
    • Reboot: Y

I updated a High Availability pair and did the secondary device first. Once the reboot was finished, I forced a failover to test the update and then repeated the same process on the other device.

Tags: , , , , , , , ,
Filed under Citrix Access Gateway, Citrix Netscaler, Uncategorized | 2 Comments »