• Quick Start
  • Booting
  • Platform
  • Portals
  • References
    • API Reference TOI3
    • IIP Reference
  • Resources
ARRIS Enterprises, Inc. Confidential Information

HTTP Boot setup

The HTTP boot protocol works with a regular web server, using standard GET requests. Fedora comes with an Apache HTTP server installed by default, which we will use for this tutorial. To start the server, run:

$ sudo service httpd start
$ sudo service httpd status
Redirecting to /bin/systemctl status  httpd.service
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
   Active: active (running) since Thu 2016-10-06 11:05:33 CEST; 3s ago
 Main PID: 2005 (/usr/sbin/httpd)
   Status: "Processing requests..."
   CGroup: /system.slice/httpd.service
           ├─2005 /usr/sbin/httpd -DFOREGROUND
           ├─2011 /usr/sbin/httpd -DFOREGROUND
           ├─2012 /usr/sbin/httpd -DFOREGROUND
           ├─2013 /usr/sbin/httpd -DFOREGROUND
           ├─2017 /usr/sbin/httpd -DFOREGROUND
           └─2018 /usr/sbin/httpd -DFOREGROUND

Oct 06 11:05:33 boot.arris.com systemd[1]: Starting The Apache HTTP Server...
Oct 06 11:05:33 boot.arris.com systemd[1]: Started The Apache HTTP Server.

The manifest file

As it boots, the set-top box will send a HTTP GET request to the boot server, asking for a file with the same name as the STB's Bootcast ID. You can find out which Bootcast ID the STB has in the boot loader menu under the System tab. In this example, the Bootcast ID is "arris-vip4302wbt-dev".

The HTTP boot server needs to respond to this request with the XML manifest file. An example manifest is provided in the SDK. Copy it to the root of the HTTP server:

$ sudo cp <sdk_root>/examples/http-boot/arris-vip4302wbt-dev /var/www/html

If you are using an STB with a different Bootcast ID, you will need to rename this file to the matching Bootcast ID.

At this point it is a good idea to verify that the server is working and the page is available, so point your web browser or use 'curl' to http://webserver.ip.address/arris-vip4302wbt-dev. You should get the manifest file in return.

<sdk_root>/examples/http-boot/arris-vip4302wbt-dev

<?xml version="1.0"?>
<!DOCTYPE StbConfig SYSTEM "stbconfig.dtd">
<StbConfig>
<BootParams>
  <KernelUrl>http://www.example.com/bootimage</KernelUrl>
  <KernelVersion>1.0</KernelVersion>
  <SplashUrl>http://www.example.com/splashimage</SplashUrl>
  <SplashVersion>1.0</SplashVersion>
</BootParams>
<PermanentParams>
  <StatusScreenColor>0,0,0</StatusScreenColor>
</PermanentParams>
</StbConfig>

In the example, the boot image is to be found at http://www.example.com/bootimage and is version "1.0".

Logging activity

If you have followed the previous tutorial steps you should be able to see the ARRIS Boot Loader activity in its log file. In addition, if you monitor the HTTP servers own log, you should see a request coming from the STB for the manifest file:

$ sudo tail /var/log/httpd/access_log
10.172.164.79 - - [03/Oct/2016:13:21:55 +0200] "GET /arris-vip4302wbt-dev?product=arris-vip4302wbt-dev&serial=M91620EE2081&mac=04:4E:5A:F9:55:A6&fw_version=6.6.3&kernel_version=none&splash_version=none&diagnostic_version=none HTTP/1.1" 200 246 "-" "KreaTVBootloader/6.6.3"

Here you can see a request for arris-vip4302wbt-dev, with a lot of useful extra parameters about the STB doing the accessing, and that the server responded with code 200, OK.

>> Continue to the next section on setting up the boot image.

5.1.1.p8

Copyright (c) 2018 ARRIS Enterprises, LLC. All Rights Reserved. ARRIS Enterprises, LLC. Confidential Information.