FreeNAS Users Rejoice!
Unetbootin[1] now supports FreeNAS! Take a look at these awesome little snippets of code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | //distrolst.cpp if (nameDistro == "FreeNAS") { if (isarch64) { cpuarch = "amd64"; } else { cpuarch = "i386"; } instIndvfl("memdisk", QString("%1ubnkern").arg(targetPath)); if (islivecd) { downloadfile(QString("http://downloads.sourceforge.net/sourceforge/lubi/FreeNAS-%1-LiveCD-%2.img.gz").arg(cpuarch, relname), QString("%1ubninit").arg(targetPath)); } else { downloadfile(QString("http://sourceforge.net/projects/freenas/files/stable/0.7/FreeNAS-%1-embedded-%2.img/download").arg(cpuarch, relname), QString("%1ubninit").arg(targetPath)); } } |
1 2 3 4 5 6 | //distrover.cpp distroselect->addItem("FreeNAS", (QStringList() << "0.7.4919" << unetbootin::tr("<b>Homepage:</b> <a href=\"http://freenas.org/\">http://www.freenas.org</a><br/>" "<b>Description:</b> FreeNAS is an embedded open source NAS (Network-Attached Storage) distribution based on FreeBSD.<br/>" "<b>Install Notes:</b> The LiveCD version creates a RAM drive for FreeNAS, and uses a FAT formatted floppy disk or USB key for saving the configuration file. The embedded version allows installation to hard disk.") << "0.7.4919" << "0.7.4919_x64" << "0.7.1.5024_Live" << "0.7.1.4997_Live_x64")); |
Segue:
I'm actually considering forking the unetbootin project to add support for a master distro list which can be updated remotely eliminating the requirement for users to download a new copy of the program if they wish to get the latest version of the list of pre-configured distros.
This has a little bit to do with the fact that I'll be required to take a few C++ courses at the University of Wyoming since Java is the standard language taught at the University of Arizona while I was there and I've never used C++ before. Can't be that hard right?
Installing MikTeX on Windows 7
One of the only things that kept me from installing Windows 7 permanently during the school year was that the few times I tried, I had never gotten MikTeX[1] to work. This of course was a major problem since nearly all of my assignments are done with MikTeX now. When installing MikTeX I always ran into a BSOD that I ignored because I figured that it was only because Windows 7 was only an RC[2].
I've had Windows 7 on my desktop now for about 2 weeks and up until this point I've been making due with the MikTeX Portable Edition which is pretty buggy to say the least. More than half of the time it would hang on compiling a document to pdf at something due to it not thinking initexmf.exe was an operable program. And of course upon googling this problem, nothing of use could be found.
Well tonight I decided I'd give the install another go to see if either Windows 7 had been patched to fix this issue, or if MikTeX had fixed the problem. On my first try, it did exactly as it had always done before BSOD'd. Since I had never set windows to not automatically restart upon catastrophic system failure[3] it would just instantly restart without giving me enough time to read the type of error. I fixed this and ran the installer once more. The BSOD was a PAGE_FAULT_IN_NON_PAGED_AREA error, which was pretty vague as usual but I figured it had to do with system paging, so I disabled the Virtual Memory restarted and ran the installer once more. This time it worked exactly as it should.
On another interesting note, I discovered that pdflatex is significantly faster than texify. I found this out when I was trying different methods of compiling my TeX documents into pdf's using the MikTeX Portable Edition which was giving me fits with my old method.
I used to use the following in NotePad++'s NppExec plugin to compile a pdf and view in Adobe Reader:
1 2 | C:\Program Files\MiKTeX 2.7\miktex\bin\texify.exe -c -p "$(FULL_CURRENT_PATH)" "$(NAME_PART).pdf" C:\Program Files\Adobe\Reader 9.0\Reader\AcroRd32.exe "$(CURRENT_DIRECTORY)\$(NAME_PART).pdf" |
Now I use pdflatex:
1 2 | C:\Program Files\MiKTeX 2.7\miktex\bin\pdflatex.exe "$(FULL_CURRENT_PATH)" C:\Program Files\Adobe\Reader 9.0\Reader\AcroRd32.exe "$(CURRENT_DIRECTORY)\$(NAME_PART).pdf" |
- MiKTeX (pronounced mick-tech) is an up-to-date implementation of TeX and related programs for Windows (all current variants). [↩]
- Release Candidate [↩]
- Read: Blue Screen Of Death [↩]
FreeNAS on Acer Altos easyStore H340
I've been reading more about the Acer easyStore and thinking about the possibility of installing FreeNAS on it instead of the preinstalled Windows Home Server. There's a multitude of problems associated with this but it still might be possible to kludge something together to make it work.
The first of these problems is the lack of a display port, this complicates things a little bit, but not terribly. First of all there would be no troubleshooting available if there were install troubles. However given that FreeNAS is based off of m0n0wall which is in turn based off of FreeBSD and it's designed with hardware compatibility in mind it would be easy enough to simply DD the embedded image to a CF card or some small flash storage and plug it in inside the server and boot it up without having to worry too much about making sure it installs all the right drivers.
This presents yet two more problems, both of which are closely related. Where are we going to plug in the flash that will have the image? It probably won't have a PATA//IDE port but we'd never know until we looked inside. And how can we make sure it boots from the right drive? There's no BIOS to jump into and configure since there's no display port and even no serial port for doing this remotely. The only solution I could come up with is this: Hope that there's a spare SATA port, which there likely isn't since it's designed for 4 drives and SATA ports usually come in pairs and since 4 % 2 == 0 we're sort of back to square one. Now if for some odd reason the motherboard rolled for this appliance just *happened* to have an unused SATA port our problem is pretty much solved. We could simply move cable of the bottom bay (which has the preinstalled drive with WHS) to another port and plug in a small SATA flash storage device which the system would already have been configured to boot from.
Once that's all said and done we could simply just go to the web interface of the FreeNAS install and configure it how we like. Though you could theoretically modify the configuration before hand in a virtual machine. Mount the storage device to a virtual machine, boot and make changes you deem necessary then simply shutdown and plug the storage device into the easyStore. All the new hardware would automatically be detected and all would be well with the setup.
One other thing I've been considering is the possibility of using one of the new Display Link USB video adapters. Although I'm very skeptical of the idea that this would work without drivers installed in a minimally functioning mode such as in the BIOS or on a simple terminal like what FreeNAS presents the user after booting. If it did work though, it would be easy enough to get one of these and use it for troubleshooting or modifying the BIOS settings if that's even possible in what looks to be a very locked down device.
Now lets just say that the DisplayLink device would work in a very simple mode and we could indeed access a BIOS to change boot order, lets assume that the board has a mini PCI-E expansion slot in it for kicks since quite a few Atom boards do (and Acer might have been too lazy to just exclude it's installation on what i assume is a custom board). We could put in a PCI-E SSD like this one and configure the BIOS to boot from that. But I have a feeling that's just wishful thinking and we'd be better off hoping that there would be an extra SATA port. You could also theoretically just use a thumbdrive assuming the BIOS would allow you to boot from a removable USB device. Again probably just wishful thinking.

