|  | #!/bin/sh | 
|  |  | 
|  | # Write 1 to /sys/class/watchdog/watchdog1/access_cs0 to reset the boot code | 
|  | # selection and reset the chip select, so that the next boot is from the | 
|  | # primary chip. | 
|  | # This needs to be done in the shutdown script after umount the rootfs, | 
|  | # otherwise the filesystem will get error because the content is switched | 
|  | # back to CS0 chip. | 
|  |  | 
|  | SHUTDOWN_EXTRA_SCRIPT="/run/initramfs/shutdown_task_after_umount" | 
|  |  | 
|  | cat <<'EOF' >"${SHUTDOWN_EXTRA_SCRIPT}" | 
|  | #!/bin/sh | 
|  | ACCESS_CS0="/sys/class/watchdog/watchdog1/access_cs0" | 
|  | if [ -f "${ACCESS_CS0}" ]; then | 
|  | echo "Reset aspeed chip select" | 
|  | echo 1 > "${ACCESS_CS0}" | 
|  | fi | 
|  | EOF | 
|  | chmod +x "${SHUTDOWN_EXTRA_SCRIPT}" | 
|  |  | 
|  |  | 
|  | # Insert the shutdown_task_after_umount into the shutdown script | 
|  | # This change could be apply to obmc-shutdown.sh in obmc-phosphor-initfs.bb | 
|  | # if this is accepted. | 
|  | sed -i "s/echo Remaining mounts/\/run\/initramfs\/shutdown_task_after_umount\\necho Remaining mounts/" /run/initramfs/shutdown |