Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Software development

Featured Replies

What would it take to be able to write and debug programs (Written in C not bash scripts) that could then be integerated into the unRaid system?

By this I mean what do I need in the way of an Off-unRaid development environment to do that.  I have been programming all my life so to me it is just a start up issue. Ideally I would like to do development in a Ubuntu based environment; Windows would be even nicer; checkout and testing in a slackware distro and then move it to unraid.

 

Any advice greatly appreciated.

What would it take to be able to write and debug programs (Written in C not bash scripts) that could then be integerated into the unRaid system?

By this I mean what do I need in the way of an Off-unRaid development environment to do that.  I have been programming all my life so to me it is just a start up issue. Ideally I would like to do development in a Ubuntu based environment; Windows would be even nicer; checkout and testing in a slackware distro and then move it to unraid.

 

Any advice greatly appreciated.

The package manager in unMENU has the "C" compiler available.  It also installs the affiliated tools for "make"

 

That will get you going in "C" 

  • Author

Thanks Joe (as usual).  I also just found the threads on slackware unraid development environments.

 

I currently have ubuntu loaded on one of my machines.  I will do my "C" learning and development there.  All I will need is the ability to do TCP sockets, and the ability to read write disk drives and eventually to read write into the unraid protected array. Hopefully I can do all the tcp/Ip and logic checkout using the Ubuntu system then just recompile the C code on unraid and do some final testing.

 

My only real issue (lack of knowledge) will probably be what I have to do to read/write data into the Protected unraid array to maintain parity.  I assume there are some entry points that can be hooked into but do not know what they are. Any advice appreciated.

My only real issue (lack of knowledge) will probably be what I have to do to read/write data into the Protected unraid array to maintain parity.  I assume there are some entry points that can be hooked into but do not know what they are. Any advice appreciated.

The /dev/mdX devices are mounted at /mnt/disk1 through /mnt/disk19

All you need to do is open/read/write and file you like.  The parity is maintained for you.  You do not need to do anything special at all.

 

If you'd rather use the user-shares, those are at /mnt/user/  and the same concept applies... Any file you open/read/write will automatically update parity.

  • Author

Thanks Joe.  I had hoped it would be like that. I will start out using Windows "C" just to slap code together and learn "C" Programming.  Hopefully it will then just be a "Port" issue to move it over.  To port it hopefully a recompile will do it but I may want to make a package after all is working.  

 

I have all the code already in VB6 so hopefully it should not be that bad as all of the gross logic should be correct.

Thanks Joe.  I had hoped it would be like that. I will start out using Windows "C" just to slap code together and learn "C" Programming.  Hopefully it will then just be a "Port" issue to move it over.  To port it hopefully a recompile will do it but I may want to make a package after all is working.

 

I would suggest installing slackware 12 on small system or a vmware environment.

 

Once familar with slackware's slacker style environment, download a simple program's .SlackBuild script and get an idea of what it's like to build a pacakge.

 

Also, you could download one of my webGui source or the powercontrol source via svn and peek at the slackbuild.

 

If you install the cygwin environment on your windows machine you can compile and test some programs, but to really test it in unRAID it's best to build a package and reboot from scratch a few times to see how it works.

 

unRAID's root filesystem is in ram, so any files you tweak, have to be reinstalled upon reboot. Any files you cache have to be cached on /boot somewhere after being modified and then reinstalled into / or /etc upon boot up.

 

The core C programming will be the same, its the administrative and environmental that need familiarity.

 

What I ended up doing was creating a slackware dev system in VMWare and also creating an unRAID system in vmware.

 

I develop C in the slackware dev, make a package transport to unRAID vmware, reboot and see how it goes.

 

For scripts and the webGui stuff, I just do it on /boot in my unRAID environment.

The slacbuild makes a package and I install the package.

 

It might be simpler to install the C toolchain on unRAID and do the compile build and testing there as long as your source is /boot or one of the protected volumes.

  • Author

Thanks for the advice guys. 

I should also mention,

 

Although I have the slackware dev system in vmware, I've set up NFS mount points to my unRAID server so my source code is off the vmware environment and always backed up.

 

it works out pretty cool because I can build in one place and the built tgz file is already on the unRAID server when I'm ready to deploy.

  • Author

I have my development system set up to dual boot multiple OS's, so I will put up either Ubunto or Slackware.  Does slackware come with a graphical interface to make my life simpler (@70 years memory gets a little finicky).  I assume slackware has grub or LILO to allow me to dual boot or I can just install the grub loader.  I am not sure if the WIN OS loader is yet smart enough to load another OS but it might be.

 

I thought I saw something about slackware and gnome. I need to investigate stuff!!!

I have my development system set up to dual boot multiple OS's, so I will put up either Ubunto or Slackware.  Does slackware come with a graphical interface to make my life simpler (@70 years memory gets a little finicky).  I assume slackware has grub or LILO to allow me to dual boot or I can just install the grub loader.  I am not sure if the WIN OS loader is yet smart enough to load another OS but it might be.

 

I thought I saw something about slackware and gnome. I need to investigate stuff!!!

 

I'm sure it has a gui, I never installed it therefore I cannot help you with that one.

Slackware is lilo, which after all these years of grub, is sort a pain.

I installed it as a vmware machine it lets me startup & shutdown without rebooting.

Also I do not have to worry about any boot loader issues or possibly interfering with another os.

 

 

Archived

This topic is now archived and is closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.