First read about netconsole here: https://www.kernel.org/doc/Documentation/networking/netconsole.txt The WD MBL netconsole implementation requires the following: - netconsole enabled uboot files - netconsole enabled kernel - netconsole enabled Linux kernel patches and config file (if you want to compile your own kernel) DO NOT TEST THIS WITHOUT ABILITY TO TAKE YOUR DRIVE OUT AND HOOK TO A LINUX SYSTEM **** First we will test a prebuild kernel without modifying uboot boot file To quickly test netconsole 1. Download and Unpack netconsole.tgz cd /tmp wget "https://drive.google.com/uc?export=download&id=0B8Nj6R0Fc58pQmhCd0V3NmU4YjQ" -O netconsole.tar.gz tar xvfz netconsole.tgz 2. test if you have the mkimage command, if not install it using "apt install u-boot-tools" mkimage -? apt install u-boot-tools 3. install prebuild kernel 4.1.39 cd /tmp wget "https://drive.google.com/uc?export=download&id=0B8Nj6R0Fc58pbnRPNnFUU1lqLWc" -O netconsole_kernel.tar.tz cd / tar xvzf netconsole_kernel.tar.tz cd /boot cp uImage uImage.orig cp uImage_4.1.39-mbl.netconsole uImage 4. reboot (and hope for the best) systemctl reboot (on Debian 8.7 jessie) 5. if the system comes up you have a netconsole enabled kernel which you can test mkdir /sys/kernel/config/netconsole/linuxConsole cd /sys/kernel/config/netconsole/linuxConsole echo 0 > enabled # disable the target (if required) echo eth0 > dev_name # set local interface echo 192.168.1.18 > remote_ip # update some parameter echo bc:5f:f4:cb:2f:2c > remote_mac # update more parameters echo 1 > enabled # enable target again "linuxConsole" is just a name for a given netconsole. Any name will do substitute your remote ip address and mac address 6. on your linux server (there are solutions for Windows too) start the monitoring using netcat nc -u -l -p 6666 7. now send a test message from the MBL, if all is well you will see on your Linox box echo "test message" >/dev/kmsg **** Now we will boot the kernel with NETCONSOLE enabled 8. modify the uboot boot file with your netconsole settings cd /tmp/uboot edit boot.netconsole.txt modify to match your IP addresses to match my settings netconsole=6665@192.168.1.6/eth0,6666@192.168.1.18/bc:5f:f4:cb:2f:2c netconsole=[+][src-port]@[src-ip]/[],[tgt-port]@/[tgt-macaddr] where + if present, enable extended console support src-port source for UDP packets (defaults to 6665) src-ip source IP to use (interface address) dev network interface (eth0) tgt-port port for logging agent (6666) tgt-ip IP address for logging agent tgt-macaddr ethernet MAC address for logging agent (broadcast) Note: my example uses EXT3 as root file system. If yours is EXT2, please change 9. now we will enable the kernel to boot with netconsole enabled cp /tmp/uboot/boot.scr.netconsole /boot 10. make a copy of your original uboot file, just in case.... Install the new uboot loader cp /boot/boot.scr /boot/boot.scr.orig cp /boot/boot.scr.netconsole /boot/boot.scr 11. reboot and watch the the whole log come through :-) **** Optinally we will build our own 4.1.39 kernel (assume you have unpacked 4.1.39 source files and are in the root directory) for i in $(ls /tmp/patches/[0-9]*) do echo #### $i #### patch -p 1 -b -i $i done cp /tmp/patches/config_4.1.39_netconfig .config make uImage make modules_install