how to create uefi bootable image from bzimage (custom kernal) - linux

for my project i have useb build-root to create a custom Linux kernel using menuconfig. i got my custom kernel image as bzimage file and root file directory as .tar image. i have built the kernel for x86 archetecture , Intel atom processor.
what i needed is to create a Linux OS .efi bootable image so that i can install the OS and try to test it .
i have tried copying the kernel image to /dev/sda1/EFI/ folder and renaming it to bzimage.efi and creating a boot entry for it but it didnt work out. it couldnt read the file format.
can you pleas point me to the right direction or some tutorial to create the os image.

Related

Linux run fail with Image in stead of zImage in Buildroot-Qemu-Arm environment

I am learning building Linux system with buildroot. The configure for qemu+arm is very convenient for me to have a environment to boot Linux system. I can get whole system from the script bellow. And it works fine, Linux system run.
git clone https://git.buildroot.net/buildroot
cd buildroot
git checkout 014ec19dfe
make qemu_arm_versatile_defconfig
make
cd output/images/
./start-qemu.sh
I find there is an zImage for linux kernel. As I know zImage is composed by decompress boot code and compressed linux binary. And I think Image at ../build/linux-5.15.18/arch/arm/boot/Image is the original linux binary. So I try to use Image to replace zImage(I copy the Image to the same folder. Then I change the zImage in start-qemu.sh to Image). But I failed, I run it and only see
VNC server running on ::1:5900
And there are no other log. I try other system like riscv, there is only Image, but it can be run. Is there something I misunderstand for arm linux Image? (By the way, I am curious about why only arm32 has compress code to build zImage, but aarch64 or riscv do not support this function.)

Difference between wic and hddimg format in yocto

I have generated a core-image-minimal image for my Intel board in Yocto.
Looking into tmp/deploy/images folder they are many images.
I flashed *.wic image using dd command on USB and it created two partitions ( Boot and Platform ) and allowed only to perform a live booting without allowing it to install on the hard disk of the board.
I then flashed *.hddimg on the USB using dd command. It only created a "boot" partition which has rootfs.img, syslinux and EFI folder.
Booting using USB provided me an "Install" option, which installed on the board and when I rebooted after installing, it displays "No bootable media found"
Using bootable image there are two partitions in the hard disk. Why it is not booting..
Steps followed:
Created an minimal yocto image using "bitbake core-image-minimal" command
Flashed the USB using the dd command.
sudo dd if=tmp/deploy/images/intel-corei7-64/core-image-minimal-intel-corei7-64.hddimg of=/dev/sdb
Clicked on install and typed “sda”
The installation was successful and when I tried to restart by removing the USB Drive, it says “No boot options found. Please install bootable media and restart."
What is the mistake I am doing here.
Which image to choose and when..
There was not much info about online, so I asked this question in the intel community and here is the response of that:
Generally a .wic image is intended to be installed directly to its final destination, whereas an hddimg is for evaluation and installation elsewhere.
By default meta-intel .wic images only have an EFI bootloader, and will not boot via legacy BIOS.
An hddimg will have both an EFI bootloader and the syslinux binaries that let it boot from legacy BIOS.
On startup with your installer USB image do you get a light gray screen with four options? If so it is booting via legacy BIOS.

ISO file path not an option when installing Linux on virtualbox

When installing Linux on a virtualbox with a windows 7 64bit host
I get the following screen
All the tutorials I have watched on how to install Linux on a virtualbox always skip this screen
I am using a iso file but I do not see an option to enter the path of said iso file
do I need to copy the file to a cd? or am I missing a setting for the virtualbox?
The way VirtualBox (or virtualization in general) works, is that when on the host (the Windows PC running the VirtualBox) you mount the ISO file as a CD/DVD drive, it will be shown as CD/DVD on the client (your Linux installation). The client won't see the difference.
So in that sense you are doing it correctly. However, you have the "wrong" installation ISO. The file you have mounted is "Oracle Linux R6 Update 5 UEK Boot ISO x86_64 V41364-01.iso" (if I googled correctly). So the question in your first screenshot asking about the installation image is to my understanding asking for where the actual installation data can be found. This would be either a DVD, another harddrive, local repository in LAN, or from the Internet. In your case it would be easier to use an installation media, which already includes the installation files, which would be "Oracle Linux R6 Update 5 x86_64 V41362-01.iso" (again if I googled correctly).
So to sum up, either download the full installation image (around 4 GB), or use the one you have and point the "url" to an image from the Internet.

How do I install ./ unpack a zImage file onto my host PC?

I have a zImage file of a linux kernel 2.6.32.2 that someone sent me. I dumped onto my mini2440 board and it works fine there. Now, I would like to do the same for my host PC so that I can configure the kernel using the zImage that I have, since it has a few files that were missing from my earlier kernel.
How do I go about doing this?
Thank you,
Regards

Where is kernel configuration stored on Linux target?

I'm working on an embedded ARM Debian Linux system. The system ships with a default image on the SD card. What I'd like to do is try and determine which kernel settings where used in building the kernel that's running on that card.
Is there any way to do that?
Assuming no copy can be found under /boot then:
If CONFIG_IKCONFIG_PROC is set then a compressed copy of the configuration will be found at /proc/config.gz
If CONFIG_IKCONFIG is set but not CONFIG_IKCONFIG_PROC the extract-ikconfig script can be used to extract the .config file from a kernel image file (http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/scripts/extract-ikconfig?id=HEAD)

Resources