summaryrefslogtreecommitdiffstats
path: root/meta-yocto-bsp
diff options
context:
space:
mode:
authorPaul Gortmaker <paulg@kernel.org>2023-05-09 21:37:32 -0400
committerRichard Purdie <richard.purdie@linuxfoundation.org>2023-05-11 09:15:19 +0100
commit0c64d0e4317e3749f7f7ed9ecd5d08bbb0cedc9e (patch)
tree81a4a523be9a7eb623c81e8f7ee7f86c55b78364 /meta-yocto-bsp
parentddf68ab675787e69205f4e16002dedc408440c09 (diff)
downloadpoky-0c64d0e4317e3749f7f7ed9ecd5d08bbb0cedc9e.tar.gz
yocto-bsp: drop MIPS Edgerouter support
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. (From meta-yocto rev: 5ea231c6c6387804a85adf15d3f03bdae9b2be25) Signed-off-by: Paul Gortmaker <paulg@kernel.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta-yocto-bsp')
-rw-r--r--meta-yocto-bsp/README.hardware.md112
-rw-r--r--meta-yocto-bsp/conf/machine/edgerouter.conf26
-rw-r--r--meta-yocto-bsp/lib/oeqa/controllers/edgeroutertarget.py89
-rw-r--r--meta-yocto-bsp/recipes-kernel/linux/linux-yocto-dev.bbappend2
-rw-r--r--meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.15.bbappend4
-rw-r--r--meta-yocto-bsp/recipes-kernel/linux/linux-yocto_6.1.bbappend4
-rw-r--r--meta-yocto-bsp/wic/edgerouter.wks4
7 files changed, 0 insertions, 241 deletions
diff --git a/meta-yocto-bsp/README.hardware.md b/meta-yocto-bsp/README.hardware.md
index 44dbb35b93..8ea0ef1461 100644
--- a/meta-yocto-bsp/README.hardware.md
+++ b/meta-yocto-bsp/README.hardware.md
@@ -28,7 +28,6 @@ Hardware Reference Boards
28The following boards are supported by the meta-yocto-bsp layer: 28The following boards are supported by the meta-yocto-bsp layer:
29 29
30 * Texas Instruments Beaglebone (beaglebone-yocto) 30 * Texas Instruments Beaglebone (beaglebone-yocto)
31 * Ubiquiti Networks EdgeRouter Lite (edgerouter)
32 * General IA platforms (genericx86 and genericx86-64) 31 * General IA platforms (genericx86 and genericx86-64)
33 32
34For more information see the board's section below. The appropriate MACHINE 33For more information see the board's section below. The appropriate MACHINE
@@ -48,7 +47,6 @@ Consumer Devices
48The following consumer devices are supported by the meta-yocto-bsp layer: 47The following consumer devices are supported by the meta-yocto-bsp layer:
49 48
50 * Intel x86 based PCs and devices (genericx86) 49 * Intel x86 based PCs and devices (genericx86)
51 * Ubiquiti Networks EdgeRouter Lite (edgerouter)
52 50
53For more information see the device's section below. The appropriate MACHINE 51For more information see the device's section below. The appropriate MACHINE
54variable value corresponding to the device is given in brackets. 52variable 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:
153 # dd if=core-image-minimal-beaglebone-yocto.wic of=/dev/sdb 151 # dd if=core-image-minimal-beaglebone-yocto.wic of=/dev/sdb
154 152
155 3. Insert the SD card into the Beaglebone and boot the board. 153 3. Insert the SD card into the Beaglebone and boot the board.
156
157Ubiquiti Networks EdgeRouter Lite (edgerouter)
158==============================================
159
160The EdgeRouter Lite is part of the EdgeMax series. It is a MIPS64 router
161(based on the Cavium Octeon processor) with 512MB of RAM, which uses an
162internal USB pendrive for storage.
163
164Setup instructions
165------------------
166
167You will need the following:
168* RJ45 -> serial ("rollover") cable connected from your PC to the CONSOLE
169 port on the device
170* Ethernet connected to the first ethernet port on the board
171
172If using NFS as part of the setup process, you will also need:
173* NFS root setup on your workstation
174* TFTP server installed on your workstation (if fetching the kernel from
175 TFTP, see below).
176
177--- Preparation ---
178
179Build an image (e.g. core-image-minimal) using "edgerouter" as the MACHINE.
180In the following instruction it is based on core-image-minimal. Another target
181may be similiar with it.
182
183--- Booting from NFS root / kernel via TFTP ---
184
185Load the kernel, and boot the system as follows:
186
187 1. Get the kernel (vmlinux) file from the tmp/deploy/images/edgerouter
188 directory, and make them available on your TFTP server.
189
190 2. Connect the board's first serial port to your workstation and then start up
191 your favourite serial terminal so that you will be able to interact with
192 the serial console. If you don't have a favourite, picocom is suggested:
193
194 $ picocom /dev/ttyS0 -b 115200
195
196 3. Power up or reset the board and press a key on the terminal when prompted
197 to get to the U-Boot command line
198
199 4. Set up the environment in U-Boot:
200
201 => setenv ipaddr <board ip>
202 => setenv serverip <tftp server ip>
203
204 5. Download the kernel and boot:
205
206 => tftp $loadaddr vmlinux
207 => 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)
208
209--- Booting from USB disk ---
210
211To boot from the USB disk, you either need to remove it from the edgerouter
212box and populate it from another computer, or use a previously booted NFS
213image and populate from the edgerouter itself.
214
215Type 1: Use partitioned image
216-----------------------------
217
218Steps:
219
220 1. Remove the USB disk from the edgerouter and insert it into a computer
221 that has access to your build artifacts.
222
223 2. Flash the image.
224
225 # dd if=core-image-minimal-edgerouter.wic of=/dev/sdb
226
227 3. Insert USB disk into the edgerouter and boot it.
228
229Type 2: NFS
230-----------
231
232Note: If you place the kernel on the ext3 partition, you must re-create the
233 ext3 filesystem, since the factory u-boot can only handle 128 byte inodes and
234 cannot read the partition otherwise.
235
236 These boot instructions assume that you have recreated the ext3 filesystem with
237 128 byte inodes, you have an updated uboot or you are running and image capable
238 of making the filesystem on the board itself.
239
240
241 1. Boot from NFS root
242
243 2. Mount the USB disk partition 2 and then extract the contents of
244 tmp/deploy/core-image-XXXX.tar.bz2 into it.
245
246 Before starting, copy core-image-minimal-xxx.tar.bz2 and vmlinux into
247 rootfs path on your workstation.
248
249 and then,
250
251 # mount /dev/sda2 /media/sda2
252 # tar -xvjpf core-image-minimal-XXX.tar.bz2 -C /media/sda2
253 # cp vmlinux /media/sda2/boot/vmlinux
254 # umount /media/sda2
255 # reboot
256
257 3. Reboot the board and press a key on the terminal when prompted to get to the U-Boot
258 command line:
259
260 # reboot
261
262 4. Load the kernel and boot:
263
264 => ext2load usb 0:2 $loadaddr boot/vmlinux
265 => 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 ffdcf55f02..0000000000
--- a/meta-yocto-bsp/conf/machine/edgerouter.conf
+++ /dev/null
@@ -1,26 +0,0 @@
1#@TYPE: Machine
2#@NAME: Edgerouter
3#@DESCRIPTION: Machine configuration for a generic edgerouter
4
5require conf/machine/include/mips/tune-mips64.inc
6
7MACHINE_FEATURES = "pci ext2 ext3 serial"
8
9KERNEL_IMAGETYPE = "vmlinux"
10KERNEL_ALT_IMAGETYPE = "vmlinux.bin"
11KERNEL_IMAGE_STRIP_EXTRA_SECTIONS = ".comment"
12
13PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
14PREFERRED_VERSION_linux-yocto ?= "6.1%"
15
16SERIAL_CONSOLES = "115200;ttyS0"
17USE_VT ?= "0"
18
19MACHINE_EXTRA_RRECOMMENDS = "kernel-modules"
20
21IMAGE_FSTYPES ?= "jffs2 tar.bz2 wic wic.bmap"
22JFFS2_ERASEBLOCK = "0x10000"
23
24WKS_FILE ?= "edgerouter.wks"
25IMAGE_BOOT_FILES ?= "vmlinux;vmlinux.64"
26do_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 e31670db48..0000000000
--- a/meta-yocto-bsp/lib/oeqa/controllers/edgeroutertarget.py
+++ /dev/null
@@ -1,89 +0,0 @@
1# Copyright (C) 2014 Intel Corporation
2#
3# Released under the MIT license (see COPYING.MIT)
4
5# This module adds support to testimage.bbclass to deploy images and run
6# tests on a Ubiquiti Networks EdgeRouter Lite. The device must be set up
7# to boot into the master image already - the easiest way to do that is as
8# follows:
9#
10# 1. Take out the internal USB drive and plug it into your PC
11# 2. Repartition the USB drive so that you have three partitions in this
12# order:
13# 1: vfat, labelled "boot" (it will need to be formatted with mkfs.vfat
14# for this to be possible, since FAT partitions formatted under
15# DOS/Windows will only support uppercase labels)
16# 2: ext3 (for master image) labelled "testmaster"
17# 3: ext3 (for image under test) labelled "testrootfs"
18# 3. Copy the kernel to be used by the master image to the FAT partition
19# (it should be named "vmlinux.64" with the factory u-boot configuration)
20# 4. Install the master image onto the "testmaster" ext3 partition. If
21# you do this by just extracting the contents of an image onto the
22# partition, you will also likely need to create the master image marker
23# file /etc/masterimage within this partition so that we can tell when
24# we're booted into it that it is the master image.
25# 5. Put the USB drive back into the device, and ensure the console port
26# and first ethernet port are connected before powering on
27#
28# TEST_SERIALCONTROL_CMD will need to be set in local.conf so that we can
29# interact with u-boot over the serial console port.
30
31import os
32import bb
33import time
34import subprocess
35import sys
36import pexpect
37
38from oeqa.controllers.controllerimage import ControllerImageHardwareTarget
39
40
41class EdgeRouterTarget(ControllerImageHardwareTarget):
42
43 def __init__(self, d):
44 super(EdgeRouterTarget, self).__init__(d)
45
46 self.image_fstype = self.get_image_fstype(d)
47 self.deploy_cmds = [
48 'mount -L boot /boot',
49 'mkdir -p /mnt/testrootfs',
50 'mount -L testrootfs /mnt/testrootfs',
51 'cp ~/test-kernel /boot',
52 'rm -rf /mnt/testrootfs/*',
53 'tar xvf ~/test-rootfs.%s -C /mnt/testrootfs' % self.image_fstype
54 ]
55 if not self.serialcontrol_cmd:
56 bb.fatal("This TEST_TARGET needs a TEST_SERIALCONTROL_CMD defined in local.conf.")
57
58
59 def _deploy(self):
60 self.controller.run("umount /mnt/testrootfs;")
61 self.controller.ignore_status = False
62 self.controller.copy_to(self.kernel, "~/test-kernel")
63 self.controller.copy_to(self.rootfs, "~/test-rootfs.%s" % self.image_fstype)
64 for cmd in self.deploy_cmds:
65 self.controller.run(cmd)
66
67 def _start(self, params=None):
68 self.power_cycle(self.controller)
69 try:
70 serialconn = pexpect.spawn(self.serialcontrol_cmd, env=self.origenv, logfile=sys.stdout)
71 serialconn.expect("U-Boot")
72 serialconn.sendline("a")
73 serialconn.expect("Octeon ubnt_e100#")
74 serialconn.sendline("fatload usb 0:1 $loadaddr test-kernel")
75 serialconn.expect(" bytes read")
76 serialconn.expect("Octeon ubnt_e100#")
77 serialconn.sendline("bootoctlinux $loadaddr coremask=0x3 root=/dev/sda3 rw rootwait mtdparts=phys_mapped_flash:512k(boot0),512k(boot1),64k@3072k(eeprom)")
78 serialconn.expect("login:", timeout=120)
79 serialconn.close()
80 except pexpect.ExceptionPexpect as e:
81 bb.fatal('Serial interaction failed: %s' % str(e))
82
83 def _wait_until_booted(self):
84 try:
85 serialconn = pexpect.spawn(self.serialcontrol_cmd, env=self.origenv, logfile=sys.stdout)
86 serialconn.expect("login:", timeout=120)
87 serialconn.close()
88 except pexpect.ExceptionPexpect as e:
89 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 a90958f546..4a62ac952c 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 @@
1KBRANCH:genericx86 = "standard/base" 1KBRANCH:genericx86 = "standard/base"
2KBRANCH:genericx86-64 = "standard/base" 2KBRANCH:genericx86-64 = "standard/base"
3KBRANCH:edgerouter = "standard/edgerouter"
4KBRANCH:beaglebone-yocto = "standard/beaglebone" 3KBRANCH:beaglebone-yocto = "standard/beaglebone"
5 4
6KMACHINE:genericx86 ?= "common-pc" 5KMACHINE:genericx86 ?= "common-pc"
@@ -9,5 +8,4 @@ KMACHINE:beaglebone-yocto ?= "beaglebone"
9 8
10COMPATIBLE_MACHINE:genericx86 = "genericx86" 9COMPATIBLE_MACHINE:genericx86 = "genericx86"
11COMPATIBLE_MACHINE:genericx86-64 = "genericx86-64" 10COMPATIBLE_MACHINE:genericx86-64 = "genericx86-64"
12COMPATIBLE_MACHINE:edgerouter = "edgerouter"
13COMPATIBLE_MACHINE:beaglebone-yocto = "beaglebone-yocto" 11COMPATIBLE_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 87aa38a85e..7a33505b55 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 @@
1KBRANCH:genericx86 = "v5.15/standard/base" 1KBRANCH:genericx86 = "v5.15/standard/base"
2KBRANCH:genericx86-64 = "v5.15/standard/base" 2KBRANCH:genericx86-64 = "v5.15/standard/base"
3KBRANCH:edgerouter = "v5.15/standard/edgerouter"
4KBRANCH:beaglebone-yocto = "v5.15/standard/beaglebone" 3KBRANCH:beaglebone-yocto = "v5.15/standard/beaglebone"
5 4
6KMACHINE:genericx86 ?= "common-pc" 5KMACHINE:genericx86 ?= "common-pc"
@@ -9,15 +8,12 @@ KMACHINE:beaglebone-yocto ?= "beaglebone"
9 8
10SRCREV_machine:genericx86 ?= "024d08fb706170a9723e9751e505681f9d4c7ab6" 9SRCREV_machine:genericx86 ?= "024d08fb706170a9723e9751e505681f9d4c7ab6"
11SRCREV_machine:genericx86-64 ?= "024d08fb706170a9723e9751e505681f9d4c7ab6" 10SRCREV_machine:genericx86-64 ?= "024d08fb706170a9723e9751e505681f9d4c7ab6"
12SRCREV_machine:edgerouter ?= "2ac6461adfceb54f47a756046fbdd142adce4301"
13SRCREV_machine:beaglebone-yocto ?= "26aee42556a000123129552b73de6bf2ac039034" 11SRCREV_machine:beaglebone-yocto ?= "26aee42556a000123129552b73de6bf2ac039034"
14 12
15COMPATIBLE_MACHINE:genericx86 = "genericx86" 13COMPATIBLE_MACHINE:genericx86 = "genericx86"
16COMPATIBLE_MACHINE:genericx86-64 = "genericx86-64" 14COMPATIBLE_MACHINE:genericx86-64 = "genericx86-64"
17COMPATIBLE_MACHINE:edgerouter = "edgerouter"
18COMPATIBLE_MACHINE:beaglebone-yocto = "beaglebone-yocto" 15COMPATIBLE_MACHINE:beaglebone-yocto = "beaglebone-yocto"
19 16
20LINUX_VERSION:genericx86 = "5.15.103" 17LINUX_VERSION:genericx86 = "5.15.103"
21LINUX_VERSION:genericx86-64 = "5.15.103" 18LINUX_VERSION:genericx86-64 = "5.15.103"
22LINUX_VERSION:edgerouter = "5.15.103"
23LINUX_VERSION:beaglebone-yocto = "5.15.103" 19LINUX_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 dc58f988eb..b80c51848d 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 @@
1KBRANCH:genericx86 = "v6.1/standard/base" 1KBRANCH:genericx86 = "v6.1/standard/base"
2KBRANCH:genericx86-64 = "v6.1/standard/base" 2KBRANCH:genericx86-64 = "v6.1/standard/base"
3KBRANCH:edgerouter = "v6.1/standard/edgerouter"
4KBRANCH:beaglebone-yocto = "v6.1/standard/beaglebone" 3KBRANCH:beaglebone-yocto = "v6.1/standard/beaglebone"
5 4
6KMACHINE:genericx86 ?= "common-pc" 5KMACHINE:genericx86 ?= "common-pc"
@@ -9,15 +8,12 @@ KMACHINE:beaglebone-yocto ?= "beaglebone"
9 8
10SRCREV_machine:genericx86 ?= "423e1996694b61fbfc8ec3bf062fc6461d64fde1" 9SRCREV_machine:genericx86 ?= "423e1996694b61fbfc8ec3bf062fc6461d64fde1"
11SRCREV_machine:genericx86-64 ?= "423e1996694b61fbfc8ec3bf062fc6461d64fde1" 10SRCREV_machine:genericx86-64 ?= "423e1996694b61fbfc8ec3bf062fc6461d64fde1"
12SRCREV_machine:edgerouter ?= "423e1996694b61fbfc8ec3bf062fc6461d64fde1"
13SRCREV_machine:beaglebone-yocto ?= "423e1996694b61fbfc8ec3bf062fc6461d64fde1" 11SRCREV_machine:beaglebone-yocto ?= "423e1996694b61fbfc8ec3bf062fc6461d64fde1"
14 12
15COMPATIBLE_MACHINE:genericx86 = "genericx86" 13COMPATIBLE_MACHINE:genericx86 = "genericx86"
16COMPATIBLE_MACHINE:genericx86-64 = "genericx86-64" 14COMPATIBLE_MACHINE:genericx86-64 = "genericx86-64"
17COMPATIBLE_MACHINE:edgerouter = "edgerouter"
18COMPATIBLE_MACHINE:beaglebone-yocto = "beaglebone-yocto" 15COMPATIBLE_MACHINE:beaglebone-yocto = "beaglebone-yocto"
19 16
20LINUX_VERSION:genericx86 = "6.1.20" 17LINUX_VERSION:genericx86 = "6.1.20"
21LINUX_VERSION:genericx86-64 = "6.1.20" 18LINUX_VERSION:genericx86-64 = "6.1.20"
22LINUX_VERSION:edgerouter = "6.1.20"
23LINUX_VERSION:beaglebone-yocto = "6.1.20" 19LINUX_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 7176fe436b..0000000000
--- a/meta-yocto-bsp/wic/edgerouter.wks
+++ /dev/null
@@ -1,4 +0,0 @@
1# short-description: Create SD card image for Edgerouter
2# long-description: Create a partitioned SD card image for MIPS64 Edgerouter reference hardware.
3part /boot --source bootimg-partition --ondisk sda --fstype=vfat --label boot --active --align 4 --size 16
4part / --source rootfs --ondisk sda --fstype=ext4 --label root --align 4