mirror of
https://github.com/PartialVolume/shredos.x86_64.git
synced 2026-02-20 09:35:26 +00:00
fix: embed grub finder configuration
Helps GRUB find the ShredOS volume when it otherwise cannot (such as when the IMG is used with Ventoy in BIOS) Signed-off-by: desertwitch <24509509+desertwitch@users.noreply.github.com>
This commit is contained in:
16
board/shredos/embed/README
Normal file
16
board/shredos/embed/README
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
This file is embedded into the GRUB bootloaders at build-time
|
||||||
|
Helps GRUB find our ShredOS volume when it cannot (Ventoy BIOS)
|
||||||
|
There is no point to put it anywhere on the USB - so don't do that.
|
||||||
|
|
||||||
|
Keep consistent with BR2_TARGET_ROOTFS_ISO9660_GRUB2_EFI_IDENT_FILE
|
||||||
|
when building any configurations that build both an ISO and the IMG.
|
||||||
|
|
||||||
|
Do not use the version file as identification file though, because
|
||||||
|
the ISO9660 filesystem does not have it (but has the needed grub.cfg),
|
||||||
|
so you should always use a unique file not otherwise used for anything.
|
||||||
|
|
||||||
|
Also ensure it is in a location where users cannot delete it by accident.
|
||||||
|
|
||||||
|
Note that contrary to the GNU manual the BIOS bootloader seems to need an
|
||||||
|
explicit "configfile" directive, otherwise the Buildroot static prefix takes
|
||||||
|
precedence over the actual found volume path (which may be entirely different).
|
||||||
3
board/shredos/embed/grub.cfg
Normal file
3
board/shredos/embed/grub.cfg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
search --file --set=root /boot/buildroot
|
||||||
|
set prefix=($root)/boot/grub
|
||||||
|
configfile $prefix/grub.cfg
|
||||||
@@ -4,6 +4,7 @@ image boot.vfat {
|
|||||||
file boot/bzImage { image = 'bzImage' }
|
file boot/bzImage { image = 'bzImage' }
|
||||||
file boot/grub/grub.cfg { image = 'grub.cfg' }
|
file boot/grub/grub.cfg { image = 'grub.cfg' }
|
||||||
file boot/version.txt { image = 'version.txt' }
|
file boot/version.txt { image = 'version.txt' }
|
||||||
|
file boot/buildroot { image = '/dev/null' }
|
||||||
file EFI/BOOT/bootx64.efi { image = 'bootx64.efi' }
|
file EFI/BOOT/bootx64.efi { image = 'bootx64.efi' }
|
||||||
file EFI/BOOT/grub.cfg { image = 'grub.cfg' }
|
file EFI/BOOT/grub.cfg { image = 'grub.cfg' }
|
||||||
file shredos.ico { image = 'shredos.ico' }
|
file shredos.ico { image = 'shredos.ico' }
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ image boot.vfat {
|
|||||||
file boot/bzImage { image = 'bzImage' }
|
file boot/bzImage { image = 'bzImage' }
|
||||||
file boot/grub/grub.cfg { image = 'grub.cfg' }
|
file boot/grub/grub.cfg { image = 'grub.cfg' }
|
||||||
file boot/version.txt { image = 'version.txt' }
|
file boot/version.txt { image = 'version.txt' }
|
||||||
|
file boot/buildroot { image = '/dev/null' }
|
||||||
file EFI/BOOT/bootia32.efi { image = 'bootia32.efi' }
|
file EFI/BOOT/bootia32.efi { image = 'bootia32.efi' }
|
||||||
file EFI/BOOT/grub.cfg { image = 'grub.cfg' }
|
file EFI/BOOT/grub.cfg { image = 'grub.cfg' }
|
||||||
file shredos.ico { image = 'shredos.ico' }
|
file shredos.ico { image = 'shredos.ico' }
|
||||||
|
|||||||
@@ -175,7 +175,9 @@ BR2_TARGET_GRUB2=y
|
|||||||
BR2_TARGET_GRUB2_I386_PC=y
|
BR2_TARGET_GRUB2_I386_PC=y
|
||||||
BR2_TARGET_GRUB2_X86_64_EFI=y
|
BR2_TARGET_GRUB2_X86_64_EFI=y
|
||||||
BR2_TARGET_GRUB2_BUILTIN_MODULES_PC="boot linux ext2 fat squash4 part_msdos part_gpt normal progress biosdisk all_video video_cirrus video_bochs net tftp gzio test eval read true gfxterm gfxterm_menu gfxmenu gfxterm_background png usb usb_keyboard search configfile"
|
BR2_TARGET_GRUB2_BUILTIN_MODULES_PC="boot linux ext2 fat squash4 part_msdos part_gpt normal progress biosdisk all_video video_cirrus video_bochs net tftp gzio test eval read true gfxterm gfxterm_menu gfxmenu gfxterm_background png usb usb_keyboard search configfile"
|
||||||
|
BR2_TARGET_GRUB2_BUILTIN_CONFIG_PC="board/shredos/embed/grub.cfg"
|
||||||
BR2_TARGET_GRUB2_BUILTIN_MODULES_EFI="boot linux ext2 fat squash4 part_msdos part_gpt normal progress efi_gop efi_uga all_video video_cirrus video_bochs net efinet tftp gzio test eval read true gfxterm gfxterm_menu gfxmenu gfxterm_background png usb usb_keyboard search configfile iso9660"
|
BR2_TARGET_GRUB2_BUILTIN_MODULES_EFI="boot linux ext2 fat squash4 part_msdos part_gpt normal progress efi_gop efi_uga all_video video_cirrus video_bochs net efinet tftp gzio test eval read true gfxterm gfxterm_menu gfxmenu gfxterm_background png usb usb_keyboard search configfile iso9660"
|
||||||
|
BR2_TARGET_GRUB2_BUILTIN_CONFIG_EFI="board/shredos/embed/grub.cfg"
|
||||||
BR2_TARGET_GRUB2_INSTALL_TOOLS=y
|
BR2_TARGET_GRUB2_INSTALL_TOOLS=y
|
||||||
BR2_TARGET_SYSLINUX=y
|
BR2_TARGET_SYSLINUX=y
|
||||||
BR2_PACKAGE_HOST_E2FSPROGS=y
|
BR2_PACKAGE_HOST_E2FSPROGS=y
|
||||||
|
|||||||
@@ -172,7 +172,9 @@ BR2_TARGET_GRUB2=y
|
|||||||
BR2_TARGET_GRUB2_I386_PC=y
|
BR2_TARGET_GRUB2_I386_PC=y
|
||||||
BR2_TARGET_GRUB2_I386_EFI=y
|
BR2_TARGET_GRUB2_I386_EFI=y
|
||||||
BR2_TARGET_GRUB2_BUILTIN_MODULES_PC="boot linux ext2 fat squash4 part_msdos part_gpt normal progress biosdisk all_video video_cirrus video_bochs net tftp gzio test eval read true gfxterm gfxterm_menu gfxmenu gfxterm_background png usb usb_keyboard search configfile"
|
BR2_TARGET_GRUB2_BUILTIN_MODULES_PC="boot linux ext2 fat squash4 part_msdos part_gpt normal progress biosdisk all_video video_cirrus video_bochs net tftp gzio test eval read true gfxterm gfxterm_menu gfxmenu gfxterm_background png usb usb_keyboard search configfile"
|
||||||
|
BR2_TARGET_GRUB2_BUILTIN_CONFIG_PC="board/shredos/embed/grub.cfg"
|
||||||
BR2_TARGET_GRUB2_BUILTIN_MODULES_EFI="boot linux ext2 fat squash4 part_msdos part_gpt normal progress efi_gop efi_uga all_video video_cirrus video_bochs net efinet tftp gzio test eval read true gfxterm gfxterm_menu gfxmenu gfxterm_background png usb usb_keyboard search configfile iso9660"
|
BR2_TARGET_GRUB2_BUILTIN_MODULES_EFI="boot linux ext2 fat squash4 part_msdos part_gpt normal progress efi_gop efi_uga all_video video_cirrus video_bochs net efinet tftp gzio test eval read true gfxterm gfxterm_menu gfxmenu gfxterm_background png usb usb_keyboard search configfile iso9660"
|
||||||
|
BR2_TARGET_GRUB2_BUILTIN_CONFIG_EFI="board/shredos/embed/grub.cfg"
|
||||||
BR2_TARGET_GRUB2_INSTALL_TOOLS=y
|
BR2_TARGET_GRUB2_INSTALL_TOOLS=y
|
||||||
BR2_TARGET_SYSLINUX=y
|
BR2_TARGET_SYSLINUX=y
|
||||||
BR2_PACKAGE_HOST_E2FSPROGS=y
|
BR2_PACKAGE_HOST_E2FSPROGS=y
|
||||||
|
|||||||
@@ -165,13 +165,14 @@ BR2_PACKAGE_UTIL_LINUX_SU=y
|
|||||||
BR2_PACKAGE_UTIL_LINUX_SULOGIN=y
|
BR2_PACKAGE_UTIL_LINUX_SULOGIN=y
|
||||||
BR2_TARGET_ROOTFS_CPIO_LZMA=y
|
BR2_TARGET_ROOTFS_CPIO_LZMA=y
|
||||||
BR2_TARGET_ROOTFS_INITRAMFS=y
|
BR2_TARGET_ROOTFS_INITRAMFS=y
|
||||||
# BR2_TARGET_ROOTFS_ISO9660_INITRD is not set
|
|
||||||
# BR2_TARGET_ROOTFS_TAR is not set
|
# BR2_TARGET_ROOTFS_TAR is not set
|
||||||
BR2_TARGET_GRUB2=y
|
BR2_TARGET_GRUB2=y
|
||||||
BR2_TARGET_GRUB2_I386_PC=y
|
BR2_TARGET_GRUB2_I386_PC=y
|
||||||
BR2_TARGET_GRUB2_X86_64_EFI=y
|
BR2_TARGET_GRUB2_X86_64_EFI=y
|
||||||
BR2_TARGET_GRUB2_BUILTIN_MODULES_PC="boot linux ext2 fat squash4 part_msdos part_gpt normal progress biosdisk all_video video_cirrus video_bochs net tftp gzio test eval read true gfxterm gfxterm_menu gfxmenu gfxterm_background png usb usb_keyboard search configfile"
|
BR2_TARGET_GRUB2_BUILTIN_MODULES_PC="boot linux ext2 fat squash4 part_msdos part_gpt normal progress biosdisk all_video video_cirrus video_bochs net tftp gzio test eval read true gfxterm gfxterm_menu gfxmenu gfxterm_background png usb usb_keyboard search configfile"
|
||||||
|
BR2_TARGET_GRUB2_BUILTIN_CONFIG_PC="board/shredos/embed/grub.cfg"
|
||||||
BR2_TARGET_GRUB2_BUILTIN_MODULES_EFI="boot linux ext2 fat squash4 part_msdos part_gpt normal progress efi_gop efi_uga all_video video_cirrus video_bochs net efinet tftp gzio test eval read true gfxterm gfxterm_menu gfxmenu gfxterm_background png usb usb_keyboard search configfile"
|
BR2_TARGET_GRUB2_BUILTIN_MODULES_EFI="boot linux ext2 fat squash4 part_msdos part_gpt normal progress efi_gop efi_uga all_video video_cirrus video_bochs net efinet tftp gzio test eval read true gfxterm gfxterm_menu gfxmenu gfxterm_background png usb usb_keyboard search configfile"
|
||||||
|
BR2_TARGET_GRUB2_BUILTIN_CONFIG_EFI="board/shredos/embed/grub.cfg"
|
||||||
BR2_TARGET_GRUB2_INSTALL_TOOLS=y
|
BR2_TARGET_GRUB2_INSTALL_TOOLS=y
|
||||||
BR2_PACKAGE_HOST_E2FSPROGS=y
|
BR2_PACKAGE_HOST_E2FSPROGS=y
|
||||||
BR2_PACKAGE_HOST_GENIMAGE=y
|
BR2_PACKAGE_HOST_GENIMAGE=y
|
||||||
|
|||||||
@@ -162,13 +162,14 @@ BR2_PACKAGE_UTIL_LINUX_SU=y
|
|||||||
BR2_PACKAGE_UTIL_LINUX_SULOGIN=y
|
BR2_PACKAGE_UTIL_LINUX_SULOGIN=y
|
||||||
BR2_TARGET_ROOTFS_CPIO_LZMA=y
|
BR2_TARGET_ROOTFS_CPIO_LZMA=y
|
||||||
BR2_TARGET_ROOTFS_INITRAMFS=y
|
BR2_TARGET_ROOTFS_INITRAMFS=y
|
||||||
# BR2_TARGET_ROOTFS_ISO9660_INITRD is not set
|
|
||||||
# BR2_TARGET_ROOTFS_TAR is not set
|
# BR2_TARGET_ROOTFS_TAR is not set
|
||||||
BR2_TARGET_GRUB2=y
|
BR2_TARGET_GRUB2=y
|
||||||
BR2_TARGET_GRUB2_I386_PC=y
|
BR2_TARGET_GRUB2_I386_PC=y
|
||||||
BR2_TARGET_GRUB2_I386_EFI=y
|
BR2_TARGET_GRUB2_I386_EFI=y
|
||||||
BR2_TARGET_GRUB2_BUILTIN_MODULES_PC="boot linux ext2 fat squash4 part_msdos part_gpt normal progress biosdisk all_video video_cirrus video_bochs net tftp gzio test eval read true gfxterm gfxterm_menu gfxmenu gfxterm_background png usb usb_keyboard search configfile"
|
BR2_TARGET_GRUB2_BUILTIN_MODULES_PC="boot linux ext2 fat squash4 part_msdos part_gpt normal progress biosdisk all_video video_cirrus video_bochs net tftp gzio test eval read true gfxterm gfxterm_menu gfxmenu gfxterm_background png usb usb_keyboard search configfile"
|
||||||
|
BR2_TARGET_GRUB2_BUILTIN_CONFIG_PC="board/shredos/embed/grub.cfg"
|
||||||
BR2_TARGET_GRUB2_BUILTIN_MODULES_EFI="boot linux ext2 fat squash4 part_msdos part_gpt normal progress efi_gop efi_uga all_video video_cirrus video_bochs net efinet tftp gzio test eval read true gfxterm gfxterm_menu gfxmenu gfxterm_background png usb usb_keyboard search configfile"
|
BR2_TARGET_GRUB2_BUILTIN_MODULES_EFI="boot linux ext2 fat squash4 part_msdos part_gpt normal progress efi_gop efi_uga all_video video_cirrus video_bochs net efinet tftp gzio test eval read true gfxterm gfxterm_menu gfxmenu gfxterm_background png usb usb_keyboard search configfile"
|
||||||
|
BR2_TARGET_GRUB2_BUILTIN_CONFIG_EFI="board/shredos/embed/grub.cfg"
|
||||||
BR2_TARGET_GRUB2_INSTALL_TOOLS=y
|
BR2_TARGET_GRUB2_INSTALL_TOOLS=y
|
||||||
BR2_PACKAGE_HOST_E2FSPROGS=y
|
BR2_PACKAGE_HOST_E2FSPROGS=y
|
||||||
BR2_PACKAGE_HOST_GENIMAGE=y
|
BR2_PACKAGE_HOST_GENIMAGE=y
|
||||||
|
|||||||
@@ -174,6 +174,7 @@ BR2_TARGET_ROOTFS_ISO9660_HYBRID=y
|
|||||||
BR2_TARGET_GRUB2=y
|
BR2_TARGET_GRUB2=y
|
||||||
BR2_TARGET_GRUB2_X86_64_EFI=y
|
BR2_TARGET_GRUB2_X86_64_EFI=y
|
||||||
BR2_TARGET_GRUB2_BUILTIN_MODULES_EFI="boot linux ext2 fat squash4 part_msdos part_gpt normal progress efi_gop efi_uga all_video video_cirrus video_bochs net efinet tftp gzio test eval read true gfxterm gfxterm_menu gfxmenu gfxterm_background png usb usb_keyboard search configfile iso9660"
|
BR2_TARGET_GRUB2_BUILTIN_MODULES_EFI="boot linux ext2 fat squash4 part_msdos part_gpt normal progress efi_gop efi_uga all_video video_cirrus video_bochs net efinet tftp gzio test eval read true gfxterm gfxterm_menu gfxmenu gfxterm_background png usb usb_keyboard search configfile iso9660"
|
||||||
|
BR2_TARGET_GRUB2_BUILTIN_CONFIG_EFI="board/shredos/embed/grub.cfg"
|
||||||
BR2_TARGET_GRUB2_INSTALL_TOOLS=y
|
BR2_TARGET_GRUB2_INSTALL_TOOLS=y
|
||||||
BR2_TARGET_SYSLINUX=y
|
BR2_TARGET_SYSLINUX=y
|
||||||
BR2_PACKAGE_HOST_E2FSPROGS=y
|
BR2_PACKAGE_HOST_E2FSPROGS=y
|
||||||
|
|||||||
@@ -171,6 +171,7 @@ BR2_TARGET_ROOTFS_ISO9660_HYBRID=y
|
|||||||
BR2_TARGET_GRUB2=y
|
BR2_TARGET_GRUB2=y
|
||||||
BR2_TARGET_GRUB2_I386_EFI=y
|
BR2_TARGET_GRUB2_I386_EFI=y
|
||||||
BR2_TARGET_GRUB2_BUILTIN_MODULES_EFI="boot linux ext2 fat squash4 part_msdos part_gpt normal progress efi_gop efi_uga all_video video_cirrus video_bochs net efinet tftp gzio test eval read true gfxterm gfxterm_menu gfxmenu gfxterm_background png usb usb_keyboard search configfile iso9660"
|
BR2_TARGET_GRUB2_BUILTIN_MODULES_EFI="boot linux ext2 fat squash4 part_msdos part_gpt normal progress efi_gop efi_uga all_video video_cirrus video_bochs net efinet tftp gzio test eval read true gfxterm gfxterm_menu gfxmenu gfxterm_background png usb usb_keyboard search configfile iso9660"
|
||||||
|
BR2_TARGET_GRUB2_BUILTIN_CONFIG_EFI="board/shredos/embed/grub.cfg"
|
||||||
BR2_TARGET_GRUB2_INSTALL_TOOLS=y
|
BR2_TARGET_GRUB2_INSTALL_TOOLS=y
|
||||||
BR2_TARGET_SYSLINUX=y
|
BR2_TARGET_SYSLINUX=y
|
||||||
BR2_PACKAGE_HOST_E2FSPROGS=y
|
BR2_PACKAGE_HOST_E2FSPROGS=y
|
||||||
|
|||||||
@@ -167,12 +167,12 @@ BR2_TARGET_ROOTFS_CPIO_LZMA=y
|
|||||||
BR2_TARGET_ROOTFS_INITRAMFS=y
|
BR2_TARGET_ROOTFS_INITRAMFS=y
|
||||||
BR2_TARGET_ROOTFS_ISO9660=y
|
BR2_TARGET_ROOTFS_ISO9660=y
|
||||||
BR2_TARGET_ROOTFS_ISO9660_BOTH=y
|
BR2_TARGET_ROOTFS_ISO9660_BOTH=y
|
||||||
# BR2_TARGET_ROOTFS_ISO9660_INITRD is not set
|
|
||||||
BR2_TARGET_ROOTFS_ISO9660_HYBRID=y
|
BR2_TARGET_ROOTFS_ISO9660_HYBRID=y
|
||||||
# BR2_TARGET_ROOTFS_TAR is not set
|
# BR2_TARGET_ROOTFS_TAR is not set
|
||||||
BR2_TARGET_GRUB2=y
|
BR2_TARGET_GRUB2=y
|
||||||
BR2_TARGET_GRUB2_X86_64_EFI=y
|
BR2_TARGET_GRUB2_X86_64_EFI=y
|
||||||
BR2_TARGET_GRUB2_BUILTIN_MODULES_EFI="boot linux ext2 fat squash4 part_msdos part_gpt normal progress efi_gop efi_uga all_video video_cirrus video_bochs net efinet tftp gzio test eval read true gfxterm gfxterm_menu gfxmenu gfxterm_background png usb usb_keyboard search configfile iso9660"
|
BR2_TARGET_GRUB2_BUILTIN_MODULES_EFI="boot linux ext2 fat squash4 part_msdos part_gpt normal progress efi_gop efi_uga all_video video_cirrus video_bochs net efinet tftp gzio test eval read true gfxterm gfxterm_menu gfxmenu gfxterm_background png usb usb_keyboard search configfile iso9660"
|
||||||
|
BR2_TARGET_GRUB2_BUILTIN_CONFIG_EFI="board/shredos/embed/grub.cfg"
|
||||||
BR2_TARGET_GRUB2_INSTALL_TOOLS=y
|
BR2_TARGET_GRUB2_INSTALL_TOOLS=y
|
||||||
BR2_TARGET_SYSLINUX=y
|
BR2_TARGET_SYSLINUX=y
|
||||||
BR2_PACKAGE_HOST_E2FSPROGS=y
|
BR2_PACKAGE_HOST_E2FSPROGS=y
|
||||||
|
|||||||
@@ -164,12 +164,12 @@ BR2_TARGET_ROOTFS_CPIO_LZMA=y
|
|||||||
BR2_TARGET_ROOTFS_INITRAMFS=y
|
BR2_TARGET_ROOTFS_INITRAMFS=y
|
||||||
BR2_TARGET_ROOTFS_ISO9660=y
|
BR2_TARGET_ROOTFS_ISO9660=y
|
||||||
BR2_TARGET_ROOTFS_ISO9660_BOTH=y
|
BR2_TARGET_ROOTFS_ISO9660_BOTH=y
|
||||||
# BR2_TARGET_ROOTFS_ISO9660_INITRD is not set
|
|
||||||
BR2_TARGET_ROOTFS_ISO9660_HYBRID=y
|
BR2_TARGET_ROOTFS_ISO9660_HYBRID=y
|
||||||
# BR2_TARGET_ROOTFS_TAR is not set
|
# BR2_TARGET_ROOTFS_TAR is not set
|
||||||
BR2_TARGET_GRUB2=y
|
BR2_TARGET_GRUB2=y
|
||||||
BR2_TARGET_GRUB2_I386_EFI=y
|
BR2_TARGET_GRUB2_I386_EFI=y
|
||||||
BR2_TARGET_GRUB2_BUILTIN_MODULES_EFI="boot linux ext2 fat squash4 part_msdos part_gpt normal progress efi_gop efi_uga all_video video_cirrus video_bochs net efinet tftp gzio test eval read true gfxterm gfxterm_menu gfxmenu gfxterm_background png usb usb_keyboard search configfile iso9660"
|
BR2_TARGET_GRUB2_BUILTIN_MODULES_EFI="boot linux ext2 fat squash4 part_msdos part_gpt normal progress efi_gop efi_uga all_video video_cirrus video_bochs net efinet tftp gzio test eval read true gfxterm gfxterm_menu gfxmenu gfxterm_background png usb usb_keyboard search configfile iso9660"
|
||||||
|
BR2_TARGET_GRUB2_BUILTIN_CONFIG_EFI="board/shredos/embed/grub.cfg"
|
||||||
BR2_TARGET_GRUB2_INSTALL_TOOLS=y
|
BR2_TARGET_GRUB2_INSTALL_TOOLS=y
|
||||||
BR2_TARGET_SYSLINUX=y
|
BR2_TARGET_SYSLINUX=y
|
||||||
BR2_PACKAGE_HOST_E2FSPROGS=y
|
BR2_PACKAGE_HOST_E2FSPROGS=y
|
||||||
|
|||||||
@@ -120,7 +120,7 @@ config BR2_TARGET_ROOTFS_ISO9660_GRUB2_EFI_IDENT_FILE
|
|||||||
string "Grub2 identification file (EFI)"
|
string "Grub2 identification file (EFI)"
|
||||||
depends on (BR2_TARGET_ROOTFS_ISO9660_GRUB2 || BR2_TARGET_ROOTFS_ISO9660_BOTH) \
|
depends on (BR2_TARGET_ROOTFS_ISO9660_GRUB2 || BR2_TARGET_ROOTFS_ISO9660_BOTH) \
|
||||||
&& BR2_TARGET_ROOTFS_ISO9660_EFI_BOOTLOADER
|
&& BR2_TARGET_ROOTFS_ISO9660_EFI_BOOTLOADER
|
||||||
default "/buildroot"
|
default "/boot/buildroot"
|
||||||
help
|
help
|
||||||
Use this option to provide a custom name for the identification
|
Use this option to provide a custom name for the identification
|
||||||
file that is added to the ISO9660 filesystem, so the EFI bootloader
|
file that is added to the ISO9660 filesystem, so the EFI bootloader
|
||||||
|
|||||||
Reference in New Issue
Block a user