2 # Copyright (C) 2016 lede-project.org
8 if read cmdline
< /proc
/cmdline
; then
11 rootfsdev
="${cmdline##*root=}"
12 rootfsdev
="${rootfsdev%% *}"
26 # keep sure its unbound
27 losetup
--detach-all ||
{
28 echo Failed to detach all loop devices. Skip this try.
32 echo "flashing kernel to /dev/${kernel}"
33 tar xf
$tar_file sysupgrade-
$board/kernel
-O >/dev
/$kernel
35 echo "flashing rootfs to ${rootfs}"
36 tar xf
$tar_file sysupgrade-
$board/root
-O >"${rootfs}"
38 # a padded rootfs is needed for overlay fs creation
39 local offset
=$
(tar xf
$tar_file sysupgrade-
$board/root
-O |
wc -c)
40 [ $offset -lt 65536 ] && {
41 echo Wrong size
for rootfs
: $offset
46 # Mount loop for rootfs_data
47 losetup
-o $offset /dev
/loop0
"${rootfs}" ||
{
48 echo "Failed to mount looped rootfs_data."
53 echo "Format new rootfs_data at position ${offset}."
54 mkfs.ext4
-F -L rootfs_data
/dev
/loop0
56 mount
-t ext4
/dev
/loop0
/tmp
/new_root
&& {
57 echo "Saving config to rootfs_data at position ${offset}."
58 cp -v /tmp
/sysupgrade.tgz
/tmp
/new_root
/
63 losetup
-d /dev
/loop0
>/dev
/null
2>&1
71 local board
=$
(board_name
)
72 local rootfs
="$(zyxel_get_rootfs)"
75 [ -b "${rootfs}" ] ||
return 1
95 zyxel_do_flash
$tar_file $board $kernel $rootfs