|
From: Han <kee...@gm...> - 2013-08-06 22:15:34
|
Hi, I am trying to build and run some of my C programs in UML. One way I tried is to build (i.e. compile) the program on the host, then run it in UML. The problem is that the UML rootfs I used lacks many of the /usr/lib/ shared libraries, hence the program failed to run. My question is: what is the best practice to build and run C programs for UML? Do people normally compile the program on the host and then run it in UML? Or compile the program directly in UML and then run it? If folks compile the C programs in UML directly, where the "gcc" comes from? Is it built part of the rootfs, or some add-ons? Any pointers for that? (meantime, I am trying to load a rootfs that has gcc but had issues with that.... ) Thanks. Han |
|
From: Michael R. <mc...@sa...> - 2013-08-07 02:53:24
|
Han <kee...@gm...> wrote:
> I am trying to build and run some of my C programs in UML. One way I tried is
> to build (i.e. compile) the program on the host, then run it in UML. The
> problem is that the UML rootfs I used lacks many of the /usr/lib/ shared
> libraries, hence the program failed to run.
Well, you have to install the things you need then.
> My question is: what is the best practice to build and run C programs for UML?
> Do people normally compile the program on the host and then run it in UML?
> Or compile the program directly in UML and then run it?
I make sure I have the same operating system and 32/64-bit-ness, and I use
hostfs, and I use "make DESTDIR=/path/to/my/uml/instance install".
> If folks compile the C programs in UML directly, where the "gcc" comes from?
> Is it built part of the rootfs, or some add-ons? Any pointers for that?
It's part of the rootfs, and you have a complete operating system there.
You use yum or apt or yast2 to install whatever you need.
--
] Never tell me the odds! | ipv6 mesh networks [
] Michael Richardson, Sandelman Software Works | network architect [
] mc...@sa... http://www.sandelman.ca/ | ruby on rails [
|
|
From: Han <kee...@gm...> - 2013-08-07 18:09:39
|
On Tue, Aug 6, 2013 at 7:51 PM, Michael Richardson <mc...@sa...> wrote: > > Han <kee...@gm...> wrote: > > I am trying to build and run some of my C programs in UML. One way > I tried is > > to build (i.e. compile) the program on the host, then run it in > UML. The > > problem is that the UML rootfs I used lacks many of the /usr/lib/ > shared > > libraries, hence the program failed to run. > > Well, you have to install the things you need then. > > > My question is: what is the best practice to build and run C > programs for UML? > > Do people normally compile the program on the host and then run it > in UML? > > Or compile the program directly in UML and then run it? > > I make sure I have the same operating system and 32/64-bit-ness, and I use > hostfs, and I use "make DESTDIR=/path/to/my/uml/instance install". > [Han] in my case, the host is using a different linux kernel and different 32/64-bit-ness. And I can't change that. And I also cannot mount the UML rootfs (don't have permission) to add things from the host. the linux machine I used to build the UML rootfs is different from the linux host that I run the UML. > > > If folks compile the C programs in UML directly, where the "gcc" > comes from? > > Is it built part of the rootfs, or some add-ons? Any pointers for > that? > > It's part of the rootfs, and you have a complete operating system there. > You use yum or apt or yast2 to install whatever you need. > [Han] I don't have the network connection from inside the UML yet. Need to set up that first and try to install things. thanks. > > -- > ] Never tell me the odds! | ipv6 mesh > networks [ > ] Michael Richardson, Sandelman Software Works | network > architect [ > ] mc...@sa... http://www.sandelman.ca/ | ruby on rails > [ > > |
|
From: Michael R. <mc...@sa...> - 2013-08-08 19:31:40
|
Han <kee...@gm...> wrote:
> [Han] in my case, the host is using a different linux kernel and different 32/
> 64-bit-ness. And I can't change that. And I also cannot mount the UML rootfs
> (don't have permission) to add things from the host.
I see.
> [Han] I don't have the network connection from inside the UML yet. Need to set
> up that first and try to install things.
Then you will be unable to setup networking for the UML either.
Use qemu to mount/fix your fs: It has a reverse NAT network stack which does not
require root, but also doesn't really put your VM on the network.
--
] Never tell me the odds! | ipv6 mesh networks [
] Michael Richardson, Sandelman Software Works | network architect [
] mc...@sa... http://www.sandelman.ca/ | ruby on rails [
|
|
From: Tony Su <to...@su...> - 2013-08-08 15:56:24
|
If your rootfs is incomplete I've generally speculated it was designed to run on a similar Host and likely would need bind mounts. The following is where I get complete fs which can run independently on any Host Http://openvz.org/Download/template/precreated Although the fs are built for openvz I've used them for UML, LXC. HTH Tony On Aug 7, 2013 11:10 AM, "Han" <kee...@gm...> wrote: > > > On Tue, Aug 6, 2013 at 7:51 PM, Michael Richardson <mc...@sa...>wrote: > >> >> Han <kee...@gm...> wrote: >> > I am trying to build and run some of my C programs in UML. One way >> I tried is >> > to build (i.e. compile) the program on the host, then run it in >> UML. The >> > problem is that the UML rootfs I used lacks many of the /usr/lib/ >> shared >> > libraries, hence the program failed to run. >> >> Well, you have to install the things you need then. >> >> > My question is: what is the best practice to build and run C >> programs for UML? >> > Do people normally compile the program on the host and then run it >> in UML? >> > Or compile the program directly in UML and then run it? >> >> I make sure I have the same operating system and 32/64-bit-ness, and I use >> hostfs, and I use "make DESTDIR=/path/to/my/uml/instance install". >> > > [Han] in my case, the host is using a different linux kernel and different > 32/64-bit-ness. And I can't change that. And I also cannot mount the UML > rootfs (don't have permission) to add things from the host. > > the linux machine I used to build the UML rootfs is different from the > linux host that I run the UML. > > >> >> > If folks compile the C programs in UML directly, where the "gcc" >> comes from? >> > Is it built part of the rootfs, or some add-ons? Any pointers >> for that? >> >> It's part of the rootfs, and you have a complete operating system there. >> You use yum or apt or yast2 to install whatever you need. >> > > [Han] I don't have the network connection from inside the UML yet. Need > to set up that first and try to install things. > > thanks. > > >> >> -- >> ] Never tell me the odds! | ipv6 mesh >> networks [ >> ] Michael Richardson, Sandelman Software Works | network >> architect [ >> ] mc...@sa... http://www.sandelman.ca/ | ruby on >> rails [ >> >> > > > ------------------------------------------------------------------------------ > Get 100% visibility into Java/.NET code with AppDynamics Lite! > It's a free troubleshooting tool designed for production. > Get down to code-level detail for bottlenecks, with <2% overhead. > Download for free and get started troubleshooting in minutes. > http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk > _______________________________________________ > User-mode-linux-user mailing list > Use...@li... > https://lists.sourceforge.net/lists/listinfo/user-mode-linux-user > > |
|
From: Han <kee...@gm...> - 2013-08-08 17:12:58
|
I was able to manually install more packages after the "debootstrap" created the basic rootfs. Now I have a much more complete rootfs and was able to run the programs I compiled earlier on the host. thanks for all your help. On Thu, Aug 8, 2013 at 8:56 AM, Tony Su <to...@su...> wrote: > If your rootfs is incomplete I've generally speculated it was designed to > run on a similar Host and likely would need bind mounts. > > The following is where I get complete fs which can run independently on > any Host > Http://openvz.org/Download/template/precreated > > Although the fs are built for openvz I've used them for UML, LXC. > > HTH > Tony > On Aug 7, 2013 11:10 AM, "Han" <kee...@gm...> wrote: > >> >> >> On Tue, Aug 6, 2013 at 7:51 PM, Michael Richardson <mc...@sa...>wrote: >> >>> >>> Han <kee...@gm...> wrote: >>> > I am trying to build and run some of my C programs in UML. One >>> way I tried is >>> > to build (i.e. compile) the program on the host, then run it in >>> UML. The >>> > problem is that the UML rootfs I used lacks many of the /usr/lib/ >>> shared >>> > libraries, hence the program failed to run. >>> >>> Well, you have to install the things you need then. >>> >>> > My question is: what is the best practice to build and run C >>> programs for UML? >>> > Do people normally compile the program on the host and then run >>> it in UML? >>> > Or compile the program directly in UML and then run it? >>> >>> I make sure I have the same operating system and 32/64-bit-ness, and I >>> use >>> hostfs, and I use "make DESTDIR=/path/to/my/uml/instance install". >>> >> >> [Han] in my case, the host is using a different linux kernel and >> different 32/64-bit-ness. And I can't change that. And I also cannot >> mount the UML rootfs (don't have permission) to add things from the host. >> >> the linux machine I used to build the UML rootfs is different from the >> linux host that I run the UML. >> >> >>> >>> > If folks compile the C programs in UML directly, where the "gcc" >>> comes from? >>> > Is it built part of the rootfs, or some add-ons? Any pointers >>> for that? >>> >>> It's part of the rootfs, and you have a complete operating system there. >>> You use yum or apt or yast2 to install whatever you need. >>> >> >> [Han] I don't have the network connection from inside the UML yet. Need >> to set up that first and try to install things. >> >> thanks. >> >> >>> >>> -- >>> ] Never tell me the odds! | ipv6 mesh >>> networks [ >>> ] Michael Richardson, Sandelman Software Works | network >>> architect [ >>> ] mc...@sa... http://www.sandelman.ca/ | ruby on >>> rails [ >>> >>> >> >> >> ------------------------------------------------------------------------------ >> Get 100% visibility into Java/.NET code with AppDynamics Lite! >> It's a free troubleshooting tool designed for production. >> Get down to code-level detail for bottlenecks, with <2% overhead. >> Download for free and get started troubleshooting in minutes. >> >> http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk >> _______________________________________________ >> User-mode-linux-user mailing list >> Use...@li... >> https://lists.sourceforge.net/lists/listinfo/user-mode-linux-user >> >> |