Discussion:
[ipxe-devel] Transfer of a whole Dir with wimboot?
Oliver Rath
2018-10-28 20:11:34 UTC
Permalink
Hi list,

is it possible to transfer a whole directory at once with wimboot/initrd
or do I have to transfer each file seperatly? Am I able to create a dir
with this mechanism?

Tfh!

Oliver
Christian Nilsson
2018-10-28 20:18:16 UTC
Permalink
Post by Oliver Rath
Hi list,
is it possible to transfer a whole directory at once with wimboot/initrd
or do I have to transfer each file seperatly? Am I able to create a dir
with this mechanism?
What is your end goal?
There is no directory structure supported by wimboot (well there is,
but you can't affect it since it is magic, see provided links)
And also any injected file is just copied to system32 - without any
structure available.
for initrd, there is no way for it to load multiple files - maybe it
would be possible on FTP or NFS, but there is no directory listing
support in TFTP or HTTP so that would mostly be unused code - as such
you will have to list files one by one that you want to load.

https://ipxe.org/wimboot#injected_files
https://ipxe.org/appnote/wimboot_architecture#the_wimboot_virtual_filesystem

/Christian
Oliver Rath
2018-10-28 21:33:48 UTC
Permalink
Hi Christian,

thank you for the fast answer! My idea was to transfer hardware-specific
driver files (depending on busid) dynamicly to the boot.wim-Image. Imho
the image *has* a directory-structure, although the overloading with
initrd can only put files into \Windows\System32.

Every windows NIC-driver has multiple files, so it would have been
comfortable to overload it in one step.

If I understand the second link (i dont know that) right, the overloaded
file is viewable in *every* dir?

Nevertheless, if the files only can loaded one by one, it is ok for me, too.

Tfh!

Oliver
Post by Christian Nilsson
Post by Oliver Rath
Hi list,
is it possible to transfer a whole directory at once with wimboot/initrd
or do I have to transfer each file seperatly? Am I able to create a dir
with this mechanism?
What is your end goal?
There is no directory structure supported by wimboot (well there is,
but you can't affect it since it is magic, see provided links)
And also any injected file is just copied to system32 - without any
structure available.
for initrd, there is no way for it to load multiple files - maybe it
would be possible on FTP or NFS, but there is no directory listing
support in TFTP or HTTP so that would mostly be unused code - as such
you will have to list files one by one that you want to load.
https://ipxe.org/wimboot#injected_files
https://ipxe.org/appnote/wimboot_architecture#the_wimboot_virtual_filesystem
/Christian
Christian Nilsson
2018-10-28 21:39:37 UTC
Permalink
This should only be done for NIC drivers, but for those you could
consider to add 7z.exe and relevant archives of the files, and then
extract that inside winpe, but a proper driver only has 3 files (.inf,
.cat, .sys)
Any non nic drivers are instead loaded over the network from within pe
- this reduces issues (hangs) during bootup, and makes it easier to
troubleshoot such issues.
Post by Oliver Rath
Hi Christian,
thank you for the fast answer! My idea was to transfer hardware-specific
driver files (depending on busid) dynamicly to the boot.wim-Image. Imho
the image *has* a directory-structure, although the overloading with
initrd can only put files into \Windows\System32.
Every windows NIC-driver has multiple files, so it would have been
comfortable to overload it in one step.
If I understand the second link (i dont know that) right, the overloaded
file is viewable in *every* dir?
Nevertheless, if the files only can loaded one by one, it is ok for me, too.
Tfh!
Oliver
Post by Christian Nilsson
Post by Oliver Rath
Hi list,
is it possible to transfer a whole directory at once with wimboot/initrd
or do I have to transfer each file seperatly? Am I able to create a dir
with this mechanism?
What is your end goal?
There is no directory structure supported by wimboot (well there is,
but you can't affect it since it is magic, see provided links)
And also any injected file is just copied to system32 - without any
structure available.
for initrd, there is no way for it to load multiple files - maybe it
would be possible on FTP or NFS, but there is no directory listing
support in TFTP or HTTP so that would mostly be unused code - as such
you will have to list files one by one that you want to load.
https://ipxe.org/wimboot#injected_files
https://ipxe.org/appnote/wimboot_architecture#the_wimboot_virtual_filesystem
/Christian
Oliver Rath
2018-10-28 21:44:56 UTC
Permalink
Hi Christian,

taking a 7z.exe-File is an excellent idea! Youre right, normally there
are only 3 files for a proper driver and youre right again, this only
makes sense for these nic drivers, because anything else can be
chainloaded via samba-resource.

Tfh!

Oliver
Post by Christian Nilsson
This should only be done for NIC drivers, but for those you could
consider to add 7z.exe and relevant archives of the files, and then
extract that inside winpe, but a proper driver only has 3 files (.inf,
.cat, .sys)
Any non nic drivers are instead loaded over the network from within pe
- this reduces issues (hangs) during bootup, and makes it easier to
troubleshoot such issues.
Post by Oliver Rath
Hi Christian,
thank you for the fast answer! My idea was to transfer hardware-specific
driver files (depending on busid) dynamicly to the boot.wim-Image. Imho
the image *has* a directory-structure, although the overloading with
initrd can only put files into \Windows\System32.
Every windows NIC-driver has multiple files, so it would have been
comfortable to overload it in one step.
If I understand the second link (i dont know that) right, the overloaded
file is viewable in *every* dir?
Nevertheless, if the files only can loaded one by one, it is ok for me, too.
Tfh!
Oliver
Post by Christian Nilsson
Post by Oliver Rath
Hi list,
is it possible to transfer a whole directory at once with wimboot/initrd
or do I have to transfer each file seperatly? Am I able to create a dir
with this mechanism?
What is your end goal?
There is no directory structure supported by wimboot (well there is,
but you can't affect it since it is magic, see provided links)
And also any injected file is just copied to system32 - without any
structure available.
for initrd, there is no way for it to load multiple files - maybe it
would be possible on FTP or NFS, but there is no directory listing
support in TFTP or HTTP so that would mostly be unused code - as such
you will have to list files one by one that you want to load.
https://ipxe.org/wimboot#injected_files
https://ipxe.org/appnote/wimboot_architecture#the_wimboot_virtual_filesystem
/Christian
Loading...