Where is kernel configuration stored on Linux target? - linux

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)

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.)

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

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.

How to put files into riscv linux?

ri
1.We tried to install the rocket chip with risc-v linux on Zedboard, and we had successfully entered riscv linux. However, we couldn't put the files compiled by assembler(using the instruction : riscv64-unknown-linux-gnu-g++) into riscv linux. Would someone please tell me how to put it in? (p.s we tried to mount the files into the file called root.bin,but it seems that risc-v linux doesn't use this file to boot.)
2. If we use the linux instrustion [make CONFIG=RoccExampleConfig] on our workshop, would it be RoCC there? If not, how to enable RoCC?
The file boot.bin is read by the firmware executed by the Zynq ARM CPU on boot. It contains the boot loader and instructions to boot Linux on that CPU. It may also contain a bitstream for the programmable logic.
According to https://github.com/ucb-bar/fpga-zynq/issues/22 you need to put your files into the RISC-V initramfs file until tether is working.

embedded linux, initramfs with buildroot

in my embedded system I'd like to use initramfs to perform some special operation.
Someone managed to make initramfs work?
I'm using buildroot 2016.2, the kernel is from my provider and we are at 3.0.x. I've enabled initramfs, so I just have to pass the path to my cpio.
At the moment getty is not working.
can't opegetty: can't opegetty: can't opegetty:
and hang forever.
Any idea?could be a toolchain problem?
I have used the tag initrd because there is not "initramfs"

Not booting RAM file system embedded in Linux Kernel

We have a Linux embedded system that we would like to boot from Flash file system, but have a RAMFS embedded into the kernel that can be seen by the kernel after boot.
Is it possible to embed a RAM File system inside the Linux Kernel (v3.3), that can be used after kernel boot, that the kernel does not use for booting?
Thanks.
Absolutely! Just make a script which mounts a tmpfs on your preferred mount point and that extracts in it a tarball that has been bundled in you rootfs.

Resources