| 
  • If you are citizen of an European Union member nation, you may not use this service unless you are at least 16 years old.

  • You already know Dokkio is an AI-powered assistant to organize & manage your digital files & messages. Very soon, Dokkio will support Outlook as well as One Drive. Check it out today!

View
 

FreeNAS 0_70

Page history last edited by xyyz 13 years, 12 months ago

FreeBSD 7.x (which is the base OS for FreeNAS 0.70) does boot just fine.

 

PATA port issue

 

FreeBSD is unable to see the PATA port on ICH7, unless the chip is set to 'compatibility' mode and SATA is disabled entirely in the BIOS. This does not seem to affect FreeBSD's ability to enumerate and use the SATA ports, though, even in AHCI mode.

 

amd64 version of FreeNAS 0.70 cannot see the PATA port whatsoever. The solution is to use the i386 version, or add the following to /boot/device.hints:

 

hint.ata.0.at="isa"
hint.ata.0.port="0x1F0"
hint.ata.0.irq="14"

 

Shutdown issue

FreeBSD 7.x is unable to completely shut down the device. It is a known bug currently in the works:

It turns out that if you turn off USB in the BIOS, the problem disappears. So for now it's your choice whether to live without USB connectivity or without programmatic power-off

.

 

eSATA support

 

<to be written>

 

Installation process     

 

  • Switch BIOS to boot from CD and reboot the NAS;
  • Add boot hints as follows (option 5 on LiveCD install, at 'OK' prompt add following, then type 'boot' to continue):

 

set hint.ata.0.at="isa"
set hint.ata.0.port="0x1F0"
set hint.ata.0.irq="14"
set console="comconsole,vidconsole"       

 

  • Once FreeNAS finishes loading, open your browser and navigate to the NAS IP address (192.168.1.250)
  • Login as admin/freenas
  • Change and save /etc/ttys as follows from Advanced Options, File Editor:

 

ttyd0   "/usr/libexec/getty std.9600"   vt100   on secure

 

  • Go to System -> Advanced -> Command and type in "kill -HUP 1" and click on Execute to get the login prompt from your Putty (etc.) serial connection.

  • Login as root/freenas

  • Type: /bin/sh (enter) and /etc/rc.initial to get the Menu to set IP and install the OS on the IDE drive.

  • At the prompt, select 9 -> Install on HD/USB.  Then select 3 -> Install Full OS and follow the prompt to select the 128 MB IDE drive as the system drive.  

  • Once done, reboot (remove USB CD ROM)

  • Bounce NAS, enter BIOS and select DOM as boot device

  • FreeNAS should boot from DOM, interrupt the boot loader again and add hints:

set hint.ata.0.at="isa"
set hint.ata.0.port="0x1F0"
set hint.ata.0.irq="14"
set console="comconsole,vidconsole"

 

  • Once online, go to the web console, login, and modify files as follows: 

 

/boot/loader.conf

 

boot_multicons="YES"
boot_serial="YES"
comconsole_speed="9600"
console="comconsole,vidconsole"

 

/boot/device.hints

hint.ata.0.at="isa"
hint.ata.0.port="0x1F0"
hint.ata.0.irq="14"

 

Comments (22)

Jamba said

at 9:58 pm on Sep 19, 2009

I cannot get the SS4200 to boot FreeNAS 0_70. I can get the serial connection to work. Bot hangs after:
* Welcome to FreeNAS! *
* *
* 1. Boot [default] *
* 2. Boot with ACPI disabled *
* 3. Boot in Safe Mode *
* 4. Boot with verbose logging *
* 5. Escape to loader prompt *
* 6. Reboot

I have selected all the options but it just hangs after a line of text on the screen. Please help.

Wesha said

at 12:01 am on Sep 20, 2009

That's in connection to 115200/9600 baud discussion. I was told that FreeBSD's terminal supports only 9600, so you need to set baud rate to 9600 in SS4200 BIOS, then switch your terminal to 9600 as well, and then everything will work.

Jamba said

at 3:11 am on Sep 20, 2009

That did not work. Set the BIOS and putty session to 9600,8,n,1 but the same hang after the boot. I have disabled ACPI in the BIOS. Not sure what I am missing?

CyberLeo said

at 4:29 am on Sep 20, 2009

FreeBSD's boot loader only supports up to 9600bps unless compiled with BOOT_COMCONSOLE_SPEED set. The default is not. I have not tested FreeBSD with anything higher.

The kernel will not send klog messages to the serial device unless you set the following options in /boot/loader.conf:

console="comconsole"
comconsole_speed="9600"

Also make sure that at least the following is provided in /boot/device.hints, to tell the kernel that the first serial port (sio0) is willing to be a kernel log device:

hint.sio.0.flags="0x10"

I believe that's all I did.

Jamba said

at 5:50 am on Sep 20, 2009

Thanks. That worked. Now I am stuck at another screen.

Here is what I did. At the menu, I typed "5" and went to the "ok" prompt. At the "ok" prompt, I modified console by: console="comconsole"
and then "boot" from the ok prompt.

Now, it boots and you can see messages on the screen:
...
...
...
Generating .htpasswd.
Starting lighttpd.
Starting background file system checks in 60 seconds.

Sat Sep 19 04:43:25 UTC 2009

Tim said

at 11:10 pm on Sep 30, 2009

Jamba, I am stuck at the exact same spot. I believe it's because we have not setup our /etc/ttys properly to change ttyd0 to on and from dialup to vt100. However, without being able to get a shell to login, I don't see how to do that. Can anyone shed some light on this please?

Wesha said

at 11:46 pm on Sep 30, 2009

Tim & Jamba: what's the problem? Just SSH right in...

Tim said

at 4:19 am on Oct 1, 2009

I had to login to the web interface to enable SSH. However, I did edit the /etc/ttys file and made the changes that I mentioned in my prior post and it still doesn't produce a login prompt over my serial cable connection to HyperTerminal. No big deal as long as I have SSH I suppose, though I'd still like to know a solution for getting shell access via serial.

Wesha said

at 5:20 am on Oct 1, 2009

Tim:
1) did you try pressing Enter? IIRC, getty only shows login prompt on serial devices upon transition of CTS to high and I'm not sure the SS4200 cable routes that signal properly.
2) check running processes (from SSH) to ensure that getty is indeed running and attached to the serial port
3) use "kill -1 1" to reread your /etc/ttys, not reboot. (remember, /etc is on md0 RAM disk; on each reboot, it's re-populated from the flash card/whatever boot device you have)

Tim said

at 1:06 am on Oct 2, 2009

I got the serial console fully working.
Here's what I did:

edited /cf/boot/loader.conf and added these lines:
boot_multicons="YES"
boot_serial="YES"
comconsole_speed="9600"
console="comconsole,vidconsole"

then in the FreeNAS web interface went to System -> Advanced, then Command Scripts
added the following scripts to execute PostInit in top to bottom order:
cat /etc/ttys | sed '/ttyd0/s/dialup/vt100/g' >/tmp/ttys1
cat /tmp/ttys1 | sed '/ttyd0/s/off/on/g' >/tmp/ttys2
rm -rf /etc/ttys
mv /tmp/ttys2 /etc/ttys
kill -1 1

Jamba said

at 9:37 am on Oct 2, 2009

Yes, I did the same. I realized that the login prompt was not showing up because no "getty" was running on the Serial port. I connected to the FreeNAS web interface and went to System -> Advanced -> File Editor and loaded the /etc/ttys file and modified the ttyd0 line to "on". I then saved the file on the web interface.

Then I went to System -> Advanced -> Command and typed in "kill -HUP 1" and clicked on Execute and got the login prompt on the Serial port.

I have documented all the steps in installing and running FreeNAS 0.70 with ZFS on my blog at: http://bitsforbytes.blogspot.com

Jay said

at 12:30 am on Jan 20, 2010

Hello everyone,

As stated above on this page under PATA port issues:

"amd64 version of FreeNAS 0.70 cannot see the PATA port whatsoever. The solution is to use the i386 version, or add the following to /boot/device.hints:
hint.ata.0.at="isa"
hint.ata.0.port="0x1F0"
hint.ata.0.irq="14"
"

How do I modify a LiveCD installation of FreeNAS 0.70 and then boot from that CD and install it on the DOM?

Thanks

CyberLeo said

at 4:58 am on Jan 20, 2010

There was a recent thread on the FreeBSD-Questions mailing list about adding a feature to an installation CD:

http://lists.freebsd.org/pipermail/freebsd-questions/2010-January/210962.html

Basically, you must extract the existing CD contents, make your modifications, then re-squish everything back into an iso9660 image, taking care to specify the proper boot emulation and code.

As for the actual installation, you will need either a VGA card hack or a serial hack to actually interact with the installer.

Personally, I just burn the DOM with an image prepared on another system entirely, and forego all preinstallation interaction entirely.

Jay said

at 5:57 am on Jan 20, 2010

I probably can do that too on another system, but since FreeBSD/FreeNAS 64-bit do not include the IDE/PATA drivers, it will still not work on SS4200 once brought in.

I don't know if 64bit version will make any difference since SS4200 can only have 2GB memory so the argument that if you have a 64-bit CPU you should always install a 64-bit OS is moot because there won't be any significant benefit on SS4200.

yejun said

at 2:51 am on Jan 31, 2010

I install freenass by booting it into emergency mode with usb flash. Then dd embedded image to dom /dev/ad0. Mount /dev/ad0a to somewhere. Modify device.hints to includes those ata lines.

Ice said

at 1:55 pm on Mar 21, 2010

I successfully install Full version FreeNas amd64 from usb-flash without using CD-ROM at all.

1. Create bootable usb flash. I use Grub4Dos. HowTO (http://clsv.livejournal.com/7278.html).
a) format flash to FAT32 with HPUSBFW (http://narod.ru/disk/6621841000/HPUSBFW.rar.html)
b) Install GRUB4DOS_GUI on your flash (http://narod.ru/disk/6621849000/GRUB4DOS_GUI.rar.html)
c) Edit MENU.LST. You must delete two first lines which loading graphic wallpaper. And add lines to boot freenas iso image:

title FreeNAS install
map /freebsd/bootonly.iso (hd32)
map --hook
chainloader (hd32)
boot

2. Boot from flash in emergency mode ss4200 or set option in BIOS to boot from USB.
3. in FreeBSD boot screen press option 5 and in command prompt enter: set console=comconsole. Reconnect to serial port on 9600 speed. Press 'Enter' and enter command 'boot' to boot freenas kernel.
4. in Freenas command prompt you should create freenas-iso device:

mdconfig -a -t vnode -f /cf/freebsd/bootonly.iso -u 2

Check that you device mount properly:

mkdir /mnt/cdrom
mount -t cd9660 /dev/md2 /mnt/cdrom

and unmount it: umount /mnt/cdrom

5. Through freenas web-interface modify function get_cdrom_list() in file: /etc/inc/util.inc.

I modified this function like this:

function get_cdrom_list()
{
$disklist = array();

$disklist[md2] = array();
$disklist[md2]['name'] = "md2";
$disklist[md2]['devicespecialfile'] = "/dev/md2";
$disklist[md2]['type'] = "IDE";
$disklist[md2]['size'] = "NA";

$disklist[$diskname]['desc'] = "md2";

return $disklist;
}

6. Save file and install freenas to your DOM. Press 9 in freenas start menu. Next press '3'... etc.
7. After installation, if you install amd64, don't forget mount /dev/ad0s1 and edit /boot/device.hints as described above and loader.conf. And delete unneeded bootonly.iso from directory /cf on DOM after reboot.







Ice said

at 1:59 pm on Mar 21, 2010

I using FreeNAS custom image from this site: http://shell.peach.ne.jp/aoyama/
because it included ZFS pool version 13 and use FreeBSD 7.3-RC2 :)
I created mirroring ZFS tank from 2 WD20EARS (WD 2TB green with AFD). And it work great!

gnim said

at 11:53 am on Apr 14, 2010

FreeNAS 0.71 is now released. Did anyone here test the shutdown problem was solved?

Wesha said

at 3:19 pm on Apr 14, 2010

Nope. It's solved in FreeBSD 8 - FreeNas is based on 7.

xyyz said

at 10:43 am on Apr 23, 2010

i'm constantly running into the:

run_interrupt_drive_hooks: still waiting after 60 seconds for xpt_config
run_interrupt_drive_hooks: still waiting after 120 seconds for xpt_config
run_interrupt_drive_hooks: still waiting after 180 seconds for xpt_config
...

can anyone help?

Wesha said

at 4:17 am on Apr 24, 2010

xyyz: sounds like the USB issue as described above. Try disabling USB in the bios

xyyz said

at 12:42 pm on Apr 24, 2010

hmmm, that's a problem because the CDROM drive's USB. there's no other work around? i've tried both the x86 and amd64 versions.

You don't have permission to comment on this page.