Skip to main content

generate unified kernel image archlinux with offset calculation

Requirements

sudo pacman -S binutils


------------------------------------------------------------------------------------------------------

cat build_kernel.sh

------------------------------------------------------------------------------------------------------

 #!/bin/bash

cat /boot/intel-ucode.img  /boot/booster-linux-hardened.img > /tmp/initrd.bin

osrel_offs=$(objdump -h "/usr/lib/systemd/boot/efi/linuxx64.efi.stub" | awk 'NF==7 {size=strtonum("0x"$3); offset=strtonum("0x"$4)} END {print size + offset}')
cmdline_offs=$((osrel_offs + $(stat -Lc%s "/usr/lib/os-release")))
splash_offs=$((cmdline_offs + $(stat -Lc%s "/boot/cmdline")))
linux_offs=$((splash_offs + $(stat -Lc%s "/usr/share/systemd/bootctl/splash-arch.bmp")))
initrd_offs=$((linux_offs + $(stat -Lc%s "/tmp/initrd.bin")))
         
echo "Generated unified kernel image..."
    
 objcopy \
    --add-section .osrel="/usr/lib/os-release" \
    --change-section-vma .osrel=$(printf 0x%x $osrel_offs) \
    --add-section .cmdline="/boot/cmdline" \
    --change-section-vma .cmdline=$(printf 0x%x $cmdline_offs) \
    --add-section .splash="/usr/share/systemd/bootctl/splash-arch.bmp" \
    --change-section-vma .splash=$(printf 0x%x $splash_offs) \
    --add-section .linux="/boot/vmlinuz-linux-hardened" \
    --change-section-vma .linux=$(printf 0x%x $linux_offs) \
    --add-section .initrd="/tmp/initrd.bin" \
    --change-section-vma .initrd=$(printf 0x%x $initrd_offs) \
    "/usr/lib/systemd/boot/efi/linuxx64.efi.stub" "/boot/archlinux.efi"

rm /tmp/initrd.bin

 ------------------------------------------------------------------------------------------------------ 

Generated archlinux.efi which can be directly loaded  

 cp archlinux.efi esp/EFI/Linux/ ##copy it to esp(efi system partition)
 
cat /boot/cmdline
for discoverable partition with partition uuid 4f68bce3-e8cd-4db1-96e7-fbcaf984b709 SD_GPT_ROOT_X86_64
cfdisk /dev/nvme0n1p1 and change type to Linux root (x86-64)  
rw quiet bgrt_disable 
or 
silent boot  
rootfstype=ext4 systemd.show_status=0 rd,udev.log_priority=0 vt.global_cursor_default=0 i915.fastboot=1  quiet  loglevel=0  rw root=UUID=xxx-xxx-xxx-xxx-xxx bgrt_disable   

 

 References

https://wiki.archlinux.org/title/Unified_kernel_image

https://github.com/systemd/systemd/commit/0fa2cac4f0cdefaf1addd7f1fe0fd8113db9360b#commitcomment-76747223

https://man.archlinux.org/man/objcopy.1

https://uapi-group.org/specifications/specs/discoverable_partitions_specification/

 

Comments

Popular posts from this blog

sxhkd volume andbrightness config for dwm on void

xbps-install  sxhkd ------------ mkdir .config/sxhkd cd .config/sxhkd nano/vim sxhkdrc -------------------------------- XF86AudioRaiseVolume         amixer -c 1 -- sset Master 2db+ XF86AudioLowerVolume         amixer -c 1 -- sset Master 2db- XF86AudioMute         amixer -c 1 -- sset Master toggle alt + shift + Escape         pkill -USR1 -x sxhkd XF86MonBrightnessUp          xbacklight -inc 20 XF86MonBrightnessDown          xbacklight -dec 20 ------------------------------------------------------------- amixer -c card_no -- sset Interface volume run alsamixer to find card no and interface names xbps-install -S git git clone https://git.suckless.org/dwm xbps-install -S base-devel libX11-devel libXft-devel libXinerama-devel  vim config.mk # FREETYPEINC = ${X11INC}/freetype2 #comment for non-bsd make clean install   cp config.def.h config.h vim config.h xbps-install -S font-symbola #for emoji on statusbar support     void audio config xbps-i

Hidden Wiki

Welcome to The Hidden Wiki New hidden wiki url 2015 http://zqktlwi4fecvo6ri.onion Add it to bookmarks and spread it!!! Editor's picks Bored? Pick a random page from the article index and replace one of these slots with it. The Matrix - Very nice to read. How to Exit the Matrix - Learn how to Protect yourself and your rights, online and off. Verifying PGP signatures - A short and simple how-to guide. In Praise Of Hawala - Anonymous informal value transfer system. Volunteer Here are five different things that you can help us out with. Plunder other hidden service lists for links and place them here! File the SnapBBSIndex links wherever they go. Set external links to HTTPS where available, good certificate, and same content. Care to start recording onionland's history? Check out Onionland's Museum Perform Dead Services Duties. Introduction Points Ahmia.fi - Clearnet search engine for Tor Hidden Services (allows you

download office 2021 and activate

get office from here  https://tb.rg-adguard.net/public.php open powershell as admin (win+x and a ) type cmd  goto insall dir 1.         cd /d %ProgramFiles(x86)%\Microsoft Office\Office16 2.           cd /d %ProgramFiles%\Microsoft Office\Office16 try 1 or 2 depending on installation  install volume license  for /f %x in ('dir /b ..\root\Licenses16\ProPlus2021VL_KMS*.xrm-ms') do cscript ospp.vbs /inslic:"..\root\Licenses16\%x" activate using kms cscript ospp.vbs /setprt:1688 cscript ospp.vbs /unpkey:6F7TH >nul cscript ospp.vbs /inpkey:FXYTK-NJJ8C-GB6DW-3DYQT-6F7TH cscript ospp.vbs /sethst:s8.uk.to cscript ospp.vbs /act Automatic script (windefender may block it) ------------------------------------------------------------------------------------------------------------------- @echo off title Activate Microsoft Office 2021 (ALL versions) for FREE - MSGuides.com&cls&echo =====================================================================================&