# README
go-extract-vmlinux
A tool to extract vmlinux/vmlinuz in golang
Inspired from the official script from linux extract-vmlinux
How to use
package main
import (
"log"
extract "github.com/rawdaGastan/go-extract-vmlinux"
)
func main() {
kernelImagePath := "<Enter your compressed kernel path>"
// decompress kernel
err := extract.TryDecompressKernel(kernelImagePath, kernelImagePath+"-decompressed")
if err != nil {
log.Fatal(err)
}
// compressed kernel
err = extract.IsValidELFKernel(kernelImagePath + "-decompressed")
if err != nil {
log.Fatal(err)
}
}
How to test
make test
# Functions
IsValidELFKernel checks if kernel is a valid elf (compressed).
TryDecompressKernel tried to decompress a given kernel using its path.