How to setup WiFi boot on the S100

The easiest way to get it work is to download the gziped DOM image from and streaming it on the DOM by using dd (disc dump).

Now mount the first partition on the DOM and edit the syslinux.cfg on it (enable the out commented lines).

APPEND wtype=<WEP|WPA(2)> wessid=<essid> wkey=<wirelss key>

The following parameters are needed

wtype: security type  (if set valid values are WPA or WEP, unset means no encryption)

wessid: name of the network (essid)
wkey: key to access the network, if wtype is WEP prefix a “s:” for string values! (not needed if wtype is unset)

The following parameters are supported and optional

wproto: protocol for download (pxe/tftp/http) (optional, default pxe)

wmodule: Name of the module to load (optional, default p54pci)
wdev: name of the wifi device (optional, default wlan0)
wkernel: path to the kernel to download (required if proto is not pxe)
winitrd: path to the initrd to download (required if proto is not pxe)
wcmdline: path to the file holding the command line parameters for the kernel above (optional, ignored if proto is pxe)

If wproto is PXE (default) the system should work as if you’re doing a PXE boot using PXELinux on an ethernet link. This is the recommended way. The init script tries to download the config file from the TFTP Server using the same logic than PXELinux.

If proto is http or tftp you have to specify wkernel, winitrd and wcmdline. These three files will be downloaded and the kernel is executed using the initrd and passing the kernel parameters read from wcmdline to them.

Umount the partition and reboot. Syslinux now should startup.

If something is not working correctly or you want to edit the syslinux.cfg again you do not have to boot from USB-Stick: I added support for the disc controller and the fat filesystem to the  kernel. Just type “maintenance” at the syslinux boot prompt and you should dropped to a bash.

Now you can edit the syslinux.cfg by calling ./config. This will load the needed modules, mount the partition and start vi . After you finisehd editing (esc :wq) the partition will be unmounted and the modules are unloaded. Now you can reboot and see if you’re changes were succesful.


Update 2014-02-14

Found a project by chance with a very similar intention than mine.

It should be possible to build up a generic solution that works with any NIC with it:

This entry was posted in WiFi/Netboot. Bookmark the permalink.

5 Responses to How to setup WiFi boot on the S100

  1. Alex says:


    I would like to know how to install the PXE boot for wifi.

    is there any documentation for this?

    can you refer me?

    thank you very much!

    • Peter Fichtner says:

      Hi, the documentation is the blog 🙂
      Just dd the image mentioned here to your DOM module and follow the instructions. What kind of help do you need?

      • paoloddone says:

        Hi Peter,
        Again me.
        I’ve dd your image to a usb (my pc doesn’t have a dom).
        Then i’ve setted the syslinux.cfg file as you say:
        uncommented the three line, this is the result:
        DEFAULT Kexec

        PROMPT 0
        TIMEOUT 10

        #enable me!
        LABEL ubuntu
        KERNEL kexec
        APPEND wessid=myessid wtype=WPA wkey=s:mypassfrase

        LABEL maintenance
        KERNEL kexec
        APPEND break=config_wdev

        Then I’ve booted from usb.

        Syslinux ask me for “boot:” entry.
        The only command that works is “kexec”, but lots of line it stops with:
        /bin/sh: can’t access tty; job control turned off
        kexec# _

        Can you help me find the right confguration please?
        where am I wrong?

        Thank you so much!


  2. Peter Fichtner says:

    The intention of the image was to enable WiFi boot via kexec on an specific hardware (T-Online Vision S100). Therefore the dd-imaged only contains the drivers (e.g. for the NIC) needed on exactly that hardware.

    To get the image working on hardware other than the S100 you would have to exchange at least the NIC driver including the etc files (config file or script) where they get loaded

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s