Jump to content

LabVIEW and DSL (Damn Small Linux)


Bryan

Recommended Posts

Has anybody in here ever run the LabVIEW developent environment on Damn Small Linux?

I'm trying to do 2 things with this type of setup... not necessarily on the same machine.

The reason I'm looking at DSL is because of it's ability to run completely in RAM. Now, if I'm doing LabVIEW development, I wouldn't be running in RAM. What I want to do is create an executable that will run in the DSL environment. This will give me the ability to boot a computer (with USB Booting ability) and start my application... unmount my media and the computer would still be running and running my software. I would then be free to do the same thing on another computer, and so on. This way, I could have an application running on multiple (networked) computers in RAM without having to install it on the computer itself and/or disturbing the computer's on board hard drive contents.

I did develop an exe in Mandrake 10.1 with Labview and get it to run in DSL once before, I don't remember how I did it. I would like to be able to do development in DSL as well so I can test for any inter-distribution problems, etc.

If I get this figured out, all I would have to do then is figure out how to reimage my "custom" copy of DSL so that I can install it on a pen drive.

I won't be surprised if nobody responds. Pretty much all of the LabVIEW/Linux stuff I've been doing I have figured out myself. It's still neat to wire up programs in an OS other than Window$.

Link to comment
Oh, c'mon now. You mean to tell me that nobody in here has ever tried to run LabVIEW in a Knoppix-Based distribution?

I did installed LV7.0 on DSL, running on embeded PC104, but from HD. It working fine. But I newer tryed to install an executable without development environment. My guess, that if You install RunTime, You probably can run LV app as it is on DSL.

By the way, DSL feels very safe and stable to run LabVIEW. My application communicates with PCR100 (PC broadband radio), sweps between frequencies, and saves power spectrum over this band. So far, this application did not crashed.

GoodLuck!

PBleu

Link to comment

Thanks for your reply!

So, you've essentially done a HD install of DSL, essentially making the filesystem writeable? That's where I run into problems. I guess I'd have to find a way to do a HD install, then create a new ISO image of that install.

Link to comment
  • 2 weeks later...

So far I've only run LV for Linux 7.0 under PCLOS. (A Mandriva based distro)

It seems to work well for the most part, although I still haven't got the Example Finder working.

Damn Small Linux is another of my favorite distros. It breathed new life into my old and well loved Toshiba laptop. I had assumed that I needed KDE or Gnome to run LV. But perhaps not.

I kinda doubt that LV4L will run on my old 266 laptop. But under DSL it might have a chance. I'll post updates if I get anywhere with it.

Link to comment
So far I've only run LV for Linux 7.0 under PCLOS. (A Mandriva based distro)

It seems to work well for the most part, although I still haven't got the Example Finder working.

Damn Small Linux is another of my favorite distros. It breathed new life into my old and well loved Toshiba laptop. I had assumed that I needed KDE or Gnome to run LV. But perhaps not.

I kinda doubt that LV4L will run on my old 266 laptop. But under DSL it might have a chance. I'll post updates if I get anywhere with it.

In principle LabVIEW should only use XWindow and therefore should be independant of the Window manager and Desktop environment used so should run on any system that has an XWindow server. There have been however some trouble in the past letting LabVIEW run on dummy XWindow servers that only provide some sort of text output (to save resources for applications that could run as headless systems) and I'm not sure there has been any work done to improve on that.

Rolf Kalbermatter

Link to comment
  • 8 months later...

QUOTE(pallen @ Jun 22 2006, 03:10 PM)

So far I've only run LV for Linux 7.0 under PCLOS. (A Mandriva based distro)

It seems to work well for the most part, although I still haven't got the Example Finder working.

Damn Small Linux is another of my favorite distros. It breathed new life into my old and well loved Toshiba laptop. I had assumed that I needed KDE or Gnome to run LV. But perhaps not.

I kinda doubt that LV4L will run on my old 266 laptop. But under DSL it might have a chance. I'll post updates if I get anywhere with it.

Hi,

Hopefully you're still reading this thread...

Can any of you share how to actually install the runtime engine under DSL? Since the rte is distributed in rpm's, I'm having a hard time installing them under DSL. DSL doesn't support rpm's, and I've tried some scripts (I recall rpm2cpio), but without success. I'm sure it's easy for a Linux guru...

Regards,

Wiebe.

Link to comment
  • 3 weeks later...

I'm really into live operating systems similar to DSL. I like Bart PE and Reatogo XPE much more than a linux distro because it basically is windows. Using a AIO I made you can make a live operating system which is about 80MB that gets loaded into ram at boot up and you will basically boot a limited version of XP into ram. You could simply add on to that 80MB your executable and the LabVIEW run time. and it should work just fine.

Some links to download my AIO are here

http://www.easy-sharing.com/363694/BartPEAIO.exe.html

or

http://dl2.filehd.com/download.php?get=729128109

or

http://www.yourfilehost.com/media.php?cat=...e=BartPEAIO.exe

or

http://www.yourfilelink.com/get.php?fid=70746

or

http://multiterra.mooload.com/file.php?fil...0/BartPEAIO.exe

or

http://www.zshare.net/download/bartpeaio-exe.html

or

http://www.oxyshare.com/d/xPtKcthsCs7/BartPEAIO.exe.html

or

http://www.badongo.com/file/441394

or

http://d.turboupload.com/d/490654/BartPEAIO.exe.html

or

http://www.megaupload.com/?d=95DKVU3L

And the forum where people discuss it are found here.

http://www.911cd.net/forums//index.php?showtopic=16543

That forum is very useful for all kinds of Live OSs like Bart PE. Also I imagine that networking several computers using Bart PE would be alot easier than with a linux distro but I'm no expert.

Lastly I'd like to mention that I have never tried running a LabVIEW program from an operating system while it's in ram so I guarantee nothing.

Link to comment

Hi,

I don't need a LiveOS, just a small distro. From what I understand, LabVIEW will run on a LiveOS, if you give LabVIEW a ram disk to work with. For now, that is way beyond my Linux skills. It shouldn't be difficult for a Linux guru though.

Main problem I had was that rpm's aren't supported by the majoraty of Linuxes. I found out that most distros have converters, but I'm not sure if this is the usual way of doing this. Also, I haven't used one with success.

The link to the forum doesn't seem to work right now. I'll try again soon. I like to read about it before starting the exe.

Thanks,

Wiebe.

Link to comment
  • 2 weeks later...

Okay I did some quick testing.

I was able to boot a windows like OS into ram, and run a LabVIEW 6.1 compiled file.

This "windows like" os is actually BartPE but it contains the Explorer shell so it looks very much like windows. It also contains every thing you should need to run what you'd like. It has notepad, wordpad, 7-zip, CD burner program, regedit, task manager, and a couple others. It should also still have network abilities (I tested it in a virtual machine so I can't be sure)

I also whipped up some files that would be used for the Run Time Engine and what do you know it worked. It was however a very simple program, hello world to be exact, and I'm worried that a more complicated LabVIEW program would have a tougher time running. Also you may have noticed I mentioned that I used LabVIEW 6.1, this is simply to save space. I'm pretty sure that it could run 7.0, 7.1, and possibly the 8.x but the newer the version the more space that will be loaded into RAM.

That's another thing, to load the OS into RAM it will take about 72MB, then you need another section for a temp drive, should be at least 8MB I used 60 on accident, which totals to 132MB. When I ran it in a virtual machine I gave it 192MB and only had about 20MB after all systems were up and running. So if you were careful and had some other non-essential programs removed it may work in a machine with 128MB of RAM.

There is one other minor issue, windows needs drivers for network cards. If you plan on running this in RAM you'll need to put those drivers in RAM so most likely a machine with 128MB won't cut it for you.

If you're still interested I'd be glad to try and post a tutorial some time in the future. Like I said I just whipped this together to see if it would even work, so I'm not quite ready to present a How To right yet.

Link to comment

I'd definitely be interested in a "How To" if you want to post one. I'm still looking for a Load into/run from RAM solution, but it's for a future project. My current project is just running off of a USB HDD and doesn't run completely in RAM and I'm not pressed right now for the RAM solution.

Link to comment

QUOTE(Bryan @ Apr 16 2007, 03:00 AM)

I'd definitely be interested in a "How To" if you want to post one. I'm still looking for a Load into/run from RAM solution, but it's for a future project. My current project is just running off of a USB HDD and doesn't run completely in RAM and I'm not pressed right now for the RAM solution.

I'll make a how to in a little bit here but I have some questions about exactly what you are trying to accomplish with this.

I realize what you want to do, but I would like to know why. From what I gather you want to run a compiled LabVIEW executable on several machines at once, and they will be connected through a network.

Why do you want it to be running in RAM?

These machines you want to run the exe on, do they have a Windows operating system?

What version of LabVIEW was used to make the compiled exe?

I ask these things because, if these machines already have windows, and you're simply looking for an alternative to installing the LabVIEW Run-Time engine, you can get around this by putting the right dlls and files into a directory, and your exe will run with out the Run-Time engine installed. It's kinda tricky and won't work for every executable but it's worth a try.

If you're looking to run the exe in ram because it would be fast, you can create a ram drive in Windows fairly easily. From there you can copy your executable to the ram drive and BAM, it will run fast.

Link to comment

Okay, here's our setup.

I'm working with a VME-based system. It has a single board computer with no OS on it. It's essentially a dumb VME setup with a computer and some I/O and communication cards.

My task is to have an automated test that exercises the cards to verify their functionality, signals, etc. I can't install anything to the computers since they will later have a home-grown and condensed Linux OS on them (all text, no GUI which runs headless) that loads from the 512MB flash HDD and runs in the 512MB to 1GB RAM memory. Sometimes the linux software is already installed and I don't want to touch, change or otherwise affect what's on the on board hard drive.

Right now I have a USB HDD running Mandrake 10.1, LabVIEW 7.1 for Linux along with some other softawre to give me accessibility to the VME cards. The only problem is that I can only run it on one setup at a time and I can have anywhere from 1 to 62+ to check at a time, but I only have one drive and the drive needs to be mounted while the computer is running. The program that I'm running on it acts as a server, allowing me to manipulate and read the signals from another computer on the same network. If I can get multiple computers up and going with the same software, I can verify more than one at a time from a central location. When I'm done, I want to be able to restart the computers and allow them to run off of their own hard drives again.

Essentially, my sofware is not intended to be permanently installed on the computers. The use of a text-only OS prevents that anyway. I only want to load/use my LabVIEW stuff when I need to test the system.

I wrote this quickly, let me know if it doesn't make sense.

Link to comment

Do your single board computers have a BootROM? With this number of UUTs, you might be better off figuring out if/how to get your computers to boot to a server that contains your DSL boot image instead of moving the boot image around.

I worked for a CAD/CAM company MANY years ago, and we regularly sold diskless Sun clients that had lots of RAM (at the time) and we would boot these from a server image, then load the application software over the network into memory. This was all Sun proprietary stuff. We created a swap file in memory to reduce the network load and maximize performance.

I did some quick searches, and I think you would want to determine if your SBCs are PXE and/or Wake-on-LAN capable. If they are, you might be able to configure the BootROM to acquire a DHCP network address, then rertrieve a boot image from a tftp server.

http://www.kegel.com/linux/pxe.html

http://syslinux.zytor.com/pxe.php

http://www.faqs.org/rfcs/rfc951.html

I too wrote this quickly, so let me know if it doesn't make sense.

Link to comment

I'm not familiar with using BootROM or any type of network image booting, so I'll have to read up on it. All of my linux stuff I'm pretty much learning as I go. Would this require me to permanently change things in the BIOS? I'm assuming it would as I would have to somehow tell the computer not to use the image on it's local drive at boot, which would require me to go into each computer's BIOS and force it to look for a network image instead of using the installed local image.

My intent is to disturb the hardware/firmware the least amount possible. This would be done on equipment for a military contract and thier configuration control is very strict. If I change anything it may have to go through a documentation and possibly an approval process. The software engineering group boots from a USB device on these units frequently, I'm essentially going in through the same method as they do, but with different software and a different USB device.

Link to comment

I experimented with my desktop PC, a Dell Optiplex GX280. It has PXE support, and a PDF file from the Dell web site explained that the client only needs to enable the PXE boot in the BIOS, then set the boot device order with the Ethernet first to have it get an image from a tftp server. The rest of the setup is on the dhcp/tftp server. I set my PC to boot to ethernet first, then HDD, then CDROM then floppy. We use DHCP for our office network addressing, and the PC got an IP, but there was no bootp service running to tell the PC where to look for the tftp server. The PC timed out and finally booted to hard disk.

If the "factory defaults" don't include the PXE and a boot order that include the ethernet, then this probably won't work for you. Maybe you could load your temporary OS and apps on CF and then boot the system the way it would be booted in the field. You would prove that your CF interface is working, and that your BIOS is set up to work when the SBC is deployed...

If the SBC has a floppy drive, you could look at using something I found today called "PXE on Disk". Unfortunately, they tie the bootable floppy to the MAC address of your ethernet. You would need to get a site license ($500) but these are renewable on an annual basis :thumbdown: Maybe give them a call and see what they can suggest...

The last choice would be to install an expansion card that would connect a CDROM or IDE disk drive to your SBC. I used one of these in a VMIC setup, but had to install a P2 connector across the backplane to complete the connection :thumbdown: This solution SUCKED and did not work in one of our VME chassis. It took WEEKS to get this piece of cr@p to work...

Best of luck, and if you get something working, keep us up to date. I've developed a recent interest in (re)learning about linux and how it applies to LabVIEW.

Link to comment

Okay after I pretty much already have a set up done I realize it won't work for you.

My idea was to take a PreInstall environment, based on BartPE, where you would create a live OS which was around 80MB. You could then load that 80MB into ram and run any LabVIEW executable with it.

The problem is at 80MB there aren't very many drivers, it would likely not have any audio, dial-up, wireless, very limited ethernet drivers, but it would have SATA drives, and USB mass storage drivers. So I was going to include this program for you to include the ethernet drivers in the package. So basically you run this little utility, and it will detect what kind of drivers you have installed, then it gives you the option of adding those drivers. So my idea was for you to run this utility on the machine that you wanted to work on. Problem is, that computer doesn't have windows on it, it doesn't have any OS on it.

This is a perfect solution, IF the identical ethernet card is also on another machine that does have windows on it.

I know it's kinda confusing but it's hard to explain too. If you're still confused I can elaberate. Also if you still would like a How-To load LabVIEW into RAM I can post that some where, who knows some one else might want to do some thing similar.

Link to comment
  • 2 weeks later...

QUOTE(Wiebe@CARYA @ Apr 3 2007, 02:22 PM)

Main problem I had was that rpm's aren't supported by the majoraty of Linuxes. I found out that most distros have converters, but I'm not sure if this is the usual way of doing this. Also, I haven't used one with success.

I've used alien to convert .rpm to .deb for installing on Ubuntu, works fine for installing LabVIEW PDS.

Link to comment

QUOTE(Phaedrus @ May 5 2007, 10:49 AM)

I've used alien to convert .rpm to .deb for installing on Ubuntu, works fine for installing LabVIEW PDS.

Thanks. I found out about alien, but it's really hard to tell if that is the normal way to do it. I tried rpm2cpio without luck, and each try is can take hours (days) for a Linux beginner.

I've also considered rpm2tar.gz, but haven't got around it. All Linux stuff is outsourced for now, but eventually I'd like to know more about it.

BartPE is really not for us, unless I'm missing something here. We really need the system to be as cheap as possible, and with BartPE we should pay licence fee to M$. I know the Windows fee could be cheaper then the development cost in some cases. The aim is to make 1000 peaches, so we chose Linux.

Regards,

Wiebe

Link to comment

QUOTE(Wiebe@CARYA @ May 8 2007, 11:33 AM)

BartPE is Free and Legal when used properly (you would be using it properly) BartPE is not owned by Microsoft. I think you are getting WinPE and BartPE mixed up. If you're interested here's the BartPE home page.

http://www.nu2.nu/pebuilder/''>http://www.nu2.nu/pebuilder/' target="_blank">http://www.nu2.nu/pebuilder/

But as I mentioned earlier BartPE probably wouldn't work because of the ethernet drivers issue. BartPE would need the drivers for the specific ethernet card. Usually this is done by running a small utility from within Windows, and extracting the driver that way. But since these machines don't have windows install it would make it more difficult to get the right drivers.

Link to comment

QUOTE(Bryan @ Apr 20 2007, 07:12 AM)

I'm not familiar with using BootROM or any type of network image booting, so I'll have to read up on it. All of my linux stuff I'm pretty much learning as I go. Would this require me to permanently change things in the BIOS? I'm assuming it would as I would have to somehow tell the computer not to use the image on it's local drive at boot, which would require me to go into each computer's BIOS and force it to look for a network image instead of using the installed local image.

My intent is to disturb the hardware/firmware the least amount possible. This would be done on equipment for a military contract and thier configuration control is very strict. If I change anything it may have to go through a documentation and possibly an approval process. The software engineering group boots from a USB device on these units frequently, I'm essentially going in through the same method as they do, but with different software and a different USB device.

With >1GB USB sticks getting very common why not install an image of an OS with LabVIEW installation on them. If they can boot from there you should be able to do so too. Just need a stick that supports booting from.

And then it should be quite simple to create as many of those sticks as you might need to get to test all machines in parallel. Not completely free but USB sticks don't cost that much anymore. You could even go with a smaller stick for DSL I think although not sure what are the smallest that support booting up.

Alternatively you could use such a stick to boot up the system into a minimal configuration that connects to the network and downloads everything else necessary to the local RAM disk.

Rolf Kalbermatter

Link to comment

Yeah, I've thought of that. I haven't been able to get LabVIEW and other support applications I need to all install on DSL and run in RAM. I have 62+ machines that I'd like to have up and running the same application all at the same time. I don't really want to have to buy 62+ USB sticks to accomplish that task.

I'd really just like to get something up so that I can run a LabVIEW executable and install GE's "vmisft" software onto it (since my LabVIEW application depends on it to access the VME bus).

Inasmuch as I would like to do this in LabVIEW, I'm afraid I may have to go an alternative route and get some sort of linux-only solution where I have a linux C-application that does the features I'd need, which is essentially to receive, parse, execute and respond to commands I send to the computer over the network. Unfortunately, with my little knowledge of c-programming in Linux, I may have to consult one of our resident Linux gurus for help with this.

Link to comment

QUOTE(hooovahh @ May 10 2007, 04:03 PM)

BartPE is Free and Legal when used properly (you would be using it properly) BartPE is not owned by Microsoft. I think you are getting WinPE and BartPE mixed up. If you're interested here's the BartPE home page.

http://www.nu2.nu/pebuilder/''>http://www.nu2.nu/pebuilder/' target="_blank">http://www.nu2.nu/pebuilder/

But as I mentioned earlier BartPE probably wouldn't work because of the ethernet drivers issue. BartPE would need the drivers for the specific ethernet card. Usually this is done by running a small utility from within Windows, and extracting the driver that way. But since these machines don't have windows install it would make it more difficult to get the right drivers.

You mean I can use PartPE to put a Windows XP compatible OS on 500 PC's? (The 500 PC's do not have windows XP installed on it.) Because that is how I want to use it...

The website, will all respect, doesn't explain to me what what free and legal use is. I haven't read every word of it, but regarding licensing, all I can find is in step 7 in the getting started.

I'll see if I can find your article in CT from a while ago. I'm sure I have it somewhere.

Regards,

Wiebe.

Link to comment

QUOTE(Wiebe@CARYA @ May 16 2007, 12:19 PM)

Okay I don't want to turn this into a BartPE thread so I won't, but I will answer your question as briefly as possible.

A while back, when XP was still in beta, a guy named Bart Lagerweij realized that during the normal XP install it kinda goes into a "Pre-Install Environment" where you have mouse and keyboard detection (this is the part of the install where you give it the serial number and other information) he realized by taking the right files from the installer CD he could have a machine boot to a live environment which was a preinstall environment where the user has HD detection, mouse keyboard monitor, and other basic functions.

He made a program that would automate creating this Live environment and called it PEBuilder. PEBuilder would basically make BartPE from a XP (or Windows 2003) installation CD. This environment is very limited, it doesn't look like XP at all, it just has the basic funcitonality of XP. He then made plugins which make BartPE look and act more like XP. There's been several different spin offs of BartPE with Bart's permission, Reatogo, Winbuilder, and several others which are built around BartPE.

As for the legality. The basic rule of thumb is, if you own a legal copy of XP you can legally make a backup copy incase your original is damaged. Because of this you can make legal copies of XP system files, you CANNOT however make tons of BartPE CDs and give them to all your friends (legally) it would be like giveing them copies of Microsoft software.

So giving it to others is bad, but using it your self can also be kinda hazy. I am not a lawer and have no legal back ground. So any thing I say about the law could be completely wrong. Because of that I don't want to say what is fair use on a personal level. For system rescue on a few of your own personal computers BartPE should be fine. But making it the primary OS for 500 computers! I can't see how Microsoft would approve of that. There are actually limitations on some of the XP install files that say after 24 hours of being on it will turn the computer off. Kind of a bummer but it prevents people from making BartPE the primary OS (there are work arounds but non that are legal that I know of)

For more legal discussion of BartPE go here.

http://www.911cd.net/forums//index.php?sho...ost&p=56546

If you're still confused send Bart an email, in my experience he's very friendly, and has even helped my company with random questions we had about DOS boot ables a while back.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.