Re: getting linux to mount a FAT16 part at boot time so I can give it an initrd path?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, May 19, 2003 at 03:32:04PM -0700, David Wuertele wrote:
> I'm trying to boot from a compact flash using an embedded bootloader.
> I want to make the kernel mount the compact flash FAT16 partition and
> find an initial ramdisk.

The initial ramdisk is to be loaded by the bootloader, not kernel.
Kernel expects to find it in memory, not on any disk and AFAIK can't
load it.

So you have two options. Either make your bootloader load it (it should
be able to if it knows about "multiboot specification") or turn the
FAT16 partition into kind of initrd - the pivot_root syscall is not
limited to be used from ramdisk.

> The bootloader can already load linux of the compact flash into RAM,
> and then jump to it, passing any arguments I like.  Here is an example
> of how I invoke the kernel:
> 
>   go -e 0x8010046c devfs=only root=302 rw max_scsi_luns=3 idebus=33 ide=nodma hdb=none ip=10.0.1.3
> 
> Note that "root=302" argument.  I want to get rid of it, and replace
> it with "initrd=<something>".
> 
> The way the system boots now is like this: the compact flash card has
> two partitions, one FAT16, one ext2.  The first partition has the
> linux kernel, the second partition is the ext2 root filesystem.  The
> bootloader loads the kernel from the FAT16 partition, then jumps to
> it.  The compact flash is on the ide bus, and partition two of the
> first disk on the ide bus is device "30:2".  So when the linux kernel
> sees "root=302" it mounts the second partition of the compact flash
> card.  This works fine.
> 
> But what I really want is to use an ext2 *image* (not a partition) as
> an initrd file stored on the FAT16 partition of the compact flash.
> That way I won't have to create an ext2 partition on the flash, and I
> can just copy the image files onto a store-bought flash card (which is
> always preformatted FAT16).
> 
> How do I specify a path to a file on the first partition of the flash
> card?  Does it look something like this:
> 
>   go -e 0x8010046c devfs=only initrd=C:\my_initrd_file.bin rw max_scsi_luns=3 idebus=33 ide=nodma hdb=none ip=10.0.1.3
> 
> Does "C:\" mean something magical to the linux kernel?  I don't think
> so.  How do I tell it to mount the first partition as dos and find the
> path I specify?
> 
> Thanks,
> Dave
> 
> --
> Kernelnewbies: Help each other learn about the Linux kernel.
> Archive:       http://mail.nl.linux.org/kernelnewbies/
> FAQ:           http://kernelnewbies.org/faq/
> 
-------------------------------------------------------------------------------
						 Jan 'Bulb' Hudec <bulb@ucw.cz>
--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive:       http://mail.nl.linux.org/kernelnewbies/
FAQ:           http://kernelnewbies.org/faq/



[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux