* [uml-devel] The sickest thing that's been done with UML yet. @ 2005-04-13 10:05 Rob Landley 2005-04-13 7:55 ` Jason Clark 2005-04-13 15:27 ` jdike 0 siblings, 2 replies; 4+ messages in thread From: Rob Landley @ 2005-04-13 10:05 UTC (permalink / raw) To: uml-devel Remember when I talked about making UML and its root filesystem be one file you can just run? Well, I made one as a proof of concept... http://www.landley.net/code/firmware/notes.html You have been warned... Rob ------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click _______________________________________________ User-mode-linux-devel mailing list User-mode-linux-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [uml-devel] The sickest thing that's been done with UML yet. 2005-04-13 10:05 [uml-devel] The sickest thing that's been done with UML yet Rob Landley @ 2005-04-13 7:55 ` Jason Clark 2005-04-13 15:27 ` jdike 1 sibling, 0 replies; 4+ messages in thread From: Jason Clark @ 2005-04-13 7:55 UTC (permalink / raw) To: Rob Landley; +Cc: uml-devel slick -- Jason When pigs fly, they fly first class. On Wed, 13 Apr 2005, Rob Landley wrote: > Remember when I talked about making UML and its root filesystem be one file > you can just run? Well, I made one as a proof of concept... > > http://www.landley.net/code/firmware/notes.html > > You have been warned... > > Rob > > > ------------------------------------------------------- > SF email is sponsored by - The IT Product Guide > Read honest & candid reviews on hundreds of IT Products from real users. > Discover which products truly live up to the hype. Start reading now. > http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click > _______________________________________________ > User-mode-linux-devel mailing list > User-mode-linux-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel > ------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click _______________________________________________ User-mode-linux-devel mailing list User-mode-linux-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [uml-devel] The sickest thing that's been done with UML yet. 2005-04-13 10:05 [uml-devel] The sickest thing that's been done with UML yet Rob Landley 2005-04-13 7:55 ` Jason Clark @ 2005-04-13 15:27 ` jdike 2005-04-13 22:32 ` Rob Landley 1 sibling, 1 reply; 4+ messages in thread From: jdike @ 2005-04-13 15:27 UTC (permalink / raw) To: Rob Landley; +Cc: uml-devel On Wed, Apr 13, 2005 at 06:05:43AM -0400, Rob Landley wrote: > Remember when I talked about making UML and its root filesystem be one file > you can just run? Well, I made one as a proof of concept... > > http://www.landley.net/code/firmware/notes.html Hehe, nice. I've been considering doing this with an initramfs. It sounds like you're doing something different (I couldn't find a one-or-two line here's-how-it-works on your page :-). Jeff ------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click _______________________________________________ User-mode-linux-devel mailing list User-mode-linux-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [uml-devel] The sickest thing that's been done with UML yet. 2005-04-13 15:27 ` jdike @ 2005-04-13 22:32 ` Rob Landley 0 siblings, 0 replies; 4+ messages in thread From: Rob Landley @ 2005-04-13 22:32 UTC (permalink / raw) To: jdike; +Cc: uml-devel On Wednesday 13 April 2005 11:27 am, jdike@addtoit.com wrote: > On Wed, Apr 13, 2005 at 06:05:43AM -0400, Rob Landley wrote: > > Remember when I talked about making UML and its root filesystem be one > > file you can just run? Well, I made one as a proof of concept... > > > > http://www.landley.net/code/firmware/notes.html > > Hehe, nice. I've been considering doing this with an initramfs. It sounds > like you're doing something different (I couldn't find a one-or-two line > here's-how-it-works on your page :-). I _really_ need to update that page. I've been busy getting the build script and source tarball cleaned up for release (possibly even tonight, but don't hold your breath)... How it works: It's a squashfs root partition (over 11 of the 13.7 megs), where the initramfs script does "mount -t hostfs -o / / /sub", examines sub/proc/self/exe to find the running executable, reads bytes 12-15 of that (where I wrote the length of the original UML exe; note that the 16 byte elf header ends with 6 bytes of padding, I grabbed the last four), and then does an "losetup -o $OFFSET /dev/loop0 sub/proc/self/exe", mounts that, pivot_root, and exec /bin/sh or /sbin/init or whatever you want... The reality is slightly more complicated due to details like /proc/self/exe being a symlink to an absolute path while hostfs is mounted in a subdirectory. And I had to patch busybox losetup to have a readonly option because if losetup tries to open a running executable file read-write it dies with a "text file busy" error. But they weren't too hard to fix. (Just time consuming.) The main advantage of doing this rather than a huge initramfs is that we don't eat so much memory. The squashfs naturally uses the host file as backing store. P.S. Hang the UML kernel! When it comes up, try "mount --move /mnt/proc /proc". Apparently, when rootfs moves and afterwards you try to relocate a mount point that's bound under it, something gets very, very confused. Here's the UML options I used: > make ARCH=um allnoconfig && > cat >> .config << EOF && > CONFIG_MODE_TT=y > CONFIG_LD_SCRIPT_STATIC=y > CONFIG_BINFMT_ELF=y > CONFIG_HOSTFS=y > CONFIG_SYSCTL=y > CONFIG_STDERR_CONSOLE=y > CONFIG_UNIX98_PTYS=y > CONFIG_BLK_DEV_LOOP=y > CONFIG_INITRAMFS_SOURCE="initramfs/initramfs.txt" > CONFIG_LBD=y > CONFIG_EXT2_FS=y > CONFIG_PROC_FS=y > CONFIG_SQUASHFS=y > CONFIG_ZLIB_INFLATE=y > EOF > yes "" | make ARCH=um oldconfig && > make ARCH=um && > mv linux .. && > cd .. Yes, tt. It's portable. Hopefully this weekend I can get this up and running on my server upstairs, and thus get my website moved onto my spiffy 3 megabit (symmetrical!) cable modem. Then it should be a much much faster download. Right now it's on a friend's DSL connection... Of course to do that, I have to learn about UML network bridging... :) > Jeff Rob ------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click _______________________________________________ User-mode-linux-devel mailing list User-mode-linux-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2005-04-13 23:35 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2005-04-13 10:05 [uml-devel] The sickest thing that's been done with UML yet Rob Landley 2005-04-13 7:55 ` Jason Clark 2005-04-13 15:27 ` jdike 2005-04-13 22:32 ` Rob Landley
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox