Skip to content
This repository has been archived by the owner on May 8, 2024. It is now read-only.

Changing to execute kexec on poweroff #480

Merged
merged 1 commit into from
Jan 10, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions docker/syno-compiler/files/opt/do.sh
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ function compile-module {
echo "Platform ${1} not found."
exit 1
fi
unset VALID
echo -e "Compiling module for \033[7m${PLATFORM}-${KVER}\033[0m..."
cp -R /input /tmp
export-vars ${PLATFORM}
Expand Down
23 changes: 17 additions & 6 deletions files/board/arpl/kernel_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,10 @@ CONFIG_CGROUP_SCHED=y
CONFIG_CGROUP_FREEZER=y
CONFIG_CPUSETS=y
CONFIG_CGROUP_CPUACCT=y
CONFIG_NAMESPACES=y
CONFIG_BLK_DEV_INITRD=y
CONFIG_KALLSYMS_ALL=y
CONFIG_EMBEDDED=y
# CONFIG_COMPAT_BRK is not set
CONFIG_PROFILING=y
CONFIG_SMP=y
Expand All @@ -31,8 +33,6 @@ CONFIG_NUMA=y
CONFIG_X86_CHECK_BIOS_CORRUPTION=y
# CONFIG_MTRR_SANITIZER is not set
CONFIG_EFI=y
CONFIG_EFI_STUB=y
CONFIG_EFI_MIXED=y
CONFIG_HZ_1000=y
CONFIG_KEXEC=y
CONFIG_CRASH_DUMP=y
Expand Down Expand Up @@ -362,15 +362,27 @@ CONFIG_AGP_INTEL=y
CONFIG_DRM=y
CONFIG_FB=y
CONFIG_FIRMWARE_EDID=y
CONFIG_FB_TILEBLITTING=y
CONFIG_FB_VGA16=m
CONFIG_FB_UVESA=m
CONFIG_FB_MODE_HELPERS=y
CONFIG_FB_VESA=y
CONFIG_FB_EFI=y
CONFIG_BACKLIGHT_CLASS_DEVICE=y
CONFIG_FRAMEBUFFER_CONSOLE=y
CONFIG_HIDRAW=y
CONFIG_HID_A4TECH=y
CONFIG_HID_APPLE=y
CONFIG_HID_BELKIN=y
CONFIG_HID_CHERRY=y
CONFIG_HID_CHICONY=y
CONFIG_HID_CYPRESS=y
CONFIG_HID_EZKEY=y
CONFIG_HID_GYRATION=y
CONFIG_HID_ITE=y
CONFIG_HID_KENSINGTON=y
CONFIG_HID_LOGITECH=y
CONFIG_LOGITECH_FF=y
CONFIG_HID_REDRAGON=y
CONFIG_HID_MICROSOFT=y
CONFIG_HID_MONTEREY=y
CONFIG_HID_NTRIG=y
CONFIG_HID_PANTHERLORD=y
CONFIG_PANTHERLORD_FF=y
Expand Down Expand Up @@ -473,7 +485,6 @@ CONFIG_SYSTEM_TRUSTED_KEYRING=y
CONFIG_CRC_CCITT=y
CONFIG_PRINTK_TIME=y
CONFIG_MAGIC_SYSRQ=y
CONFIG_DEBUG_KERNEL=y
CONFIG_DEBUG_STACK_USAGE=y
# CONFIG_SCHED_DEBUG is not set
CONFIG_SCHEDSTATS=y
Expand Down
1 change: 1 addition & 0 deletions files/board/arpl/overlayfs/etc/inittab
Original file line number Diff line number Diff line change
Expand Up @@ -43,3 +43,4 @@ ttyS0::askfirst:/sbin/agetty -a root ttyS0 115200 linux
::shutdown:/etc/init.d/rcK
::shutdown:/sbin/swapoff -a
::shutdown:/bin/umount -a -r
::shutdown:/usr/sbin/kexec -e -a
5 changes: 2 additions & 3 deletions files/board/arpl/overlayfs/opt/arpl/boot.sh
Original file line number Diff line number Diff line change
Expand Up @@ -154,7 +154,6 @@ if [ "${EFI_BUG}" = "yes" -a ${EFI} -eq 1 ]; then
else
kexec -l "${MOD_ZIMAGE_FILE}" --initrd "${MOD_RDGZ_FILE}" --command-line="${CMDLINE_LINE}" >"${LOG_FILE}" 2>&1 || dieLog
fi
/sbin/swapoff -a >/dev/null 2>&1 || true
/bin/umount -a -r >/dev/null 2>&1 || true
echo -e "\033[1;37mBooting...\033[0m"
kexec -e -a >"${LOG_FILE}" 2>&1 || dieLog
poweroff
while true; do sleep 1; done # infinity loop
Binary file added files/board/arpl/p1/grub/fonts/unicode.pf2
Binary file not shown.
72 changes: 47 additions & 25 deletions files/board/arpl/p1/grub/grub.cfg
Original file line number Diff line number Diff line change
@@ -1,15 +1,50 @@
insmod search
insmod echo
insmod terminal
insmod test

terminal_input console
terminal_output console
insmod font
insmod loadenv
insmod serial
insmod usb_keyboard
insmod linux
insmod gzio
insmod fat
insmod ext2

set default="boot"
set timeout="5"
set timeout_style="menu"

insmod loadenv
function load_video {
if [ x$feature_all_video_module = xy ]; then
insmod all_video
else
insmod efi_gop
insmod efi_uga
insmod ieee1275_fb
insmod vbe
insmod vga
insmod video_bochs
insmod video_cirrus
fi
}

if loadfont unicode ; then
set gfxmode=auto
load_video
insmod gfxterm
#set gfxpayload=800x600
fi
terminal_output gfxterm

#set menu_color_normal=cyan/blue
#set menu_color_highlight=white/blue

if serial --unit=0 --speed=115200; then
terminal_input --append serial_com0
terminal_output --append serial_com0
fi

if [ -s $prefix/grubenv ]; then
load_env
fi
Expand All @@ -22,34 +57,18 @@ if [ "${next_entry}" ]; then
save_env next_entry
fi

insmod usb_keyboard
insmod part_msdos
insmod ext2
insmod fat
insmod linux
insmod gzio

set gfxmode=auto
if [ "${grub_platform}" = "efi" ]; then
insmod efi_gop
insmod efi_uga
else
insmod vbe
insmod vga
fi

insmod serial
if serial --unit=0 --speed=115200; then
terminal_input --append serial_com0
terminal_output --append serial_com0
fi

insmod search
set TERM=tty2
search --set=root --label "ARPL3"
if [ -s /zImage-dsm -a -s /initrd-dsm ]; then
if [ "${default}" = "direct" ]; then
set timeout="1"
menuentry 'Boot DSM kernel directly' --id direct {
load_video
echo "Loading DSM kernel..."
linux /zImage-dsm console=ttyS0,115200n8 earlyprintk log_buf_len=32M earlycon=uart8250,io,0x3f8,115200n8 root=/dev/md0 loglevel=15 ${dsm_cmdline}
echo "Loading DSM initramfs..."
Expand All @@ -58,15 +77,17 @@ if [ -s /zImage-dsm -a -s /initrd-dsm ]; then
}
fi
menuentry 'Boot DSM' --id boot {
load_video
echo "Loading kernel..."
linux /bzImage-arpl console=tty2 net.ifnames=0 biosdevname=0
linux /bzImage-arpl console=${TERM} net.ifnames=0
echo "Loading initramfs..."
initrd /initrd-arpl
echo "Booting..."
}
menuentry 'Force re-install DSM' --id junior {
load_video
echo "Loading kernel..."
linux /bzImage-arpl console=tty2 net.ifnames=0 biosdevname=0 force_junior
linux /bzImage-arpl console=${TERM} net.ifnames=0 force_junior
echo "Loading initramfs..."
initrd /initrd-arpl
echo "Booting..."
Expand All @@ -76,8 +97,9 @@ else
fi

menuentry 'Configure loader' --id config {
load_video
echo "Loading kernel..."
linux /bzImage-arpl console=tty2 net.ifnames=0 biosdevname=0 IWANTTOCHANGETHECONFIG
linux /bzImage-arpl console=${TERM} net.ifnames=0 IWANTTOCHANGETHECONFIG
echo "Loading initramfs..."
initrd /initrd-arpl
echo "Booting..."
Expand Down