I have compiled the linux kernel. My bzImage is 1,14 mb big
Anyway. It's only 2 programs i need and it's Python and Busybox. I have compiled python and busybox and put them together in a folder. Busybox is 146 kb and pyton is 4,4 mb.
But how do i make an initrd file of them? Or should a make an initrd file of them?
I get this error when a runt with a compiled busybox to gz format as initrd, and without initrd.
VFS: Cannot open root device "sda1" or unknow-block(0,0)
Please append a correct "root=" boot option; here are the available partions:
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)Pid: 1, comm: swapper Not tainted 18.104.22.168 #1
When I compile a custom kernel with this command: make-kpkg --initrd kernel_image kernel_headers and then install the .deb, there's no initrd in /boot and I have to create it manually. I've thought that the --initrd option should take care about this, but somehow it doesn't.
It behaves like this for about two years at least (since I've compiled my first kernel). Of course, it's no big deal to create it manually, I was just wondering whether do I do anything wrong or whether should I fill a bug report..
I am attempting to PXE boot Redhat 5.4 and load the OS into RAM. Here is how far I have gotten so far:
I have successfully configured my DHCP, TFTP, and PXE servers. The PC that is booting up Redhat 5.4 is able to get a DHCP IP address from the server, grab the kernel and initrd from the TFTP server, and boot up from there. I have this setup working if I store the root file system on a NFS share on the server and use the kernel's NFSROOT parameter. Long story short, I now need to get this same setup working without using NFS if possible. I have spent several hours google searching how to create a RAM disk (initrd) that also contains the root file system. I must be searching the wrong keywords. Anyway, based on what I have read so far, I need to do the following:
1. I need to pass different kernel parameters. It needs to look something like:
2. It seems like newer versions of initrd are created using the cpio tool. So would this simply be a matter of booting to my hard drive that has Redhat 5.4 loaded on it and running:
To create the RAM disk with a root file system attached to it? I have a feeling it has to be more complicated than that but I just cannot find any sites that specifically explain what would be involved with creating an initrd file that can also be used as the root file system.
3. Would I need to modify the init script (many sites call it "linuxrc") at all in order to accomplish what I want to do? For example, I found this site:[url]
My understanding of this page is that you have to create a linuxrc script that basically does the work of decompressing the file system into /dev/ram0 and mounting it to /root. Is something like this actually needed?
4. The kernel must have certain parameters set such as enabling RAM disk support.
I have most of this setup working. I just need to figure out how to basically store the contents of the OS on the TFTP server and then tell the kernel to load that OS into memory. Based on what I have read, this should be possible (otherwise, how do Live CD's work?).
I install fedora on my usb-hdd. Sometimes i boot it from real machine, sometimes i boot from virtual machine (kvm). When I boot from real machine, hdd driver is usb-storage, when i boot from virtual machine hdd drivers are ata_generic and pata_acpi.
Everytime i update kernel, mkinitrd only create initrd image contains only hdd driver current running, and I must recreate initrd manual with all preload hdd driver. How to config fedora to everytime update kernel, mkinitrd can make initrd image with all hdd driver I need?
I have an encrypted root and encrypted boot drive... To avoid entering a passphrase multiple times I'd like to add a keyfile for my root drive to my initrd... I've done this in Arch and it was relatively simple but I've hit a road block in debian finding the analog processes...
Code: Select all#Part 1) Generate the keyfile, give it suitable permissions and add it as a LUKS key:
The RHEL 4 update 7 installation CD installs the kernel with version 2.6.9-78.EL and therefore must contain corresponding vmlinuz and initrd.img. However I would like to have an all modules initrd that is used during installation but for a different version (2.6.9-78.0.13.EL). Is there a way in which I could obtain/make such an initrd?
I've had a Centos 5.3 zimbra mailserver set up for about 3 months now.Every 7-10 days or so, the system will do a kernel panic and I've been putting off its resolution due to other matters.I'm now ready to look into it but I have two issues :
1) No logs.
So far, I've manually rebooted when a kernel panic occured and could look at the panic printout and write down relevant info. But since I wanted more info than I had written down, I went hunting in the logs for the kernel panic event (one happened earlier today) but, to my surprise, I noticed the system doesn't log the kernel panic at all. Kdump is currently disabled as I'd like to keep all available memory available to the system but I was under the impression it would log the kernel panic message regardless but would simply leave out more advanced diagnostic information.How would I make sure the kernel panic is logged so I can have more info about it ?
2) The actual panic.Here's a snippet of what's appearing when the kernel panics :
I've also seen f793bee4 instead of the highlighted part above but everything else is always the same from the times I've seen (as I haven't always had the chance to be around when a panic occured).I'm looking further into it at this point but early research seem to indicate this could be a memory issue. I'll run memtest next weekend to check that out (since I don't want to take the system offline for any length of time during office hours) but people here might have other theories based on what I've put up so far. The system has all of the latest patches and updates and is running only what I need as far as software goes (zimbra server + prerequisites, x + GNOME (not loaded on startup), firefox and vnc for windows RDP access). My system also uses a software RAID1 array (boot = md0 and / = md2 with swap files not being mirrored as there's no need to).
PS : In order to further troublehsoot by myself before posting here, I've tried to enable kdump to see if kdump is the culprit for the missing logs but I'm also having an issue with it. I'm getting a "No kdump initial ramdisk found" and "mkdumprd: failed to make kdump initrd" messages at startup. I'm thinking this might be because of my raid array ? I've found an old bug report regarding one of those error messages on centos 5.2 but it was supposedly fixed in the 30 version by RH and I'm using the latest one (56).
i am having a problem concern zlib installation.i tried configure file successfully but make file displayed some errors.that usr/linux/limits.h not found.so i found that i have to install glibc-headers-devel...but there is no such a kind of package in ubuntu repository?/????/some people saying that libc6-devel is equal to them!
I'm I seeing this wrong or is the initrd file in kernel-22.214.171.124-170.2.72.fc10.x86_64 a zero byte file and that's why I can't boot with it( get this "kernel panic not syncing VFS unable to mount root fs on known -block (0,0)" message)
Why use nash instead of busybox in initrd and initramfs? I'm just looking for pros and cons of both really (and any other applications with similar functionality). I'm currently leaning towards busybox being the better option, why redhat and fedora use nash in their initrd.
If you can access Suse Studio here is thlink to the buildLFS Host - SUSE GalleryGoogle hasn't been friendly and neither has a search on these forums, I don't know which man to read so a finger in the right dirrection (preferably not the middle) would be nice as far as that goesRight now the yast live installer trips up at %84 while saving the boot loader configuration and displays a popup that says �An error occurred during initrd creation. /sbin/mkinitrd: illegal optionI then press enter to acknowledge the message and the installation continues without a hitch.
When I go to boot up (no other os installed) grub says it cant find the file initrd-126.96.36.199-0.5-defaultIf you boot the live cd again you can mount the boot partition and you�ll find a broken symlink called initrd that islooking for the missing file above.Like I said above, if it an obvious fix, all I need is some direction, I don't mind reading. (been doing that all day)If you need more specifics Id be happy to supply, I'm just not sure whats relevant and don't want to bloat the post.
I would like to modify my init.gz and add udp-sender to this image. After copying the program compiled on my system to init image I have error when I try run udp-sender: udp-sender not found When I checked ldd I saw that the some libraries are missing. I copied them from my system but still got the same error. how can I compile program for my init.gz?
I run alot of Linux running in memory. Mainly by PXE booting a kernel and the entire OS as the "initrd" file.
I have a RHEL6 image running as a VirtualBox guest and the entire OS (minimal) is contained withing 1GB of disk. I wan't to boot the entire /dev/sda1 "/" (its the only partition on the drive, no swap) as the initrd file and run everything from memory. But grub won't let me. So before I try and re-invent the wheel I thought to post here first.
Details. RHEL 6 as guest in VIrtual BOX. configured with 3Gb memory. HD is single partition and known as /dev/sda1.
I have created a file named as pm under the path /home/ppp/ i.e. /home/ppp/pmTo make it executable, I've used command: chmod a+x /home/ppp/pm while residing in root directory.But while trying to run from root by typing ./pm or within the directory /home/ppp, it was displaying that directory not found.Please help by providing the step by step procedure, so that I would be able to run my file from root or from the directory.
Remember back in the days of MS-DOS, a file could have 4 different attributes: archive, read-only, hidden, system. As you know, MS-DOS didn't have any user rights or privileges. Files had no owner. If you were at the command line, you could do whatever you wanted, you could change or delete any files you wanted to... so long as they weren't read-only. Under MS-DOS, if you had a read-only file and tried to delete it, you would get an error saying "Cannot delete read-only file". There was a simple remedy to this, just turn off the read-onlyness:
attrib -r hello.txt
The point I'm trying to make here is that even though you had full permissions over the file, you still had to turn off its read-onlyness before you could make a change. Well I'm trying to do something similar in Linux. Under Linux, the root user has full permissions over every file. But I need to make a particular file read-only so that not even the root user can alter it. I have a few programs on my computer that need to be run as root because they do some low-level networking (raw sockets and the like), and these programs alter my "/etc/resolv.conf" file. Well I need to find a way of making my "/etc/resolv.conf" file READ-ONLY, even for the root user. It doesn't seem as though the Linux filesystem provides a means of doing this, reason being that the root user will always be able to alter any file it wants to. I was thinking though... there's some way I could turn my "/etc/resolv.conf" file into a virtual file of some sort, like maybe I could use some sort of mount program to mount the file as read-only... ?
I've gone through some online tutorial on how to create a MAKE file and actually I don't have a complete understanding of it specifically, linking the particular compiling program to a library and also creating a share/dynamic library.
in my php page they ask the user to enter some input example like year. i want that input to be transfer into my .sh file and will show its output. how to make .sh file receive data from php and php sent data to .sh file