Building an unRAID Development Environment


Recommended Posts

Silly question though...where can I get depreciated kernel sources for slackware?...

 

If you use an earlier distribution like 12.1 or maybe even 12.2, you might be able to upgrade the kernel to the appropriate level.  I'm sure those sources and headers would still be floating out there somewhere.

Link to comment
  • Replies 53
  • Created
  • Last Reply

Top Posters In This Topic

Well...I couldn't find the kernel sources to match with 4.5 beta4, so I've reverted to 4.4...

 

I finally got everything built...one thing I had to do after recompiling the kernel, was switch VMWare to present the disk controller as Buslogic instead of LSI.  Once I did that, im up...

 

I can live with 4.4 until the next 4.5 is released...

 

Thanks for everyone's help!

 

Now, on to VMWare on top of this (for deployment onto my dedicated hardware)

 

Link to comment
  • 2 weeks later...

Hi,

 

two days and one everning in and i've yet to get it working. Can somone point me in the right direction?

 

I have followed the steps (using 12.2 and skipping steps 2 and 4) and thigns seems to be build but it then doesn't boot.

 

I guess i've make a mistake in the menuconfig section. it loads a gui with a WHOLE load of options in it. is there a sure fire way of knowing what to change?

 

I've tried this in both a VM, and on real hardware with the same results.

 

any help could be great.

thanks

A

 

Link to comment

Which version of unRAID are you using?  For Step #2, you'll need to find & download updates that match the kernel that your version of unRAID is using.  For example, I think 4.5 beta 6 uses the 2.6.29.1 kernel (you can check by booting it and typing in uname -r after logging in), so you would need to find that same level of headers, sources, and such and install them in Step #4.

 

Link to comment

4.4.2 is built on the 2.6.27.7 kernel which is what Slackware 12.2 ships with.  Therefore, you are right, and you should be able to skip steps 2 and 4.

 

You should be able to use the config file from the original post.  Download it onto your dev system and unzip it.  I think it is called config2 (no extension).  This is the file that you need to avoid having to do all the menuconfig stuff manually.  After you have unzipped it (and you are in the same directory that the file config2 is in), copy it to the /usr/src/linux location with the command below (Note, this is a replacement for the very last line of Step 5):

 

cp -rf config2 /usr/src/linux/.config

 

What we have done is copied the config file that was attached to the OP over to the needed location and changed its name to the needed name ".config"

 

From here, you should be able to continue.  You probably will not need to do the menuconfig command in Step 6.

Link to comment

MenuMan.

 

I had been using yoru config file. I was deleteing the .config from that dir, then opening the same file name in nano and pasting your config file into a the (now empty) new .config file and saving it.

 

however i hadn't realised that doing this meant that the "make menuconfig" command could then be skipped if i had done this.

 

So to double check:

step 1) done previously

step 2) can skip for DVD isntall of 12.2 Slackware and 4.4.2 unraid

step 2) done previously

step 4) can skip for DVD isntall of 12.2 Slackware and 4.4.2 unraid

step 5) do everything step listed in post

step 6) cd /usr/src/linux

            make clean

            paste .config file using puty

            <skip>make menuconfig</skip>

step 7) complete all steps listed in post

step 8) already done

step 9) cross fingers...

 

Thanks MusicMan.

 

Link to comment
  • 2 months later...

Step #7 problem

 

When I 'make modules' I get this error and it doesn't go any further.  Everything up to that seems to work fine.

 

  
CC [M]  drivers/ide/pci/trm290.o
CC [M]  drivers/md/md.o
drivers/md/md.c: In function 'lock_rdev':
drivers/md/md.c:456: error: too many arguments to function 'blkdev_put'
drivers/md/md.c: In function 'unlock_rdev':
drivers/md/md.c:471: error: too many arguments to function 'blkdev_put'
drivers/md/md.c: At top level:
drivers/md/md.c:951: error: expected declaration specifiers or '...' before 'fmode_t'
drivers/md/md.c:960: error: expected declaration specifiers or '...' before 'fmode_t'
drivers/md/md.c:972: warning: initialization from incompatible pointer type
drivers/md/md.c:973: warning: initialization from incompatible pointer type
make[2]: *** [drivers/md/md.o] Error 1
make[1]: *** [drivers/md] Error 2
make: *** [drivers] Error 2

 

Anyone know?  Thanks

Link to comment

Step #7 problem

 

When I 'make modules' I get this error and it doesn't go any further.  Everything up to that seems to work fine.

 

  
CC [M]  drivers/ide/pci/trm290.o
CC [M]  drivers/md/md.o
drivers/md/md.c: In function 'lock_rdev':
drivers/md/md.c:456: error: too many arguments to function 'blkdev_put'
drivers/md/md.c: In function 'unlock_rdev':
drivers/md/md.c:471: error: too many arguments to function 'blkdev_put'
drivers/md/md.c: At top level:
drivers/md/md.c:951: error: expected declaration specifiers or '...' before 'fmode_t'
drivers/md/md.c:960: error: expected declaration specifiers or '...' before 'fmode_t'
drivers/md/md.c:972: warning: initialization from incompatible pointer type
drivers/md/md.c:973: warning: initialization from incompatible pointer type
make[2]: *** [drivers/md/md.o] Error 1
make[1]: *** [drivers/md] Error 2
make: *** [drivers] Error 2

 

Anyone know?  Thanks

 

You're trying to use a recent beta version of Unraid 4.5 with an older Kernel. If you're using Slackware 12.2 or similar, you likely have Kernel 2.6.27.7 where as Unraid 4.5beta6 is built for kernel 2.6.29.x. To get past this, you need to update the kernel version you're trying to use OR use Unraid 4.4.2 version.

Link to comment
  • 2 months later...

May I(we) ask some more knowledgeable member to put together some steps or at least some good pointer on how to upgrade kernel in our good-old 4.4.2 dev environment to newer kernels?

 

4.5-beta7 has kernel version 2.6.30.8. There is even no slackware package in current directories for that yet.

I assume the required kernel source has to be downloaded from kernel.org for this.

 

So is is possible to put together a relatively easily followable guide on that, or this is not that simple?

 

Thank you in advance!

Link to comment
  • 3 weeks later...

Thank you to everyone for the great tips and guides so far.  I was successful in getting unRAID 4.4.2 working a few months back, so I figured I would try 4.5 beta 7, but I am running into some problems.  I got the source for the 2.6.30.8 kernel, built it, and can successfully boot to the new kernel in my development environment, but when I try to build the unRAID version, I get a kernel panic every time.  I followed all of the instructions and tried using the attached config file from the first post - the only thing I added was ext4 support since I think I originally formatted the partition as ext4.  I have attached a screenshot of the kernel panic in hopes that someone can tell me where to go next.  I really want to upgrade my system to 4.5, but I need to have VMware running before I can do that.

 

kernelpanic.JPG

 

Link to comment
  • 10 months later...

Apologies for reviving an old topic, but I was attempting to get a development environment running on my mac desktop and had a few questions before starting...

 

I have created a VM using Slackware 13.1, the reason being that Unraid's current build (4.5.6) is using kernel 2.6.32.9. There doesn't appear to be a slackware equivalent based on that kernel (Unfortunately, Slackware 13.1 is using 2.6.33.4 and I've checked the various slackware folders listed in url provided in step #1 of the original post (looked in the various ".../k" directories for versions 12+).

 

  • Is it ok to use Slackware 13.1, or should I stick to a previous version like 12.1?
  • Does it matter what kernel the dev environment is built on?  My intent is to build packages to move onto my production build (e.g. VMWare) if it matters.  I would think it would since newer kernels may provide different functionality, but this is way beyond my newbie linux knowledge :)...
  • If it does matter, can someone point me to a source of the 2.6.32.9 kernel files (I tried googling, and perusing kernel repos, but didn't see any that had breakdowns listed in step 1, e.g. *noarch-1.tgz, *x86-1.tgz, etc)

 

thanks for the help!

Link to comment

It is fine to use Slackware 12.2. If you use Slackware 12.x or older, you will need to update the udev package and the package-tools package so they match what unRAID 4.5.6 uses. I think it's udev 1.41. The package-tools is to handle .txz packages.

 

It's also fine to use Slackware 13.1 or even Slackware-Current (13.1 with patches). However, the GCC compiler tool chain is newer than what unRAID 4.5.6 has, so you might also need to install newer gcc-lib on your official unRAID 4.5.6 server to get things running.

 

As for the source for the kernel, have you checked the primary source of the linux kernel -- http://kernel.org/ ? I know it's there -- http://www.kernel.org/pub/linux/kernel/v2.6/

 

 

Link to comment

Thanks for the quick reply!

 

I actually did check the primary source.  I just didn't see the file breakdowns listed in step #1, so I had no idea if the files in there would work (the *noarch, etc files), if they were in a different "state" than what the instructions expected, etc. 

 

Would I need to pull both the linux-2.6.32.9.tar.gz and the patch-2.6.32.9.gz as well?

 

 

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.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  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.