Version 9 (modified by amain, 4 years ago) (diff)

--

The EdgeRouter Lite is yet another very affordable, high performance solution from Ubiquity. And now runs DebWrt!

Firmware []
Modules []
RootFS [ mips (Big Endian)]

Installation

Installation is somewhat different from 'standard' embedded devices. The erlite has a small 2GB USB drive inside. A drive which can be replaced if needed. Normally we need to flash a device, but with the erlite both kernel and root filesystem reside on the USB drive. Which makes it an ideal device for running DebWrt.

There are 2 installation methods possible:

  • NFS boot (requires serial console)
  • Using another computer (device needs to be opened and USB disk removed)

If you don't wan't to open the device, or want to test DebWrt, use NFS boot. If you don't mind opening the device, remove the USB disk and install the kernel and rootfs using another computer. The latter is the easiest installation type.

NFS boot

This requires access to the serial console(see below), TFTP server and NFS server. Example configurations available in this article. Note that this article uses Ubuntu to run the TFTP and NFS servers.

Setup TFTP Server (DNSMasq)

Replace [IP-DNS-SERVER] with the IP-address of your DNS server. This may be useful if you want to connect the erlite to your network/internet later on.

Copy the DebWrt kernel to /var/lib/tftproot:

cp openwrt-octeon-erlite-vmlinux.64 /var/lib/tftproot/debwrt-firmware-octeon-erlite-vmlinux.64 

Put the following in /etc/dnsmasq.conf.

interface=eth0
bind-interfaces
expand-hosts
domain=thuis.lan
domain-needed
bogus-priv
local=/thuis.lan/
dhcp-range=192.168.1.1,192.168.1.2,12h
dhcp-option=[IP-DNS-SERVER]
dhcp-option=17,/nfs/root
enable-tftp
tftp-root=/var/lib/tftpboot

Restart the DNS server

/etc/init.d/dnsmasq restart

Setup NFS kernel server

Prepare the NFS root filesystem:

mkdir -p /nfs/root
tar xf debwrt-modules-octeon-generic-[kernel-version]-[debwrt-version].tar.gz -C /nfs/root
tar xf debwrt-rootfs-octeon-generic-[kernel-version]-[debwrt-version].tar.gz -C /nfs/root

Setup the NFS export by adding the following line to /etc/exports:

/nfs/root	192.168.1.2(rw,sync,no_subtree_check,no_root_squash)

And restart the kernel server

/etc/init.d/nfs-kernel-server restart

Boot device over NFS

Plugin the serial console, start minicom -w on your PC (after configure it with sudo minicom -s). And power up the erlite. Press CTRL-C to access the U-Boot command line prompt, and type:

setenv nfs 'tftpboot 0 debwrt-firmware-octeon-erlite-vmlinux.64; bootoctlinux 0 coremask=0x3 endbootargs root=/dev/nfs ip=dhcp rw mtdparts=phys_mapped_flash:512k(boot0),512k(boot1),64k@1024k(eeprom)'
saveenv

This creates and save a small U-boot boot script.

Boot over NFS:

run nfs

See NFS bootlog below on how this should look like.

Install DebWrt to USB disk

After successfully booting from NFS, DebWrt can be installed to the internal USB disk.

On the machine running the NFS server, copy DebWrt kernel, rootfs and modules to /nfs/root:

mkdir /nfs/root/debwrt
cp debwrt-firmware-octeon-erlite-vmlinux.64 /nfs/root/debwrt 
cp debwrt-modules-octeon-generic-[kernel-version]-[debwrt-version].tar.gz /nfs/root/debwrt
cp debwrt-rootfs-octeon-generic-[kernel-version]-[debwrt-version].tar.gz /nfs/root/debwrt

Before continuing on the erlite, make sure to make a copy of /dev/sda1 and /dev/sda2, if you every want to move back to use the original Ubiquity software. In the next step we will wipe out /dev/sda2!

On the erlite (booted over NFS):

# Create mount points
mkdir /mnt/boot
mkdir /mnt/rootfs

# Setup clean rootfs on /dev/sda2
mkfs.ext3 /dev/sda2

# Mount
mount /dev/sda1 /mnt/boot
mount /dev/sda2 /mnt/rootfs

# Copy kernel
cp debwrt-firmware-octeon-erlite-vmlinux.64 /mnt/boot

# Extract rootfs
tar xf /debwrt/debwrt-modules-octeon-generic-[kernel-version]-[debwrt-version].tar.gz -C /mnt/rootfs
tar xf /debwrt/debwrt-rootfs-octeon-generic-[kernel-version]-[debwrt-version].tar.gz -C /mnt/rootfs

# Unmount
umount /mnt/boot
umount /mnt/rootfs

Boot from disk

Now reboot the erlite, press CTRL-C again to interrupt U-Boot and type:

setenv disk 'fatload usb 0 $loadaddr debwrt-firmware-octeon-erlite-vmlinux.64; bootoctlinux 0 coremask=0x3 endbootargs root=/dev/sda2 rootdelay=15 rw mtdparts=phys_mapped_flash:512k(boot0),512k(boot1),64k@1024k(eeprom)
nfsq=tftpboot 0 vmlinux.64; bootoctlinux 0 coremask=0x3 endbootargs root=/dev/nfs ip=dhcp rw mtdparts=phys_mapped
_flash:512k(boot0),512k(boot1),64k@1024k(eeprom)'
saveenv

And boot from disk:

run disk

Once everything works out, you can have the erlite boot DebWrt automatically from disk when powering up the erlite or reboot it, by changing the U-Boot bootcmd env variable.

setenv bootcmd 'fatload usb 0 $loadaddr debwrt-firmware-octeon-erlite-vmlinux.64; bootoctlinux 0 coremask=0x3 endbootargs root=/dev/sda2 rootdelay=15 rw mtdparts=phys_mapped_flash:512k(boot0),512k(boot1),64k@1024k(eeprom)
nfsq=tftpboot 0 vmlinux.64; bootoctlinux 0 coremask=0x3 endbootargs root=/dev/nfs ip=dhcp rw mtdparts=phys_mapped
_flash:512k(boot0),512k(boot1),64k@1024k(eeprom)'
saveenv

# reboot erlite
reset

Via other computer

Instead of setting up the internal USB disk via NFS boot, it can also be removed from the device and prepared in another computer. The same commands for the NFS install type above apply here. So please have a look there for details while following the procedure:

  • Remove disk from erlite
  • Stick in USB port PC
  • /dev/sda2 will need to be reformatted to ext3
  • Rootfs and modules will be need to installed to /dev/sda2
  • Kernel image will need to be copied to /dev/sda1
  • Create U-Boot script 'disk' to test
  • Make device automatically boot by changing U-Boot script 'bootcmd'

Build from source

Choose target system 'Cavium Networks Octeon' and profile 'Generic Octeon board'. This profile will built some images include the erlite.

Serial console connection

To connect to the RJ45 console port, use an Cisco Console cable (RJ45 to DB9). Or solder / 'hack' one using an (old) RJ45 cable and an (old) serial cable (DB female). I tested the latter and it turns out that only three wires need to be connected for full serial connection: GND, RX, TX. Quick and dirty but works like a charm.

Bootlogs

NFS

Looking for valid bootloader image....
Jumping to start of image at address 0xbfc80000


U-Boot 1.1.1 (UBNT Build ID: 4670715-gbd7e2d7) (Build time: May 27 2014 - 11:16:22)

BIST check passed.
UBNT_E100 r1:2, r2:18, f:4/71, serial #: 44D9E7401483
MPR 13-00318-18
Core clock: 500 MHz, DDR clock: 266 MHz (532 Mhz data rate)
DRAM:  512 MB
Clearing DRAM....... done
Flash:  4 MB
Net:   octeth0, octeth1, octeth2

USB:   (port 0) scanning bus for devices... 1 USB Devices found
       scanning bus for storage devices...
  Device 0: Vendor:          Prod.: USB DISK 2.0     Rev: PMAP
            Type: Removable Hard Disk
            Capacity: 3824.0 MB = 3.7 GB (7831552 x 512)
 0 
Octeon ubnt_e100# run nfs
Interface 0 has 3 ports (RGMII)
Using octeth0 device
TFTP from server 192.168.1.100; our IP address is 192.168.1.1
Filename 'vmlinux.64'.
Load address: 0x9f00000
Loading: octeth0: Up 1000 Mbps Full duplex (port  0)
#########################################
done
Bytes transferred = 5762952 (57ef88 hex), 10519 Kbytes/sec
argv[2]: coremask=0x3
argv[3]: endbootargs
ELF file is 64 bit
Allocating memory for ELF segment: addr: 0xffffffff81100000 (adjusted to: 0x1100000), size 0x15d0a18
Allocated memory for ELF segment: addr: 0xffffffff81100000, size 0x15d0a18
Processing PHDR 0
  Loading 57da00 bytes at ffffffff81100000
  Clearing 1053018 bytes at ffffffff8167da00
## Loading Linux kernel with entry point: 0xffffffff81107210 ...
Bootloader: Done loading app on coremask: 0x3
[    0.000000] Linux version 3.18.21 (amain@dev) (gcc version 4.6.4 (OpenWrt/Linaro GCC 4.6-2013.05 r47045) ) #33
 SMP Sun Oct 4 16:49:25 CEST 2015
[    0.000000] CVMSEG size: 2 cache lines (256 bytes)
[    0.000000] bootconsole [early0] enabled
[    0.000000] CPU0 revision is: 000d0601 (Cavium Octeon+)
[    0.000000] Checking for the multiply/shift bug... no.
[    0.000000] Checking for the daddiu bug... no.
[    0.000000] Determined physical RAM map:
[    0.000000]  memory: 0000000005800000 @ 0000000002700000 (usable)
[    0.000000]  memory: 0000000007c00000 @ 0000000008200000 (usable)
[    0.000000]  memory: 000000000fc00000 @ 0000000410000000 (usable)
[    0.000000]  memory: 00000000015d0a18 @ 0000000001100000 (usable)
[    0.000000] Wasting 243712 bytes for tracking 4352 unused pages
[    0.000000] Initrd not found or empty - disabling initrd
[    0.000000] Using internal Device Tree.
[    0.000000] software IO TLB [mem 0x0368e000-0x0768e000] (64MB) mapped at [800000000368e000-800000000768dfff]
[    0.000000] Zone ranges:
[    0.000000]   DMA32    [mem 0x01100000-0xefffffff]
[    0.000000]   Normal   [mem 0xf0000000-0x41fbfffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x01100000-0x026cffff]
[    0.000000]   node   0: [mem 0x02700000-0x07efffff]
[    0.000000]   node   0: [mem 0x08200000-0x0fdfffff]
[    0.000000]   node   0: [mem 0x410000000-0x41fbfffff]
[    0.000000] Initmem setup node 0 [mem 0x01100000-0x41fbfffff]
[    0.000000] Primary instruction cache 32kB, virtually tagged, 4 way, 64 sets, linesize 128 bytes.
[    0.000000] Primary data cache 16kB, 64-way, 2 sets, linesize 128 bytes.
[    0.000000] PERCPU: Embedded 12 pages/cpu @8000000007749000 s10752 r8192 d30208 u49152
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 122667
[    0.000000] Kernel command line:  root=/dev/nfs ip=dhcp rw mtdparts=phys_mapped_flash:512k(boot0),512k(boot1),
64k@1024k(eeprom) console=ttyS0,115200
[    0.000000] PID hash table entries: 2048 (order: 2, 16384 bytes)
[    0.000000] Dentry cache hash table entries: 65536 (order: 7, 524288 bytes)
[    0.000000] Inode-cache hash table entries: 32768 (order: 6, 262144 bytes)
[    0.000000] Memory: 400752K/497472K available (4100K kernel code, 292K rwdata, 972K rodata, 240K init, 16706K 
bss, 96720K reserved)
[    0.000000] Hierarchical RCU implementation.
[    0.000000]  CONFIG_RCU_FANOUT set to non-default value of 32
[    0.000000]  RCU restricting CPUs from NR_CPUS=16 to nr_cpu_ids=2.
[    0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2
[    0.000000] NR_IRQS:127
[    0.629849] Calibrating delay loop (skipped) preset value.. 1000.00 BogoMIPS (lpj=2000000)
[    0.637942] pid_max: default: 32768 minimum: 301
[    0.642801] Mount-cache hash table entries: 1024 (order: 1, 8192 bytes)
[    0.649279] Mountpoint-cache hash table entries: 1024 (order: 1, 8192 bytes)
[    0.657338] Checking for the daddi bug... no.
[    0.664290] SMP: Booting CPU01 (CoreId  1)...
[    0.668658] CPU1 revision is: 000d0601 (Cavium Octeon+)
[    0.668831] Brought up 2 CPUs
[    0.677820] devtmpfs: initialized
[    0.686534] NET: Registered protocol family 16
[    0.691814] Not in host mode, PCI Controller not initialized
[    0.715665] SCSI subsystem initialized
[    0.719718] usbcore: registered new interface driver usbfs
[    0.725176] usbcore: registered new interface driver hub
[    0.730465] usbcore: registered new device driver usb
[    0.736595] Switched to clocksource OCTEON_CVMCOUNT
[    0.743904] NET: Registered protocol family 2
[    0.749257] TCP established hash table entries: 4096 (order: 3, 32768 bytes)
[    0.756284] TCP bind hash table entries: 4096 (order: 5, 131072 bytes)
[    0.762835] TCP: Hash tables configured (established 4096 bind 4096)
[    0.769143] TCP: reno registered
[    0.772243] UDP hash table entries: 256 (order: 2, 24576 bytes)
[    0.778197] UDP-Lite hash table entries: 256 (order: 2, 24576 bytes)
[    0.784926] NET: Registered protocol family 1
[    0.789667] RPC: Registered named UNIX socket transport module.
[    0.795442] RPC: Registered udp transport module.
[    0.800127] RPC: Registered tcp transport module.
[    0.804807] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.816182] futex hash table entries: 512 (order: 4, 65536 bytes)
[    0.824857] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.831294] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.841491] msgmni has been set to 782
[    0.846807] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 254)
[    0.854110] io scheduler noop registered
[    0.857967] io scheduler deadline registered (default)
[    0.863290] octeon_gpio 1070000000800.gpio-controller: OCTEON GPIO driver probed.
[    0.871146] Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
[    0.878670] console [ttyS0] disabled
[    0.882168] 1180000000800.serial: ttyS0 at MMIO 0x1180000000800 (irq = 41, base_baud = 31250000) is a OCTEON
[    0.891937] console [ttyS0] enabled
[    0.891937] console [ttyS0] enabled
[    0.898849] bootconsole [early0] disabled
[    0.898849] bootconsole [early0] disabled
[    0.907533] 1180000000c00.serial: ttyS1 at MMIO 0x1180000000c00 (irq = 42, base_baud = 31250000) is a OCTEON
[    0.918232] octeon_rng octeon_rng: Octeon Random Number Generator
[    0.929818] loop: module loaded
[    0.933944] of-flash 1f400000.nor: Can't get bank width from device tree
[    0.941050] libphy: mdio-octeon: probed
[    0.946945] mdio-octeon 1180000001800.mdio: Version 1.0
[    0.952869] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    0.959574] ehci-pci: EHCI PCI platform driver
[    0.964172] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    0.970524] uhci_hcd: USB Universal Host Controller Interface driver
[    0.977184] usbcore: registered new interface driver usb-storage
[    0.983253] octeon_wdt: Initial granularity 5 Sec
[    0.988737] cavium-ethernet 1.9
[    0.994785] Interface 0 has 3 ports (RGMII)
[    1.012987] OcteonUSB 16f0010000000.usbc: Octeon Host Controller
[    1.019351] OcteonUSB 16f0010000000.usbc: new USB bus registered, assigned bus number 1
[    1.027459] OcteonUSB 16f0010000000.usbc: irq 124, io mem 0x00000000
[    1.034099] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[    1.040951] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    1.048206] usb usb1: Product: Octeon Host Controller
[    1.053284] usb usb1: Manufacturer: Linux 3.18.21 Octeon USB
[    1.058964] usb usb1: SerialNumber: 16f0010000000.usbc
[    1.065016] hub 1-0:1.0: USB hub found
[    1.068894] hub 1-0:1.0: 1 port detected
[    1.073284] OcteonUSB 16f0010000000.usbc: Registered HCD for port 0 on irq 124
[    1.080972] TCP: cubic registered
[    1.084310] NET: Registered protocol family 17
[    1.088908] bridge: automatic filtering via arp/ip/ip6tables has been deprecated. Update your scripts to load 
br_netfilter if you need this.
[    1.101598] Bridge firewalling registered
[    1.105649] 8021q: 802.1Q VLAN Support v1.8
[    1.109999] Bootbus flash: Setting flash for 4MB flash at 0x1f800000
[    1.116433] phys_mapped_flash: Found 1 x16 devices at 0x0 in 8-bit bank. Manufacturer ID 0x0000c2 Chip ID 0x00
00a7
[    1.126811] Amd/Fujitsu Extended Query Table at 0x0040
[    1.131984]   Amd/Fujitsu Extended Query version 1.1.
[    1.137058] phys_mapped_flash: Swapping erase regions for top-boot CFI table.
[    1.144209] number of CFI chips: 1
[    1.147652] 3 cmdlinepart partitions found on MTD device phys_mapped_flash
[    1.154546] Creating 3 MTD partitions on "phys_mapped_flash":
[    1.160314] 0x000000000000-0x000000080000 : "boot0"
[    1.166537] 0x000000080000-0x000000100000 : "boot1"
[    1.172754] 0x000000100000-0x000000110000 : "eeprom"
[    1.180197] console [netcon0] enabled
[    1.183889] netconsole: network logging started
[    1.189056] eth0: 1000 Mbps Full duplex, port 0
[    1.208603] Sending DHCP requests ., OK
[    1.244599] IP-Config: Got DHCP answer from 192.168.1.100, my address is 192.168.1.2
[    1.253160] IP-Config: Complete:
[    1.256416]      device=eth0, hwaddr=44:d9:e7:40:14:83, ipaddr=192.168.1.2, mask=255.255.255.0, gw=192.168.1.1
00
[    1.266630]      host=192.168.1.2, domain=thuis.lan, nis-domain=(none)
[    1.273202]      bootserver=192.168.1.100, rootserver=192.168.1.100, rootpath=/nfs/root
[    1.281045]      nameserver0=10.0.2.10
[    1.328269] VFS: Mounted root (nfs filesystem) on device 0:11.
[    1.334404] Freeing unused kernel memory: 240K (ffffffff81644000 - ffffffff81680000)
[    1.432767] usb 1-1: new high-speed USB device number 2 using OcteonUSB
[    1.621753] usb 1-1: New USB device found, idVendor=13fe, idProduct=4100
[    1.628505] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[    1.635692] usb 1-1: Product: USB DISK 2.0
[    1.639825] usb 1-1: Manufacturer:         
[    1.644034] usb 1-1: SerialNumber: 070853D622560805
[    1.650137] usb-storage 1-1:1.0: USB Mass Storage device detected
[    1.657702] scsi host0: usb-storage 1-1:1.0
[    1.674350] random: systemd urandom read with 24 bits of entropy available

Welcome to Debian GNU/Linux 8 (jessie)!

[    1.778033] NET: Registered protocol family 10
[    2.076159] systemd-sysv-generator[56]: Overwriting existing symlink /run/systemd/generator.late/rcS.service w
ith real service
         Expecting device dev-ttyS0.device...
[  OK  ] Reached target Remote File Systems (Pre).
[  OK  ] Reached target Paths.
[  OK  ] Reached target Encrypted Volumes.
         Expecting device dev-sda1.device...
[  OK  ] Created slice Root Slice.
[  OK  ] Created slice User and Session Slice.
[  OK  ] Listening on Delayed Shutdown Socket.
[  OK  ] Listening on /dev/initctl Compatibility Named Pipe.
[  OK  ] Listening on Journal Socket (/dev/log).
[  OK  ] Listening on udev Control Socket.
[  OK  ] Listening on udev Kernel Socket.
[  OK  ] Listening on Journal Socket.
[  OK  ] Created slice System Slice.
[  OK  ] Created slice system-getty.slice.
[  OK  ] Created slice system-serial\x2dgetty.slice.
         Starting Increase datagram queue length...
         Starting Create list of required static device nodes...rrent kernel...
         Starting udev Coldplug all Devices...
         Mounting POSIX Message Queue File System...
         Starting Load Kernel Modules...
[  OK  ] Reached target Slices.
         Starting Remount Root and Kernel File Systems...
[  OK  ] Started Increase datagram queue length.
[    2.672426] scsi 0:0:0:0: Direct-Access              USB DISK 2.0     PMAP PQ: 0 ANSI: 6
[    2.683276] sd 0:0:0:0: [sda] 7831552 512-byte logical blocks: (4.00 GB/3.73 GiB)
[    2.693125] sd 0:0:0:0: [sda] Write Protect is off
[    2.699061] sd 0:0:0:0: [sda] No Caching mode page found
[    2.704467] sd 0:0:0:0: [sda] Assuming drive cache: write through
[    2.731955]  sda: sda1 sda2
[  OK  ] Started Create list of required static device nodes ...current[    2.743722] sd 0:0:0:0: [sda] Attached 
SCSI removable disk
 kernel.
[  OK  ] Mounted POSIX Message Queue File System.
[FAILED] Failed to start Load Kernel Modules.
See 'systemctl status systemd-modules-load.service' for details.
[FAILED] Failed to start Remount Root and Kernel File Systems.
See 'systemctl status systemd-remount-fs.service' for details.
[  OK  ] Started udev Coldplug all Devices.
         Activating swap /swap...
         Starting Load/Save Random Seed...
         Starting Apply Kernel Variables...
         Starting Create Static Device Nodes in /dev...
[  OK  ] Listening on Syslog Socket.
[    3.034703] swapon: swapfile has holes
[  OK  ] Reached target Sockets.
         Starting Journal Service...
[  OK  ] Started Journal Service.
[FAILED] Failed to activate swap /swap.
See 'systemctl status swap.swap' for details.
[DEPEND] Dependency failed for Swap.
[  OK  ] Started Load/Save Random Seed.
[  OK  ] Started Apply Kernel Variables.
[  OK  ] Started Create Static Device Nodes in /dev.
         Starting udev Kernel Device Manager...
[  OK  ] Reached target Local File Systems (Pre).
[  OK  ] [    3.319938] systemd-udevd[87]: starting version 215
Started udev Kernel Device Manager.
         Starting Copy rules generated while the root was ro...
         Starting LSB: Tune IDE hard disks...
[  OK  ] Started Copy rules generated while the root was ro.
[  OK  ] Started LSB: Tune IDE hard disks.
[    3.667397] random: nonblocking pool is initialized
[  OK  ] Found device USB_DISK_2.0 1.
[  OK  ] Found device /dev/ttyS0.
         Mounting /boot...
[    4.360463] FAT-fs (sda1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
[  OK  ] Mounted /boot.
[  OK  ] Reached target Local File Systems.
         Starting Create Volatile Files and Directories...
         Starting LSB: Raise network interfaces....
         Starting LSB: ebtables ruleset management...
[  OK  ] Reached target Remote File Systems.
         Starting Trigger Flushing of Journal to Persistent Storage...
[    4.649438] systemd-journald[83]: Received request to flush runtime journal from PID 1
[  OK  ] Started Trigger Flushing of Journal to Persistent Storage.
[  OK  ] Started LSB: ebtables ruleset management.
[  OK  ] Started Create Volatile Files and Directories.
         Starting Update UTMP about System Boot/Shutdown...
[  OK  ] Started Update UTMP about System Boot/Shutdown.
[  OK  ] Started LSB: Raise network interfaces..
[  OK  ] Reached target Network.
[  OK  ] Reached target Network is Online.
[  OK  ] Reached target System Initialization.
[  OK  ] Reached target Timers.
[  OK  ] Reached target Basic System.
         Starting Regular background program processing daemon...
[  OK  ] Started Regular background program processing daemon.
         Starting OpenBSD Secure Shell server...
[  OK  ] Started OpenBSD Secure Shell server.
         Starting Deferred execution scheduler...
[  OK  ] Started Deferred execution scheduler.
         Starting Internet superserver...
[  OK  ] Started Internet superserver.
         Starting /etc/rc.local Compatibility...
         Starting LSB: Start NTP daemon...
         Starting dnsmasq - A lightweight DHCP and caching DNS server...
         Starting System Logging Service...
         Starting Permit User Sessions...
[  OK  ] Started /etc/rc.local Compatibility.
[  OK  ] Started Permit User Sessions.
         Starting Serial Getty on ttyS0...
[  OK  ] Started Serial Getty on ttyS0.
[  OK  ] Reached target Login Prompts.
[  OK  ] Started System Logging Service.
[  OK  ] Started LSB: Start NTP daemon.
[  OK  ] Started dnsmasq - A lightweight DHCP and caching DNS server.
[  OK  ] Reached target Host and Network Name Lookups.
         Starting LSB: exim Mail Transport Agent...

Debian GNU/Linux 8 debwrt ttyS0

debwrt login: