treewide: replace /sys/devices/virtual/ubi by /sys/class/ubi
Starting from Linux Kernel version 6.3 UBI devices will no longer be considered virtual, but rather have an MTD device parent. Hence they will no longer be listed under /sys/devices/virtual/ubi which is used in multiple places in OpenWrt. Prepare for future kernels by using /sys/class/ubi instead of /sys/devuces/virtual/ubi. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
This commit is contained in:
		| @@ -28,7 +28,7 @@ ubi_mknod() { | |||||||
|  |  | ||||||
| nand_find_volume() { | nand_find_volume() { | ||||||
| 	local ubidevdir ubivoldir | 	local ubidevdir ubivoldir | ||||||
| 	ubidevdir="/sys/devices/virtual/ubi/$1" | 	ubidevdir="/sys/class/ubi/" | ||||||
| 	[ ! -d "$ubidevdir" ] && return 1 | 	[ ! -d "$ubidevdir" ] && return 1 | ||||||
| 	for ubivoldir in $ubidevdir/${1}_*; do | 	for ubivoldir in $ubidevdir/${1}_*; do | ||||||
| 		[ ! -d "$ubivoldir" ] && continue | 		[ ! -d "$ubivoldir" ] && continue | ||||||
| @@ -41,13 +41,12 @@ nand_find_volume() { | |||||||
| } | } | ||||||
|  |  | ||||||
| nand_find_ubi() { | nand_find_ubi() { | ||||||
| 	local ubidevdir ubidev mtdnum | 	local ubidevdir ubidev mtdnum cmtdnum | ||||||
| 	mtdnum="$( find_mtd_index $1 )" | 	mtdnum="$( find_mtd_index $1 )" | ||||||
| 	[ ! "$mtdnum" ] && return 1 | 	[ ! "$mtdnum" ] && return 1 | ||||||
| 	for ubidevdir in /sys/devices/virtual/ubi/ubi*; do | 	for ubidevdir in /sys/class/ubi/ubi*; do | ||||||
| 		[ ! -d "$ubidevdir" ] && continue | 		[ ! -e "$ubidevdir/mtd_num" ] && continue | ||||||
| 		cmtdnum="$( cat $ubidevdir/mtd_num )" | 		cmtdnum="$( cat $ubidevdir/mtd_num )" | ||||||
| 		[ ! "$mtdnum" ] && continue |  | ||||||
| 		if [ "$mtdnum" = "$cmtdnum" ]; then | 		if [ "$mtdnum" = "$cmtdnum" ]; then | ||||||
| 			ubidev=$( basename $ubidevdir ) | 			ubidev=$( basename $ubidevdir ) | ||||||
| 			ubi_mknod "$ubidevdir" | 			ubi_mknod "$ubidevdir" | ||||||
|   | |||||||
| @@ -23,7 +23,7 @@ rootfs_prepare() { | |||||||
| 	ubinfo /dev/ubi0 -N metadata1 > /dev/null 2>&1 || return | 	ubinfo /dev/ubi0 -N metadata1 > /dev/null 2>&1 || return | ||||||
|  |  | ||||||
| 	# Find UBI volume device (e.g. ubi0_123) | 	# Find UBI volume device (e.g. ubi0_123) | ||||||
| 	local ubivol="$(grep rootfs_data /sys/devices/virtual/ubi/ubi*/ubi*/name | sed -n 's/.*\(ubi\d*_\d*\).*/\1/p')" | 	local ubivol="$(grep rootfs_data /sys/class/ubi/ubi*/name | sed -n 's/.*\(ubi\d*_\d*\).*/\1/p')" | ||||||
| 	if [ -n "$ubivol" ]; then | 	if [ -n "$ubivol" ]; then | ||||||
| 		bcm4908_verify_rootfs_data $ubivol | 		bcm4908_verify_rootfs_data $ubivol | ||||||
| 	else | 	else | ||||||
|   | |||||||
| @@ -3,7 +3,7 @@ linksys_get_target_firmware() { | |||||||
|  |  | ||||||
| 	cur_boot_part="$(/usr/sbin/fw_printenv -n boot_part)" | 	cur_boot_part="$(/usr/sbin/fw_printenv -n boot_part)" | ||||||
| 	if [ -z "${cur_boot_part}" ]; then | 	if [ -z "${cur_boot_part}" ]; then | ||||||
| 		mtd_ubi0=$(cat /sys/devices/virtual/ubi/ubi0/mtd_num) | 		mtd_ubi0=$(cat /sys/class/ubi/ubi0/mtd_num) | ||||||
| 		case "$(grep -E "^mtd${mtd_ubi0}:" /proc/mtd | cut -d '"' -f 2)" in | 		case "$(grep -E "^mtd${mtd_ubi0}:" /proc/mtd | cut -d '"' -f 2)" in | ||||||
| 		kernel|rootfs) | 		kernel|rootfs) | ||||||
| 			cur_boot_part=1 | 			cur_boot_part=1 | ||||||
|   | |||||||
| @@ -8,7 +8,7 @@ linksys_get_target_firmware() { | |||||||
|  |  | ||||||
| 	cur_boot_part=$(/usr/sbin/fw_printenv -n boot_part) | 	cur_boot_part=$(/usr/sbin/fw_printenv -n boot_part) | ||||||
| 	if [ -z "${cur_boot_part}" ] ; then | 	if [ -z "${cur_boot_part}" ] ; then | ||||||
| 		mtd_ubi0=$(cat /sys/devices/virtual/ubi/ubi0/mtd_num) | 		mtd_ubi0=$(cat /sys/class/ubi/ubi0/mtd_num) | ||||||
| 		case $(grep -E ^mtd${mtd_ubi0}: /proc/mtd | cut -d '"' -f 2) in | 		case $(grep -E ^mtd${mtd_ubi0}: /proc/mtd | cut -d '"' -f 2) in | ||||||
| 		kernel1|rootfs1) | 		kernel1|rootfs1) | ||||||
| 			cur_boot_part=1 | 			cur_boot_part=1 | ||||||
|   | |||||||
| @@ -8,7 +8,7 @@ linksys_get_target_firmware() { | |||||||
|  |  | ||||||
| 	cur_boot_part=$(/usr/sbin/fw_printenv -n boot_part) | 	cur_boot_part=$(/usr/sbin/fw_printenv -n boot_part) | ||||||
| 	if [ -z "${cur_boot_part}" ] ; then | 	if [ -z "${cur_boot_part}" ] ; then | ||||||
| 		mtd_ubi0=$(cat /sys/devices/virtual/ubi/ubi0/mtd_num) | 		mtd_ubi0=$(cat /sys/class/ubi/ubi0/mtd_num) | ||||||
| 		case $(grep -E ^mtd${mtd_ubi0}: /proc/mtd | cut -d '"' -f 2) in | 		case $(grep -E ^mtd${mtd_ubi0}: /proc/mtd | cut -d '"' -f 2) in | ||||||
| 		kernel|rootfs) | 		kernel|rootfs) | ||||||
| 			cur_boot_part=1 | 			cur_boot_part=1 | ||||||
|   | |||||||
| @@ -8,7 +8,7 @@ linksys_get_target_firmware() { | |||||||
|  |  | ||||||
| 	cur_boot_part=$(/usr/sbin/fw_printenv -n boot_part) | 	cur_boot_part=$(/usr/sbin/fw_printenv -n boot_part) | ||||||
| 	if [ -z "${cur_boot_part}" ] ; then | 	if [ -z "${cur_boot_part}" ] ; then | ||||||
| 		mtd_ubi0=$(cat /sys/devices/virtual/ubi/ubi0/mtd_num) | 		mtd_ubi0=$(cat /sys/class/ubi/ubi0/mtd_num) | ||||||
| 		case $(grep -E ^mtd${mtd_ubi0}: /proc/mtd | cut -d '"' -f 2) in | 		case $(grep -E ^mtd${mtd_ubi0}: /proc/mtd | cut -d '"' -f 2) in | ||||||
| 		kernel1|rootfs1) | 		kernel1|rootfs1) | ||||||
| 			cur_boot_part=1 | 			cur_boot_part=1 | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Daniel Golle
					Daniel Golle