diff mbox series

yocto-bsp: drop MIPS Edgerouter support

Message ID 20230510013732.441109-1-paulg@kernel.org (mailing list archive)
State New
Headers show
Series yocto-bsp: drop MIPS Edgerouter support | expand

Commit Message

paulg@kernel.org May 10, 2023, 1:37 a.m. UTC
From: Paul Gortmaker <paulg@kernel.org>

As per ongoing discussions, there is a general desire to try and update
our hardware reference platforms when an appropriate (newer) substitute
is available.  However, in the case of MIPS, there isn't an obvious one
to choose.  But continuing to maintain support for an old board that
hasn't been available for purchase for years doesn't make sense either.

So we are dropping support for the Edgerouter for future releases.  The
MIPS architecture will still get coverage via QEMU build/boot testing.

Signed-off-by: Paul Gortmaker <paulg@kernel.org>
diff mbox series

Patch

diff --git a/meta-yocto-bsp/README.hardware.md b/meta-yocto-bsp/README.hardware.md
index 44dbb35b930c..8ea0ef14614c 100644
--- a/meta-yocto-bsp/README.hardware.md
+++ b/meta-yocto-bsp/README.hardware.md
@@ -28,7 +28,6 @@  Hardware Reference Boards
 The following boards are supported by the meta-yocto-bsp layer:
 
   * Texas Instruments Beaglebone (beaglebone-yocto)
-  * Ubiquiti Networks EdgeRouter Lite (edgerouter)
   * General IA platforms (genericx86 and genericx86-64)
 
 For more information see the board's section below. The appropriate MACHINE
@@ -48,7 +47,6 @@  Consumer Devices
 The following consumer devices are supported by the meta-yocto-bsp layer:
 
   * Intel x86 based PCs and devices (genericx86)
-  * Ubiquiti Networks EdgeRouter Lite (edgerouter)
 
 For more information see the device's section below. The appropriate MACHINE
 variable value corresponding to the device is given in brackets.
@@ -153,113 +151,3 @@  From a Linux system with access to the image files perform the following steps:
      # dd if=core-image-minimal-beaglebone-yocto.wic of=/dev/sdb
 
   3. Insert the SD card into the Beaglebone and boot the board.
-
-Ubiquiti Networks EdgeRouter Lite (edgerouter)
-==============================================
-
-The EdgeRouter Lite is part of the EdgeMax series. It is a MIPS64 router
-(based on the Cavium Octeon processor) with 512MB of RAM, which uses an
-internal USB pendrive for storage.
-
-Setup instructions
-------------------
-
-You will need the following:
-* RJ45 -> serial ("rollover") cable connected from your PC to the CONSOLE
-  port on the device
-* Ethernet connected to the first ethernet port on the board
-
-If using NFS as part of the setup process, you will also need:
-* NFS root setup on your workstation
-* TFTP server installed on your workstation (if fetching the kernel from
-  TFTP, see below).
-
---- Preparation ---
-
-Build an image (e.g. core-image-minimal) using "edgerouter" as the MACHINE.
-In the following instruction it is based on core-image-minimal. Another target
-may be similiar with it.
-
---- Booting from NFS root / kernel via TFTP ---
-
-Load the kernel, and boot the system as follows:
-
- 1. Get the kernel (vmlinux) file from the tmp/deploy/images/edgerouter
-    directory, and make them available on your TFTP server.
-
- 2. Connect the board's first serial port to your workstation and then start up
-    your favourite serial terminal so that you will be able to interact with
-    the serial console. If you don't have a favourite, picocom is suggested:
-
-  $ picocom /dev/ttyS0 -b 115200
-
- 3. Power up or reset the board and press a key on the terminal when prompted
-    to get to the U-Boot command line
-
- 4. Set up the environment in U-Boot:
-
- => setenv ipaddr <board ip>
- => setenv serverip <tftp server ip>
-
- 5. Download the kernel and boot:
-
- => tftp $loadaddr vmlinux
- => bootoctlinux $loadaddr coremask=0x3 root=/dev/nfs rw nfsroot=<nfsroot ip>:<rootfs path> ip=<board ip>:<server ip>:<gateway ip>:<netmask>:edgerouter:eth0:off mtdparts=phys_mapped_flash:512k(boot0),512k(boot1),64k@3072k(eeprom)
-
---- Booting from USB disk ---
-
-To boot from the USB disk, you either need to remove it from the edgerouter
-box and populate it from another computer, or use a previously booted NFS
-image and populate from the edgerouter itself.
-
-Type 1: Use partitioned image
------------------------------
-
-Steps:
-
- 1. Remove the USB disk from the edgerouter and insert it into a computer
-    that has access to your build artifacts.
-
- 2. Flash the image.
-
-    # dd if=core-image-minimal-edgerouter.wic of=/dev/sdb
-
- 3. Insert USB disk into the edgerouter and boot it.
-
-Type 2: NFS
------------
-
-Note: If you place the kernel on the ext3 partition, you must re-create the
-      ext3 filesystem, since the factory u-boot can only handle 128 byte inodes and
-      cannot read the partition otherwise.
-
-      These boot instructions assume that you have recreated the ext3 filesystem with
-      128 byte inodes, you have an updated uboot or you are running and image capable
-      of making the filesystem on the board itself.
-
-
- 1. Boot from NFS root
-
- 2. Mount the USB disk partition 2 and then extract the contents of
-    tmp/deploy/core-image-XXXX.tar.bz2 into it.
-
-    Before starting, copy core-image-minimal-xxx.tar.bz2 and vmlinux into
-    rootfs path on your workstation.
-
-    and then,
-  
-      # mount /dev/sda2 /media/sda2
-      # tar -xvjpf core-image-minimal-XXX.tar.bz2 -C /media/sda2
-      # cp vmlinux /media/sda2/boot/vmlinux
-      # umount /media/sda2
-      # reboot
-
- 3. Reboot the board and press a key on the terminal when prompted to get to the U-Boot
-    command line:
-
-    # reboot
-
- 4. Load the kernel and boot:
-
-      => ext2load usb 0:2 $loadaddr boot/vmlinux
-      => bootoctlinux $loadaddr coremask=0x3 root=/dev/sda2 rw rootwait mtdparts=phys_mapped_flash:512k(boot0),512k(boot1),64k@3072k(eeprom)
diff --git a/meta-yocto-bsp/conf/machine/edgerouter.conf b/meta-yocto-bsp/conf/machine/edgerouter.conf
deleted file mode 100644
index ffdcf55f02b1..000000000000
--- a/meta-yocto-bsp/conf/machine/edgerouter.conf
+++ /dev/null
@@ -1,26 +0,0 @@ 
-#@TYPE: Machine
-#@NAME: Edgerouter
-#@DESCRIPTION: Machine configuration for a generic edgerouter
-
-require conf/machine/include/mips/tune-mips64.inc
-
-MACHINE_FEATURES = "pci ext2 ext3 serial"
-
-KERNEL_IMAGETYPE = "vmlinux"
-KERNEL_ALT_IMAGETYPE = "vmlinux.bin"
-KERNEL_IMAGE_STRIP_EXTRA_SECTIONS  = ".comment"
-
-PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
-PREFERRED_VERSION_linux-yocto ?= "6.1%"
-
-SERIAL_CONSOLES = "115200;ttyS0"
-USE_VT ?= "0"
-
-MACHINE_EXTRA_RRECOMMENDS = "kernel-modules"
-
-IMAGE_FSTYPES ?= "jffs2 tar.bz2 wic wic.bmap"
-JFFS2_ERASEBLOCK = "0x10000"
-
-WKS_FILE ?= "edgerouter.wks"
-IMAGE_BOOT_FILES ?= "vmlinux;vmlinux.64"
-do_image_wic[depends] += "mtools-native:do_populate_sysroot dosfstools-native:do_populate_sysroot"
diff --git a/meta-yocto-bsp/lib/oeqa/controllers/edgeroutertarget.py b/meta-yocto-bsp/lib/oeqa/controllers/edgeroutertarget.py
deleted file mode 100644
index e31670db484a..000000000000
--- a/meta-yocto-bsp/lib/oeqa/controllers/edgeroutertarget.py
+++ /dev/null
@@ -1,89 +0,0 @@ 
-# Copyright (C) 2014 Intel Corporation
-#
-# Released under the MIT license (see COPYING.MIT)
-
-# This module adds support to testimage.bbclass to deploy images and run
-# tests on a Ubiquiti Networks EdgeRouter Lite. The device must be set up
-# to boot into the master image already - the easiest way to do that is as
-# follows:
-#
-# 1. Take out the internal USB drive and plug it into your PC
-# 2. Repartition the USB drive so that you have three partitions in this
-#    order:
-#      1: vfat, labelled "boot" (it will need to be formatted with mkfs.vfat
-#         for this to be possible, since FAT partitions formatted under
-#         DOS/Windows will only support uppercase labels)
-#      2: ext3 (for master image) labelled "testmaster"
-#      3: ext3 (for image under test) labelled "testrootfs"
-# 3. Copy the kernel to be used by the master image to the FAT partition
-#    (it should be named "vmlinux.64" with the factory u-boot configuration)
-# 4. Install the master image onto the "testmaster" ext3 partition. If
-#    you do this by just extracting the contents of an image onto the
-#    partition, you will also likely need to create the master image marker
-#    file /etc/masterimage within this partition so that we can tell when
-#    we're booted into it that it is the master image.
-# 5. Put the USB drive back into the device, and ensure the console port
-#    and first ethernet port are connected before powering on
-#
-# TEST_SERIALCONTROL_CMD will need to be set in local.conf so that we can
-# interact with u-boot over the serial console port.
-
-import os
-import bb
-import time
-import subprocess
-import sys
-import pexpect
-
-from oeqa.controllers.controllerimage import ControllerImageHardwareTarget
-
-
-class EdgeRouterTarget(ControllerImageHardwareTarget):
-
-    def __init__(self, d):
-        super(EdgeRouterTarget, self).__init__(d)
-
-        self.image_fstype = self.get_image_fstype(d)
-        self.deploy_cmds = [
-                'mount -L boot /boot',
-                'mkdir -p /mnt/testrootfs',
-                'mount -L testrootfs /mnt/testrootfs',
-                'cp ~/test-kernel /boot',
-                'rm -rf /mnt/testrootfs/*',
-                'tar xvf ~/test-rootfs.%s -C /mnt/testrootfs' % self.image_fstype
-                ]
-        if not self.serialcontrol_cmd:
-            bb.fatal("This TEST_TARGET needs a TEST_SERIALCONTROL_CMD defined in local.conf.")
-
-
-    def _deploy(self):
-        self.controller.run("umount /mnt/testrootfs;")
-        self.controller.ignore_status = False
-        self.controller.copy_to(self.kernel, "~/test-kernel")
-        self.controller.copy_to(self.rootfs, "~/test-rootfs.%s" % self.image_fstype)
-        for cmd in self.deploy_cmds:
-            self.controller.run(cmd)
-
-    def _start(self, params=None):
-        self.power_cycle(self.controller)
-        try:
-            serialconn = pexpect.spawn(self.serialcontrol_cmd, env=self.origenv, logfile=sys.stdout)
-            serialconn.expect("U-Boot")
-            serialconn.sendline("a")
-            serialconn.expect("Octeon ubnt_e100#")
-            serialconn.sendline("fatload usb 0:1 $loadaddr test-kernel")
-            serialconn.expect(" bytes read")
-            serialconn.expect("Octeon ubnt_e100#")
-            serialconn.sendline("bootoctlinux $loadaddr coremask=0x3 root=/dev/sda3 rw rootwait mtdparts=phys_mapped_flash:512k(boot0),512k(boot1),64k@3072k(eeprom)")
-            serialconn.expect("login:", timeout=120)
-            serialconn.close()
-        except pexpect.ExceptionPexpect as e:
-            bb.fatal('Serial interaction failed: %s' % str(e))
-
-    def _wait_until_booted(self):
-        try:
-            serialconn = pexpect.spawn(self.serialcontrol_cmd, env=self.origenv, logfile=sys.stdout)
-            serialconn.expect("login:", timeout=120)
-            serialconn.close()
-        except pexpect.ExceptionPexpect as e:
-            bb.fatal('Serial interaction failed: %s' % str(e))
diff --git a/meta-yocto-bsp/recipes-kernel/linux/linux-yocto-dev.bbappend b/meta-yocto-bsp/recipes-kernel/linux/linux-yocto-dev.bbappend
index a90958f546e9..4a62ac952c46 100644
--- a/meta-yocto-bsp/recipes-kernel/linux/linux-yocto-dev.bbappend
+++ b/meta-yocto-bsp/recipes-kernel/linux/linux-yocto-dev.bbappend
@@ -1,6 +1,5 @@ 
 KBRANCH:genericx86  = "standard/base"
 KBRANCH:genericx86-64  = "standard/base"
-KBRANCH:edgerouter = "standard/edgerouter"
 KBRANCH:beaglebone-yocto = "standard/beaglebone"
 
 KMACHINE:genericx86 ?= "common-pc"
@@ -9,5 +8,4 @@  KMACHINE:beaglebone-yocto ?= "beaglebone"
 
 COMPATIBLE_MACHINE:genericx86 = "genericx86"
 COMPATIBLE_MACHINE:genericx86-64 = "genericx86-64"
-COMPATIBLE_MACHINE:edgerouter = "edgerouter"
 COMPATIBLE_MACHINE:beaglebone-yocto = "beaglebone-yocto"
diff --git a/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.15.bbappend b/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.15.bbappend
index 87aa38a85e5c..7a33505b55bc 100644
--- a/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.15.bbappend
+++ b/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.15.bbappend
@@ -1,6 +1,5 @@ 
 KBRANCH:genericx86  = "v5.15/standard/base"
 KBRANCH:genericx86-64  = "v5.15/standard/base"
-KBRANCH:edgerouter = "v5.15/standard/edgerouter"
 KBRANCH:beaglebone-yocto = "v5.15/standard/beaglebone"
 
 KMACHINE:genericx86 ?= "common-pc"
@@ -9,15 +8,12 @@  KMACHINE:beaglebone-yocto ?= "beaglebone"
 
 SRCREV_machine:genericx86 ?= "024d08fb706170a9723e9751e505681f9d4c7ab6"
 SRCREV_machine:genericx86-64 ?= "024d08fb706170a9723e9751e505681f9d4c7ab6"
-SRCREV_machine:edgerouter ?= "2ac6461adfceb54f47a756046fbdd142adce4301"
 SRCREV_machine:beaglebone-yocto ?= "26aee42556a000123129552b73de6bf2ac039034"
 
 COMPATIBLE_MACHINE:genericx86 = "genericx86"
 COMPATIBLE_MACHINE:genericx86-64 = "genericx86-64"
-COMPATIBLE_MACHINE:edgerouter = "edgerouter"
 COMPATIBLE_MACHINE:beaglebone-yocto = "beaglebone-yocto"
 
 LINUX_VERSION:genericx86 = "5.15.103"
 LINUX_VERSION:genericx86-64 = "5.15.103"
-LINUX_VERSION:edgerouter = "5.15.103"
 LINUX_VERSION:beaglebone-yocto = "5.15.103"
diff --git a/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_6.1.bbappend b/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_6.1.bbappend
index dc58f988eb89..b80c51848da0 100644
--- a/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_6.1.bbappend
+++ b/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_6.1.bbappend
@@ -1,6 +1,5 @@ 
 KBRANCH:genericx86  = "v6.1/standard/base"
 KBRANCH:genericx86-64  = "v6.1/standard/base"
-KBRANCH:edgerouter = "v6.1/standard/edgerouter"
 KBRANCH:beaglebone-yocto = "v6.1/standard/beaglebone"
 
 KMACHINE:genericx86 ?= "common-pc"
@@ -9,15 +8,12 @@  KMACHINE:beaglebone-yocto ?= "beaglebone"
 
 SRCREV_machine:genericx86 ?= "423e1996694b61fbfc8ec3bf062fc6461d64fde1"
 SRCREV_machine:genericx86-64 ?= "423e1996694b61fbfc8ec3bf062fc6461d64fde1"
-SRCREV_machine:edgerouter ?= "423e1996694b61fbfc8ec3bf062fc6461d64fde1"
 SRCREV_machine:beaglebone-yocto ?= "423e1996694b61fbfc8ec3bf062fc6461d64fde1"
 
 COMPATIBLE_MACHINE:genericx86 = "genericx86"
 COMPATIBLE_MACHINE:genericx86-64 = "genericx86-64"
-COMPATIBLE_MACHINE:edgerouter = "edgerouter"
 COMPATIBLE_MACHINE:beaglebone-yocto = "beaglebone-yocto"
 
 LINUX_VERSION:genericx86 = "6.1.20"
 LINUX_VERSION:genericx86-64 = "6.1.20"
-LINUX_VERSION:edgerouter = "6.1.20"
 LINUX_VERSION:beaglebone-yocto = "6.1.20"
diff --git a/meta-yocto-bsp/wic/edgerouter.wks b/meta-yocto-bsp/wic/edgerouter.wks
deleted file mode 100644
index 7176fe436b47..000000000000
--- a/meta-yocto-bsp/wic/edgerouter.wks
+++ /dev/null
@@ -1,4 +0,0 @@ 
-# short-description: Create SD card image for Edgerouter
-# long-description: Create a partitioned SD card image for MIPS64 Edgerouter reference hardware.
-part /boot --source bootimg-partition --ondisk sda --fstype=vfat --label boot --active --align 4 --size 16
-part / --source rootfs --ondisk sda --fstype=ext4 --label root --align 4