Initial commit
This commit is contained in:
		
							
								
								
									
										26
									
								
								target/linux/octeon/base-files/etc/board.d/01_network
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								target/linux/octeon/base-files/etc/board.d/01_network
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,26 @@ | ||||
| # | ||||
| # Copyright (C) 2014-2015 OpenWrt.org | ||||
| # | ||||
|  | ||||
| . /lib/functions/uci-defaults.sh | ||||
|  | ||||
| board_config_update | ||||
|  | ||||
| case "$(board_name)" in | ||||
| itus,shield-router) | ||||
| 	ucidef_set_interfaces_lan_wan "eth1 eth2" "eth0" | ||||
| 	;; | ||||
| ubnt,edgerouter-4) | ||||
| 	ucidef_set_interfaces_lan_wan "lan1 lan2 lan3" "lan0" | ||||
| 	;; | ||||
| ubnt,edgerouter-6p) | ||||
| 	ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4 lan5" "lan0" | ||||
| 	;; | ||||
| *) | ||||
| 	ucidef_set_interfaces_lan_wan "eth0" "eth1" | ||||
| 	;; | ||||
| esac | ||||
|  | ||||
| board_config_flush | ||||
|  | ||||
| exit 0 | ||||
							
								
								
									
										40
									
								
								target/linux/octeon/base-files/lib/preinit/01_sysinfo
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								target/linux/octeon/base-files/lib/preinit/01_sysinfo
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,40 @@ | ||||
| do_sysinfo_octeon() { | ||||
| 	local machine | ||||
| 	local name | ||||
|  | ||||
| 	machine=$(grep "^system type" /proc/cpuinfo | sed "s/system type.*: \(.*\)/\1/g") | ||||
|  | ||||
| 	case "$machine" in | ||||
| 	"UBNT_E100"*) | ||||
| 		name="erlite" | ||||
| 		;; | ||||
|  | ||||
| 	"UBNT_E200"*) | ||||
| 		name="er" | ||||
| 		;; | ||||
|  | ||||
| 	"UBNT_E220"*) | ||||
| 		name="erpro" | ||||
| 		;; | ||||
|  | ||||
| 	"UBNT_E300"*) | ||||
| 		# let generic 02_sysinfo handle it since device has its own device tree | ||||
| 		return 0 | ||||
| 		;; | ||||
|  | ||||
| 	"ITUS_SHIELD"*) | ||||
| 		name="itus,shield-router" | ||||
| 		;; | ||||
|  | ||||
| 	*) | ||||
| 		name="generic" | ||||
| 		;; | ||||
| 	esac | ||||
|  | ||||
| 	[ -e "/tmp/sysinfo/" ] || mkdir -p "/tmp/sysinfo/" | ||||
|  | ||||
| 	echo "$name" > /tmp/sysinfo/board_name | ||||
| 	echo "$machine" > /tmp/sysinfo/model | ||||
| } | ||||
|  | ||||
| boot_hook_add preinit_main do_sysinfo_octeon | ||||
							
								
								
									
										31
									
								
								target/linux/octeon/base-files/lib/preinit/79_move_config
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								target/linux/octeon/base-files/lib/preinit/79_move_config
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,31 @@ | ||||
| # Copyright (C) 2014 OpenWrt.org | ||||
|  | ||||
| move_config() { | ||||
| 	. /lib/upgrade/common.sh | ||||
|  | ||||
| 	local device="$1" | ||||
| 	[ -n "$device" ] && [ -b "$device" ] && { | ||||
| 		mount -t vfat "$device" /mnt | ||||
| 		[ -f "/mnt/$BACKUP_FILE" ] && mv -f "/mnt/$BACKUP_FILE" / | ||||
| 		umount /mnt | ||||
| 	} | ||||
| } | ||||
|  | ||||
| octeon_move_config() { | ||||
| 	. /lib/functions.sh | ||||
|  | ||||
| 	case "$(board_name)" in | ||||
| 		erlite) | ||||
| 			move_config "/dev/sda1" | ||||
| 			;; | ||||
| 		itus,shield-router) | ||||
| 			move_config "/dev/mmcblk1p1" | ||||
| 			;; | ||||
| 		ubnt,edgerouter-4 | \ | ||||
| 		ubnt,edgerouter-6p) | ||||
| 			move_config "/dev/mmcblk0p1" | ||||
| 			;; | ||||
| 	esac | ||||
| } | ||||
|  | ||||
| boot_hook_add preinit_mount_root octeon_move_config | ||||
							
								
								
									
										135
									
								
								target/linux/octeon/base-files/lib/upgrade/platform.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										135
									
								
								target/linux/octeon/base-files/lib/upgrade/platform.sh
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,135 @@ | ||||
| # | ||||
| # Copyright (C) 2021 OpenWrt.org | ||||
| # | ||||
|  | ||||
| platform_get_rootfs() { | ||||
| 	local rootfsdev | ||||
|  | ||||
| 	if read cmdline < /proc/cmdline; then | ||||
| 		case "$cmdline" in | ||||
| 			*root=*) | ||||
| 				rootfsdev="${cmdline##*root=}" | ||||
| 				rootfsdev="${rootfsdev%% *}" | ||||
| 			;; | ||||
| 		esac | ||||
|  | ||||
| 		echo "${rootfsdev}" | ||||
| 	fi | ||||
| } | ||||
|  | ||||
| platform_copy_config_helper() { | ||||
| 	local device=$1 | ||||
|  | ||||
| 	mount -t vfat "$device" /mnt | ||||
| 	cp -af "$UPGRADE_BACKUP" "/mnt/$BACKUP_FILE" | ||||
| 	umount /mnt | ||||
| } | ||||
|  | ||||
| platform_copy_config() { | ||||
| 	case "$(board_name)" in | ||||
| 	erlite) | ||||
| 		platform_copy_config_helper /dev/sda1 | ||||
| 		;; | ||||
| 	itus,shield-router) | ||||
| 		platform_copy_config_helper /dev/mmcblk1p1 | ||||
| 		;; | ||||
| 	ubnt,edgerouter-4|\ | ||||
| 	ubnt,edgerouter-6p) | ||||
| 		platform_copy_config_helper /dev/mmcblk0p1 | ||||
| 		;; | ||||
| 	esac | ||||
| } | ||||
|  | ||||
| platform_do_flash() { | ||||
| 	local tar_file=$1 | ||||
| 	local board=$2 | ||||
| 	local kernel=$3 | ||||
| 	local rootfs=$4 | ||||
|  | ||||
| 	local board_dir=$(tar tf "$tar_file" | grep -m 1 '^sysupgrade-.*/$') | ||||
| 	board_dir=${board_dir%/} | ||||
| 	[ -n "$board_dir" ] || return 1 | ||||
|  | ||||
| 	mkdir -p /boot | ||||
|  | ||||
| 	if [ $board = "itus,shield-router" ]; then | ||||
| 		# mmcblk1p1 (fat) contains all ELF-bin images for the Shield | ||||
| 		mount /dev/mmcblk1p1 /boot | ||||
|  | ||||
| 		echo "flashing Itus Kernel to /boot/$kernel (/dev/mmblk1p1)" | ||||
| 		tar -Oxf $tar_file "$board_dir/kernel" > /boot/$kernel | ||||
| 	else | ||||
| 		mount -t vfat /dev/$kernel /boot | ||||
|  | ||||
| 		[ -f /boot/vmlinux.64 -a ! -L /boot/vmlinux.64 ] && { | ||||
| 			mv /boot/vmlinux.64 /boot/vmlinux.64.previous | ||||
| 			mv /boot/vmlinux.64.md5 /boot/vmlinux.64.md5.previous | ||||
| 		} | ||||
|  | ||||
| 		echo "flashing kernel to /dev/$kernel" | ||||
| 		tar xf $tar_file $board_dir/kernel -O > /boot/vmlinux.64 | ||||
| 		md5sum /boot/vmlinux.64 | cut -f1 -d " " > /boot/vmlinux.64.md5 | ||||
| 	fi | ||||
|  | ||||
| 	echo "flashing rootfs to ${rootfs}" | ||||
| 	tar xf $tar_file $board_dir/root -O | dd of="${rootfs}" bs=4096 | ||||
|  | ||||
| 	sync | ||||
| 	umount /boot | ||||
| } | ||||
|  | ||||
| platform_do_upgrade() { | ||||
| 	local tar_file="$1" | ||||
| 	local board=$(board_name) | ||||
| 	local rootfs="$(platform_get_rootfs)" | ||||
| 	local kernel= | ||||
|  | ||||
| 	[ -b "${rootfs}" ] || return 1 | ||||
| 	case "$board" in | ||||
| 	er | \ | ||||
| 	ubnt,edgerouter-4 | \ | ||||
| 	ubnt,edgerouter-6p) | ||||
| 		kernel=mmcblk0p1 | ||||
| 		;; | ||||
| 	erlite) | ||||
| 		kernel=sda1 | ||||
| 		;; | ||||
| 	itus,shield-router) | ||||
| 		kernel=ItusrouterImage | ||||
| 		;; | ||||
| 	*) | ||||
| 		return 1 | ||||
| 	esac | ||||
|  | ||||
| 	platform_do_flash $tar_file $board $kernel $rootfs | ||||
|  | ||||
| 	return 0 | ||||
| } | ||||
|  | ||||
| platform_check_image() { | ||||
| 	local board=$(board_name) | ||||
| 	local tar_file="$1" | ||||
|  | ||||
| 	local board_dir=$(tar tf "$tar_file" | grep -m 1 '^sysupgrade-.*/$') | ||||
| 	board_dir=${board_dir%/} | ||||
| 	[ -n "$board_dir" ] || return 1 | ||||
|  | ||||
| 	case "$board" in | ||||
| 	er | \ | ||||
| 	erlite | \ | ||||
| 	itus,shield-router | \ | ||||
| 	ubnt,edgerouter-4 | \ | ||||
| 	ubnt,edgerouter-6p) | ||||
| 		local kernel_length=$(tar xf $tar_file $board_dir/kernel -O | wc -c 2> /dev/null) | ||||
| 		local rootfs_length=$(tar xf $tar_file $board_dir/root -O | wc -c 2> /dev/null) | ||||
| 		[ "$kernel_length" = 0 -o "$rootfs_length" = 0 ] && { | ||||
| 			echo "The upgrade image is corrupt." | ||||
| 			return 1 | ||||
| 		} | ||||
| 		return 0 | ||||
| 		;; | ||||
| 	esac | ||||
|  | ||||
| 	echo "Sysupgrade is not yet supported on $board." | ||||
| 	return 1 | ||||
| } | ||||
		Reference in New Issue
	
	Block a user
	 domenico
					domenico