I thought this might interest some of you, so here it is...
Out of idle curiosity, I started my efforts to determine how difficult it would be in getting unRAID to function under a full Slackware64-Current distro. This is the 64bit version of Slackware-Current.
Surprisingly, it did not seem to take much effort at all. I am still in the process of conducting tests, but the base functionality seems to work. I'll post updates when I hit further checkpoints.
The approach I took was to utilize VirtualBox to setup the experimental system. I added the SATA controller with 4 virtual 10GB disks, one for the base to install Slackware64 onto, one for parity, and two for data drives. I had to use 'noapic' parameter to boot the stock kernel. After the base OS was installed, I proceeded to create the custom kernel. I copied the kernel source to 2.6.33-unraid directory, copied over the unRAID MD drivers and configured it to load as a module. After compiling and I rebooted to verify the new kernel worked. After that I copied over the /unraid/root, /unraid/usr/local/sbin/, /unraid/etc/samba directories and subdirs. I then copied over /etc/rc.d/rc.samba, and /etc/rc.d/rc.local files. Since I couldnt exactly get the USB flash mounted, I created a /boot/config/ directory so it could at least create the config files.
For setting up Slackware64-Current (13.1) to be able to run more 32bit programs and to compile 32bit only versions, the following steps should be followed as listed in the Multilib Slackware for x86_64 wiki entry. This will setup a genuine environment with the needed 32bit libraries and compiler. The steps seem easy to follow, considering you already worked through installing unRAID on Slackware and creating a custom kernel. It's basically installing a few packages, running a script, then installing more packages.
The next part was the most tedious. It was trying to appease emhttp so it would run. This involved copying over or symlinking the needed 32bit libraries from unraid-4.5.3/lib/ directory to /lib/:
With those steps done, emhttp was able to start. I am able to browse to the management page, assign the virtual disks, start the array, format the disks, and start a parity check. The parity check is still in progress.
Once the parity check is finished, I will then determine what is needed to get the userfs running.
To get the user filesystem to function, the following additional libraries had to be copied from /unraid/lib to /lib:
libfuse.so.2.8.1
libfuse.so.2 -> libfuse.so.2.8.1
librt-2.7.so
librt.so.1 -> librt-2.7.so
The libraries were determined through the use of ldd executable, such as ldd /usr/local/sbin/emhttp or ldd /usr/local/sbin/shfs.
In the latest Slackware-Current releases (32bit and 64bit), they upgraded to udev 1.51, so there are some issues which seem to be of the display-only level. In particular on the "Devices" page, the disks devices display oddly, but they display properly on the Disk Status page. The Flash GUID is detected properly and displays fine. The drives mount fine as well. This is what displays:
instead of:
Out of idle curiosity, I started my efforts to determine how difficult it would be in getting unRAID to function under a full Slackware64-Current distro. This is the 64bit version of Slackware-Current.
Surprisingly, it did not seem to take much effort at all. I am still in the process of conducting tests, but the base functionality seems to work. I'll post updates when I hit further checkpoints.
The approach I took was to utilize VirtualBox to setup the experimental system. I added the SATA controller with 4 virtual 10GB disks, one for the base to install Slackware64 onto, one for parity, and two for data drives. I had to use 'noapic' parameter to boot the stock kernel. After the base OS was installed, I proceeded to create the custom kernel. I copied the kernel source to 2.6.33-unraid directory, copied over the unRAID MD drivers and configured it to load as a module. After compiling and I rebooted to verify the new kernel worked. After that I copied over the /unraid/root, /unraid/usr/local/sbin/, /unraid/etc/samba directories and subdirs. I then copied over /etc/rc.d/rc.samba, and /etc/rc.d/rc.local files. Since I couldnt exactly get the USB flash mounted, I created a /boot/config/ directory so it could at least create the config files.
For setting up Slackware64-Current (13.1) to be able to run more 32bit programs and to compile 32bit only versions, the following steps should be followed as listed in the Multilib Slackware for x86_64 wiki entry. This will setup a genuine environment with the needed 32bit libraries and compiler. The steps seem easy to follow, considering you already worked through installing unRAID on Slackware and creating a custom kernel. It's basically installing a few packages, running a script, then installing more packages.
The next part was the most tedious. It was trying to appease emhttp so it would run. This involved copying over or symlinking the needed 32bit libraries from unraid-4.5.3/lib/ directory to /lib/:
- ld-linux.so.2
- libcrypt.so.1
- libcrypto.so.0
- libpthread-2.7.so
- libpthread.so.0 -> libpthread-2.7.so
- libvolume_id.so.1
- libc.so.6
- libdl-2.7.so
- libdl.so.2 -> libdl-2.7.so
With those steps done, emhttp was able to start. I am able to browse to the management page, assign the virtual disks, start the array, format the disks, and start a parity check. The parity check is still in progress.
Once the parity check is finished, I will then determine what is needed to get the userfs running.
To get the user filesystem to function, the following additional libraries had to be copied from /unraid/lib to /lib:
libfuse.so.2.8.1
libfuse.so.2 -> libfuse.so.2.8.1
librt-2.7.so
librt.so.1 -> librt-2.7.so
The libraries were determined through the use of ldd executable, such as ldd /usr/local/sbin/emhttp or ldd /usr/local/sbin/shfs.
In the latest Slackware-Current releases (32bit and 64bit), they upgraded to udev 1.51, so there are some issues which seem to be of the display-only level. In particular on the "Devices" page, the disks devices display oddly, but they display properly on the Disk Status page. The Flash GUID is detected properly and displays fine. The drives mount fine as well. This is what displays:
Quote
parity device: pci-0000:00:1f.2-scsi-1:0:0:0 host1 (sdb) wwn-0x50014ee2ad71c74d
disk1 device: pci-0000:00:1f.2-scsi-4:0:0:0 host4 (sdc) wwn-0x50014ee2581c623e
disk2 device: pci-0000:00:1f.2-scsi-5:0:0:0 host5 (sdd) wwn-0x50014ee202c6e6ff
instead of:
Quote
Model / Serial No. Temperature Size Free Reads Writes Errors
parity WDC_WD20EADS-00R_WD-WCAVY0211284 * 1,953,514,552 - 1,641 1,860 0
disk1 WDC_WD20EADS-00R_WD-WCAVY0247937 * 1,953,514,552 1,010,462,656 10,562 1,764 0
disk2 WDC_WD20EADS-00R_WD-WCAVY0252670 * 1,953,514,552 1,287,682,996 5,520 92 0
No comments:
Post a Comment