Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
tbblgm119
lede
提交
47680abe
L
lede
项目概览
tbblgm119
/
lede
与 Fork 源项目一致
从无法访问的项目Fork
通知
7
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
L
lede
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
47680abe
编写于
1月 24, 2019
作者:
C
coolsnowwolf
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
ipq40xx: EA6350 v3 dualboot support
上级
67536373
变更
4
显示空白变更内容
内联
并排
Showing
4 changed file
with
144 addition
and
7 deletion
+144
-7
target/linux/ipq40xx/base-files/etc/init.d/zlinksys_recovery
target/linux/ipq40xx/base-files/etc/init.d/zlinksys_recovery
+34
-0
target/linux/ipq40xx/base-files/lib/upgrade/linksys.sh
target/linux/ipq40xx/base-files/lib/upgrade/linksys.sh
+95
-0
target/linux/ipq40xx/base-files/lib/upgrade/platform.sh
target/linux/ipq40xx/base-files/lib/upgrade/platform.sh
+3
-1
target/linux/ipq40xx/image/Makefile
target/linux/ipq40xx/image/Makefile
+12
-6
未找到文件。
target/linux/ipq40xx/base-files/etc/init.d/zlinksys_recovery
0 → 100755
浏览文件 @
47680abe
#!/bin/sh /etc/rc.common
#
# This script sets auto_recovery to "yes" and resets the boot counter to 0.
# As a golden rule, this should be the latest script to run at boot. For a
# developer snapshot, it is fine to set auto_recovery here. But for a stable
# release, this script must in fact turn off auto_recovery.
#
# Why? Because the custom sysupgrade script for the device will turn on
# auto_recovery to "yes". And it's the job of this script to set the
# boot boot_count to 0 and then disable auto_recovery, as that condition
# means that the stable release went well.
#
# I have to repeat: this script should be changed for stable releases.
START
=
99
boot
()
{
.
/lib/functions.sh
case
$(
board_name
)
in
linksys,ea6350v3
)
# make sure auto_recovery in uboot is always on
IS_AUTO_RECOVERY
=
"
$(
fw_printenv
-n
auto_recovery
)
"
if
[
"
$IS_AUTO_RECOVERY
"
!=
"yes"
]
;
then
fw_setenv auto_recovery
yes
echo
"Linksys EA6350v3: fw_setenv: auto_recovery has been set to yes"
fi
# reset the boot counter
fw_setenv boot_count 0
mtd resetbc s_env
echo
"Linksys EA6350v3: boot counter has been reset"
echo
"Linksys EA6350v3: boot_part=
$(
fw_printenv
-n
boot_part
)
"
;;
esac
}
target/linux/ipq40xx/base-files/lib/upgrade/linksys.sh
0 → 100644
浏览文件 @
47680abe
linksys_get_target_firmware
()
{
cur_boot_part
=
$(
/usr/sbin/fw_printenv
-n
boot_part
)
target_firmware
=
""
if
[
"
$cur_boot_part
"
=
"1"
]
;
then
# current primary boot - update alt boot
target_firmware
=
"alt_kernel"
fw_setenv boot_part 2
# In the Linksys EA6350v3, it is enough to set the boot_part as the boot command line is
# bootcmd=if test $boot_part = 1; then run bootpart1; else run bootpart2; fi
# - You probably want to use that if your device's uboot does not eval bootcmd
#fw_setenv bootcmd "run altnandboot"
elif
[
"
$cur_boot_part
"
=
"2"
]
;
then
# current alt boot - update primary boot
target_firmware
=
"kernel"
fw_setenv boot_part 1
#fw_setenv bootcmd "run nandboot"
fi
# re-enable recovery so we get back if the new firmware is broken
fw_setenv auto_recovery
yes
# see /etc/init.d/zlinksys_recovery
echo
"
$target_firmware
"
}
linksys_get_root_magic
()
{
(
get_image
"
$@
"
|
dd
skip
=
786432
bs
=
4
count
=
1 | hexdump
-v
-n
4
-e
'1/1 "%02x"'
)
2>/dev/null
}
platform_do_upgrade_linksys
()
{
local
magic_long
=
"
$(
get_magic_long
"
$1
"
)
"
mkdir
-p
/var/lock
local
part_label
=
"
$(
linksys_get_target_firmware
)
"
touch
/var/lock/fw_printenv.lock
if
[
!
-n
"
$part_label
"
]
;
then
echo
"cannot find target partition"
exit
1
fi
local
target_mtd
=
$(
find_mtd_part
$part_label
)
[
"
$magic_long
"
=
"73797375"
]
&&
{
CI_KERNPART
=
"
$part_label
"
if
[
"
$part_label
"
=
"kernel"
]
;
then
CI_UBIPART
=
"rootfs"
else
CI_UBIPART
=
"alt_rootfs"
fi
# remove "squashfs" vol (in case we are flashing over a stock image, which is also UBI)
local
mtdnum
=
"
$(
find_mtd_index
"
$CI_UBIPART
"
)
"
if
[
!
"
$mtdnum
"
]
;
then
echo
"cannot find ubi mtd partition
$CI_UBIPART
"
return
1
fi
local
ubidev
=
"
$(
nand_find_ubi
"
$CI_UBIPART
"
)
"
if
[
!
"
$ubidev
"
]
;
then
ubiattach
-m
"
$mtdnum
"
sync
ubidev
=
"
$(
nand_find_ubi
"
$CI_UBIPART
"
)
"
fi
if
[
"
$ubidev
"
]
;
then
local
squash_ubivol
=
"
$(
nand_find_volume
$ubidev
squashfs
)
"
# kill volume
[
"
$squash_ubivol
"
]
&&
ubirmvol /dev/
$ubidev
-N
squashfs
||
true
fi
# complete std upgrade
nand_upgrade_tar
"
$1
"
}
[
"
$magic_long
"
=
"27051956"
]
&&
{
# This magic is for a uImage (which is a sysupgrade image)
# check firmwares' rootfs types
local
oldroot
=
"
$(
linksys_get_root_magic
$target_mtd
)
"
local
newroot
=
"
$(
linksys_get_root_magic
"
$1
"
)
"
if
[
"
$newroot
"
=
"55424923"
-a
"
$oldroot
"
=
"55424923"
]
;
then
# we're upgrading from a firmware with UBI to one with UBI
# erase everything to be safe
# - Is that really needed? Won't remove (or comment) the if, because it may be needed in a future device.
#mtd erase $part_label
#get_image "$1" | mtd -n write - $part_label
echo
"writing
\"
$1
\"
UBI image to
\"
$part_label
\"
(UBI)..."
get_image
"
$1
"
| mtd write -
$part_label
else
echo
"writing
\"
$1
\"
image to
\"
$part_label
\"
"
get_image
"
$1
"
| mtd write -
$part_label
fi
}
}
target/linux/ipq40xx/base-files/lib/upgrade/platform.sh
浏览文件 @
47680abe
...
...
@@ -164,7 +164,6 @@ platform_do_upgrade() {
;;
asus,rt-ac1300uhp
|
\
asus,rt-acrh17|
\
linksys,ea6350v3
|
\
asus,rt-ac58u
)
local
magic
=
$(
get_magic_long
"
$1
"
)
CI_UBIPART
=
"UBI_DEV"
...
...
@@ -176,6 +175,9 @@ platform_do_upgrade() {
asus_nand_upgrade_tar 20951040
"
$1
"
fi
;;
linksys,ea6350v3
)
platform_do_upgrade_linksys
"
$ARGV
"
;;
openmesh,a42
|
\
openmesh,a62
)
PART_NAME
=
"inactive"
...
...
target/linux/ipq40xx/image/Makefile
浏览文件 @
47680abe
...
...
@@ -26,6 +26,12 @@ define Device/FitImageLzma
KERNEL_NAME
:=
Image
endef
define
Device/FitzImage
KERNEL_SUFFIX
:=
-fit-zImage
.itb
KERNEL
=
kernel-bin | fit none
$
$(DTS_DIR)
/
$
$(DEVICE_DTS)
.dtb
KERNEL_NAME
:=
zImage
endef
define
Device/UbiFit
KERNEL_IN_UBI
:=
1
IMAGES
:=
nand-factory.ubi nand-sysupgrade.bin
...
...
@@ -231,16 +237,16 @@ endef
TARGET_DEVICES
+=
qcom_ap-dk01.1-c1
define
Device/linksys_ea6350v3
$(call
Device/FitzImage)
DEVICE_TITLE
:=
Linksys EA6350v3
BOARD_NAME
:=
ea6350v3
DEVICE_DTS
:=
qcom-ipq4018-ea6350v3
DTB_SIZE
:=
65536
BLOCKSIZE
:=
128k
IMAGE_SIZE
:=
20439364
FILESYSTEMS
:=
squashfs
PAGESIZE
:=
2048
KERNEL_SIZE
:=
3145728
IMAGE_SIZE
:=
38797312
UBINIZE_OPTS
:=
-E
5
IMAGES
:=
sysupgrade.bin
$(call
Device/FitImage)
DEVICE_PACKAGES
:=
ath10k-firmware-qca4019 ipq-wifi-linksys_ea6350v3
DEVICE_PACKAGES
:=
ath10k-firmware-qca4019 ipq-wifi-linksys_ea6350v3 uboot-envtools
endef
TARGET_DEVICES
+=
linksys_ea6350v3
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录