Страница 1 из 1

vfs.root.mountfrom

Добавлено: 2011-09-19 15:38:00
Avendeil
Приветствую!
Есть 2 проблемы, даже 2 проблемищи!
Перенес фри на другой винт тупо копированием. Загрузился чере 6ку ( в меню загрузки) поправил fstab на нужные точки монтирования. Вроде бы все хорошо должно быть. Но не тут то было. При загрузке выдается сообщение про невозможность подмонтировать рут раздел. Конкретно:
Trying to mount root from ufs:/dev/ad4s1a
ROOT MOUNT ERROR:

Но монтировать то он должен ad10s1a. В fstab все приведено в подобающий вид. Сколько раз так делал и все работает.
Пытался прописать set vfs.root.mountfrom=ufs:/dev/ad10s1a в loader.conf , не помогло. Где может быть жестко зашита эта переменная? Где её надо поправить?

Вторая проблема в том что при компиляции ядра модули которые я закомментил в файле конфигурации все равно собираются и имеются в итоговом ядре. Все собирается на x64 серваке поэтому правлю кофигурацию из amd64, все верно? Если есть необходимость скину все нужные файлы.

Re: vfs.root.mountfrom

Добавлено: 2011-09-19 16:11:49
hedgehog
/etc/fstab и /boot/loader.conf в студию. к слову, правильный синтаксис в loader.conf:

Код: Выделить всё

vfs.root.mountfrom="ufs:/dev/ad10s1a"
вышеуказанный set vfs.root.mountfrom=ufs:/dev/ad10s1a можно втоптать в loader prompt, когда ругается ошибкой. либо вопросительный знак, чтобы отобразило список доступных устройств

Re: vfs.root.mountfrom

Добавлено: 2011-09-19 16:19:32
avendeil
Поправил loader.conf согласно поста выше.
содержание fstab

Код: Выделить всё

# Device		Mountpoint	FStype	Options		Dump	Pass#
/dev/ad10s1b		none		swap	sw		0	0
/dev/ad10s1a		/		ufs	rw		1	1
/dev/ad10s1e		/usr		ufs	rw		2	2
/dev/ad10s1d		/var		ufs	rw		2	2
/dev/acd0		/cdrom		cd9660	ro,noauto	0	0
новый loader.conf

Код: Выделить всё

snd_driver_load="YES"
vfs.root.mountfrom="ufs:/dev/ad10s1a"
vfs.root.mountfrom.options="rw"
Не помогло. Все равно вываливается с этой же ошибкой.

Re: vfs.root.mountfrom

Добавлено: 2011-09-19 17:54:07
Avendeil
Это снова я. Нигде не могу найти эту несчастную vfs.root.mountfrom=ufs:/dev/ad4s1a
Во всех конфигах мыслимых и не мыслимых либо вообще ничего не прописано(т.е. эта переменная не задается никак), либо прописано что нужно.
даже ядро пересобрал, чуток изменив, никакой реакции. Где чисто теоретически это может быть прописано?

Re: vfs.root.mountfrom

Добавлено: 2011-09-19 18:21:23
Gamerman
Возможно, бутится не с того винта :)
Упс, сорри. Я думал Вы второй винт подключили.
Похоже, что загрузчик не изменился.

Re: vfs.root.mountfrom

Добавлено: 2011-09-19 18:51:37
Avendeil
Загрузчик? А он должен был меняться? И как ему сказать о том что винт то другой ныне? :(

Re: vfs.root.mountfrom

Добавлено: 2011-09-19 20:45:01
FreeBSP
/boot/loader.conf на ЗАГРУЗОЧНОЙ партиции
лоадер и ядро спокойно могут грузиться из одного места, а корень монтироваться с другого

Re: vfs.root.mountfrom

Добавлено: 2011-09-19 21:35:38
Avendeil
о да. Не отписался после поста Gamerman потому что был шокирован до глубины души своей невнимательностью. Да, был еще один диск, и с него грузилось ядро. Благополучно. Мне как виндузятнику это и в голову прийти не могло. И конечно после загрузки от куда надо все пошло и поехало.

Второй вопрос пока не поднимаю опять (про модули в ядре, точней поддержка девайсов). Надо все перепроверить. Может как раз из за этого и получалась эта котовасия.
Огромное спасибо!

Re: vfs.root.mountfrom

Добавлено: 2011-09-20 10:08:05
Avendeil
Править предыдущий пост не дает. Пишу новый :(
Вобщем с чего все началось. Надо перенести фряху на новый сервак. На новом серваке рейд LSI MegaRAID SAS 9240-4i. Поскольку на живом серваке не мог начать эксперементировать снял с него образ и залил на рейд. В ядре либо нет поддержки этого рейда, либо старый драйвер, поэтому при загрузке фря раздеры не увидела и не загрузилась. Где наша не пропадала. Взял отдельный диск. Залил туда образ еще раз(поставил загрузку именно с этого диска, как потом оказалось она слетела) и начал пытаться подружить фрю с этим рейдом. Выше возникшая проблема с загрузкой решилась благополучно. Скачал драйвера с офф сайта производителя, по реадми убрал из ядра упоминания о рейде(плюс поддержку лишних девайсов, т.е. рейдов и тп) поставил новое ядро. По реадми же, собрал модуль ядра, подгрузил его. Фря счастливо увидела разделы на рейде и вроде бы все хорошо. Если бы не одно но. Как подгрузить этот модуль при старте системы? Я не могу подгрузить модуль с раздела который фря не видит.
Ну и мелкий вопрос, я закоментил в файле конфигурации ядра некоторые девайсы (к примеру в папке dev он обозначается mfi) после сборки ядра я вижу с папке kernel модуль mfi.ko, все так и должно быть? или я что то делаю не так? В приложении файл конфигурации ядра лежит. Что не нужно убрано или закоменчено.
Фаил конфигурации ядра ниже. В приложении не смог упихать, говорит запрещено администратором.:)

Код: Выделить всё

# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.531.2.15.2.1 2010/12/21 17:09:25 kensmith Exp $

cpu		HAMMER
ident		GENERIC

# To statically compile in device wiring instead of /boot/device.hints
#hints		"GENERIC.hints"		# Default places to look for devices.

# Use the following to compile in values accessible to the kernel
# through getenv() (or kenv(1) in userland). The format of the file
# is 'variable=value', see kenv(1)
#
# env		"GENERIC.env"

makeoptions	DEBUG=-g		# Build kernel with gdb(1) debug symbols

options 	SCHED_ULE		# ULE scheduler
options 	PREEMPTION		# Enable kernel thread preemption
options 	INET			# InterNETworking
options 	INET6			# IPv6 communications protocols
options 	SCTP			# Stream Control Transmission Protocol
options 	FFS			# Berkeley Fast Filesystem
options 	SOFTUPDATES		# Enable FFS soft updates support
options 	UFS_ACL			# Support for access control lists
options 	UFS_DIRHASH		# Improve performance on big directories
options 	UFS_GJOURNAL		# Enable gjournal-based UFS journaling
options 	MD_ROOT			# MD is a potential root device
options 	NFSCLIENT		# Network Filesystem Client
options 	NFSSERVER		# Network Filesystem Server
options 	NFSLOCKD		# Network Lock Manager
options 	NFS_ROOT		# NFS usable as /, requires NFSCLIENT
options 	MSDOSFS			# MSDOS Filesystem
options 	CD9660			# ISO 9660 Filesystem
options 	PROCFS			# Process filesystem (requires PSEUDOFS)
options 	PSEUDOFS		# Pseudo-filesystem framework
options 	GEOM_PART_GPT		# GUID Partition Tables.
options 	GEOM_LABEL		# Provides labelization
options 	COMPAT_43TTY		# BSD 4.3 TTY compat (sgtty)
options 	COMPAT_FREEBSD32	# Compatible with i386 binaries
options 	COMPAT_FREEBSD4		# Compatible with FreeBSD4
options 	COMPAT_FREEBSD5		# Compatible with FreeBSD5
options 	COMPAT_FREEBSD6		# Compatible with FreeBSD6
options 	COMPAT_FREEBSD7		# Compatible with FreeBSD7
options 	SCSI_DELAY=5000		# Delay (in ms) before probing SCSI
options 	KTRACE			# ktrace(1) support
options 	STACK			# stack(9) support
options 	SYSVSHM			# SYSV-style shared memory
options 	SYSVMSG			# SYSV-style message queues
options 	SYSVSEM			# SYSV-style semaphores
options 	P1003_1B_SEMAPHORES	# POSIX-style semaphores
options 	_KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions
options 	PRINTF_BUFR_SIZE=128	# Prevent printf output being interspersed.
options 	KBD_INSTALL_CDEV	# install a CDEV entry in /dev
options 	HWPMC_HOOKS		# Necessary kernel hooks for hwpmc(4)
options 	AUDIT			# Security event auditing
options 	MAC			# TrustedBSD MAC Framework
options 	FLOWTABLE		# per-cpu routing cache
#options 	KDTRACE_FRAME		# Ensure frames are compiled in
#options 	KDTRACE_HOOKS		# Kernel DTrace hooks
options 	INCLUDE_CONFIG_FILE     # Include this file in kernel

options 	KDB			# Kernel debugger related code
options 	KDB_TRACE		# Print a stack trace for a panic

# Make an SMP-capable kernel by default
options 	SMP			# Symmetric MultiProcessor Kernel

# CPU frequency control
device		cpufreq

# Bus support.
device		acpi
device		pci

# Floppy drives
device		fdc

# ATA and ATAPI devices
device		ata
device		atadisk		# ATA disk drives
device		ataraid		# ATA RAID drives
device		atapicd		# ATAPI CDROM drives
device		atapifd		# ATAPI floppy drives
device		atapist		# ATAPI tape drives
options 	ATA_STATIC_ID	# Static device numbering

# SCSI Controllers
device		amd		# AMD 53C974 (Tekram DC-390(T))
device		hptiop		# Highpoint RocketRaid 3xxx series
device		isp		# Qlogic family

# SCSI peripherals
device		scbus		# SCSI bus (required for SCSI)
device		ch		# SCSI media changers
device		da		# Direct Access (disks)
device		sa		# Sequential Access (tape etc)
device		cd		# CD
device		pass		# Passthrough device (direct SCSI access)
device		ses		# SCSI Environmental Services (and SAF-TE)

# RAID controllers interfaced to the SCSI subsystem
device		dpt		# DPT Smartcache III, IV - See NOTES for options

# RAID controllers
device		twe		# 3ware ATA RAID

# atkbdc0 controls both the keyboard and the PS/2 mouse
device		atkbdc		# AT keyboard controller
device		atkbd		# AT keyboard
device		psm		# PS/2 mouse

device		kbdmux		# keyboard multiplexer

device		vga		# VGA video card driver

device		splash		# Splash screen and screen saver support

# syscons is the default console driver, resembling an SCO console
device		sc

device		agp		# support several AGP chipsets

# PCCARD (PCMCIA) support
# PCMCIA and cardbus bridge support
device		pccard		# PC Card (16-bit) bus
device		cardbus		# CardBus (32-bit) bus

# Serial (COM) ports
device		uart		# Generic UART driver

# Parallel port
device		ppc
device		ppbus		# Parallel port bus (required)
device		lpt		# Printer
device		plip		# TCP/IP over parallel
device		ppi		# Parallel port interface device
#device		vpo		# Requires scbus and da

# If you've got a "dumb" serial or parallel PCI card that is
# supported by the puc(4) glue driver, uncomment the following
# line to enable it (connects to sio, uart and/or ppc drivers):
#device		puc

# PCI Ethernet NICs.
device		em		# Intel PRO/1000 Gigabit Ethernet Family
device		igb		# Intel PRO/1000 PCIE Server Gigabit Family
device		ixgbe		# Intel PRO/10GbE PCIE Ethernet Family
device		le		# AMD Am7900 LANCE and Am79C9xx PCnet
device		ti		# Alteon Networks Tigon I/II gigabit Ethernet

# PCI Ethernet NICs that use the common MII bus controller code.
# NOTE: Be sure to keep the 'device miibus' line in order to use these NICs!
device		miibus		# MII bus support
device		fxp		# Intel EtherExpress PRO/100B (82557, 82558)
device		jme		# JMicron JMC250 Gigabit/JMC260 Fast Ethernet
device		lge		# Level 1 LXT1001 gigabit Ethernet
device		nfe		# nVidia nForce MCP on-board Ethernet
device		nge		# NatSemi DP83820 gigabit Ethernet
device		pcn		# AMD Am79C97x PCI 10/100 (precedence over 'le')
device		re		# RealTek 8139C+/8169/8169S/8110S
device		rl		# RealTek 8129/8139
device		sge		# Silicon Integrated Systems SiS190/191
device		sis		# Silicon Integrated Systems SiS 900/SiS 7016
device		vge		# VIA VT612x gigabit Ethernet
device		vr		# VIA Rhine, Rhine II
device		wb		# Winbond W89C840F

# ISA Ethernet NICs.  pccard NICs included.
device		cs		# Crystal Semiconductor CS89x0 NIC
# 'device ed' requires 'device miibus'
device		ed		# NE[12]000, SMC Ultra, 3c503, DS8390 cards
device		ex		# Intel EtherExpress Pro/10 and Pro/10+
device		ep		# Etherlink III based cards
device		xe		# Xircom pccard Ethernet

# Wireless NIC cards

# Pseudo devices.
device		loop		# Network loopback
device		random		# Entropy device
device		ether		# Ethernet support
device		vlan		# 802.1Q VLAN support
device		tun		# Packet tunnel.
device		pty		# BSD-style compatibility pseudo ttys
device		md		# Memory "disks"
device		gif		# IPv6 and IPv4 tunneling
device		faith		# IPv6-to-IPv4 relaying (translation)
device		firmware	# firmware assist module

# The `bpf' device enables the Berkeley Packet Filter.
# Be aware of the administrative consequences of enabling this!
# Note that 'bpf' is required for DHCP.
device		bpf		# Berkeley packet filter

# USB support
options 	USB_DEBUG	# enable debug msgs
device		uhci		# UHCI PCI->USB interface
device		ohci		# OHCI PCI->USB interface
device		ehci		# EHCI PCI->USB interface (USB 2.0)
device		usb		# USB Bus (required)
device		uhid		# "Human Interface Devices"
device		ukbd		# Keyboard
device		ulpt		# Printer
device		umass		# Disks/Mass storage - Requires scbus and da
device		ums		# Mouse
device		urio		# Diamond Rio 500 MP3 player
# USB Serial devices
device		uark		# Technologies ARK3116 based serial adapters
device		ubsa		# Belkin F5U103 and compatible serial adapters
device		uftdi		# For FTDI usb serial adapters
device		uipaq		# Some WinCE based devices
device		uplcom		# Prolific PL-2303 serial adapters
device		uslcom		# SI Labs CP2101/CP2102 serial adapters
device		uvisor		# Visor and Palm devices
device		uvscom		# USB serial support for DDI pocket's PHS
# USB Ethernet, requires miibus

# FireWire support
device		firewire	# FireWire bus code
device		fwe		# Ethernet over FireWire (non-standard!)
device		fwip		# IP over FireWire (RFC 2734,3146)
device		dcons		# Dumb console driver
device		dcons_crom	# Configuration ROM for dcons 

Re: vfs.root.mountfrom

Добавлено: 2011-09-20 10:20:02
FreeBSP
он собран как модуль, но в ядре отсутствует

Re: vfs.root.mountfrom

Добавлено: 2011-09-20 12:10:19
Avendeil
а как его упихать в ядро? Добавление в конфиг сточки типа
device mfi
и папки /dev/mfi с исходниками которые на офф сайте не помогло. Вылетает с ошибкой. udefinde reference и различные файлы, типа 'mfi_intr_tbolt'

Re: vfs.root.mountfrom

Добавлено: 2011-09-20 13:14:03
FreeBSP
зачем? драйвер может и написан строго как модуль
kldload mfi должно помочь
если норм, то добавляешь в loader.conf

Re: vfs.root.mountfrom

Добавлено: 2011-09-20 14:35:39
Avendeil
Я возможно дико туплю и задаю глупые вопросы. Я архиве с драйверами есть файл mfi.ko(его я вообще не трогал), архив с исходниками, и редми. В реадми просят закоментить упоминания о lsi в конфиге ядра, собрать его и проинсталить. После собрать драйвера.

Код: Выделить всё

9)	Go to the directory /usr/src/sys/dev/mfi and run following command to compile the driver:
make clean all
10)	Run  following command to load the compiled driver:
Kldload  ./mfi.ko
Это я делаю, модуль подгружается и фря видит рейд. Но это все происходит при работе не с рейда. Как сделать так чтобы оно сразу увидело рейд? Ведь после перезагрузки модуль не будет загружен и опять будет не виден рейд. А мне надо чтобы все стартовало с рейда. Что прописать в loader.conf? Если я пропишу kldload /usr/src/sys/dev/mfi/mfi.ko и попытаюсь загрузиться с рейда он же меня пошлет, ибо корневая директория не загружена так как её не видно ибо драйвера нет. Т.е. надо чтобы ядро грузило это сразу. Замкнутый круг :(
Readme.doc
реадми
(39 КБ) 21 скачивание

Re: vfs.root.mountfrom

Добавлено: 2011-09-20 16:36:39
FreeBSP
вариантов два
1. я(или кто то еще) посылаю тебя искать описание процесса загрузки в инете и читать его. ты ищешь, находишь, читаешь, и извлекаешь из прочитанного ответы на все вопросы
2. дружно рассуждаем что откуда и куда происходит начиная от MBR и заканчивая шеллом

Re: vfs.root.mountfrom

Добавлено: 2011-09-20 17:03:06
Avendeil
ушел читать описание процесса загрузки.

Re: vfs.root.mountfrom

Добавлено: 2011-09-20 23:35:00
FreeBSP
хмм =) я бы и порассуждать не прочь =)
но стремление похвально =)

Re: vfs.root.mountfrom

Добавлено: 2011-09-21 9:13:14
Avendeil
Правильный посыл решает многое! :)
Прочитал, понял, загрузил, все работает. Спасибо!

Re: vfs.root.mountfrom

Добавлено: 2011-09-21 12:42:53
FreeBSP
главное чтобы посыл был правильным =)
впрочем и совместное рассуждение тоже может принести неплохое понимание картины

mfi.ko

Добавлено: 2012-05-19 9:10:14
dogma
Люди,помогите разобраться, перечитал весь инет запутался в кашу:имеется
MegaRA SAS 9240-4i
Freebsd 8.2-RELEASE amd64
из биоса могу зайти в CLI(Command line interface) посмотреть версию драйвера, инфу о винтах и т.п.
из MegaCLI из под оперенки естеественно ни че нет так как не определился драйвер, пытаюсь грузить kldload /boot/kernel/mfi.ko
выдает Exec format error
Все способы решения на форумах ведутся только к перекомпиливанию ядра.
Внимание знатоки, вопрос, можно ли закомпилить нормально работающий модуль ядра, mfi.ko ?

Re: vfs.root.mountfrom

Добавлено: 2012-05-27 23:11:38
Гость
в MegaRA SAS 9240-4i чип LSISAS2008 mfi не поддерживает этот чип вам наверно нужен mps http://www.freebsd.org/cgi/man.cgi?quer ... .2-RELEASE

Re: mfi.ko

Добавлено: 2012-05-29 14:50:34
Гость
dogma писал(а):Люди,помогите разобраться, перечитал весь инет запутался в кашу:имеется
MegaRA SAS 9240-4i
Freebsd 8.2-RELEASE amd64
из биоса могу зайти в CLI(Command line interface) посмотреть версию драйвера, инфу о винтах и т.п.
из MegaCLI из под оперенки естеественно ни че нет так как не определился драйвер, пытаюсь грузить kldload /boot/kernel/mfi.ko
выдает Exec format error
Все способы решения на форумах ведутся только к перекомпиливанию ядра.
Внимание знатоки, вопрос, можно ли закомпилить нормально работающий модуль ядра, mfi.ko ?

вам надо http://www.ime.unicamp.br/~rodolfo/file ... 64_rbm.tgz
для Freebsd 9.0-RELEASE amd64 http://www.ime.unicamp.br/~rodolfo/file ... 64_rbm.tgz

инструкция здесь http://forums.freebsd.org/archive/index ... 27268.html
Hi!

I have a LSI 9240-4i working ok on FreeBSD 9.0-RC2/PRERELEASE.

FreeBSD 9.0 mfi driver does not support this board (the drivers attached to it are not detected), so I got the driver at LSI's page (for FreeBSD 7.x / 8.x - 64-bit version) and changed it to work with 9.0. It looks to be working well.

If you want to give it a try, here is what I have done (note: I am supposing all your disks are attached to LSI's board - so you see no disks after a normal boot from FreeBSD 9.0 installation CDROM):
- Get the modified driver at http://www.ime.unicamp.br/~rodolfo/file ... 64_rbm.tgz
- Boot from CDROM and install FreeBSD 9.0 on a USB drive (flash or external drive). Don't forget to install the sources, and don't install the ports tree.
- Boot from the USB device
- Replace the /usr/src/sys/dev/mfi directory with the one on the file
- Follow the instructions on Readme.doc file to change the kernel configuration and /usr/src/sys/conf/files
- Compile the new kernel (cd /usr/src/sys/amd64/conf; configure MYKERNEL; etc)
- Boot. Your new installation (on USB drive) should be able to see your RAID disks now!

Now you have a working system on a pendrive. To install on the harddisk:
- Boot from Installation CDROM
- Escape to the loader prompt
- Use unload kernel command to unload the kernel from the CDROM
- Use load xxxxxx:/boot/kernel/kernel to load the kernel from the USB device (use the lsdev command to figure out what device to use in place of "xxxxxxx"). So use the boot command to boot the installation CDROM
- Install FreeBSD as usual.
- Boot from the RAID HD and escape to the loader prompt again. The kernel you have just installed on the system's HD is a standard "GENERIC" kernel - without support to your LSI controller
- Use the unload kernel / load kernel / boot trick again to boot your system using the kernel from the USB device (with root on HD)
- Replace the mfi directory and reconfigure your kernel (the one on HD) as you did before. Rebuild and install the new kernel.
- Reboot. Now you have a working system.

Note:
1. if you update your source tree (via cvsup), the mfi directory will be overwritten - and you will need to replace it again if you want to build a new kernel. Don't forget to change the /usr/src/sys/conf/files file!
2. This driver is experimental. Use at your own risk
3. This driver is based on FreeBSD 8.x architecture. It lacks the new FreeBSD 9.x features and the mfitool utility will fail to talk to it. Use LSI's MegaCli istead.

Cheers,
для 9.0 в Readme.doc надо добавить 2 пункта :
3)
c) комментируем dev/mfi/mfi_tbolt.c
d ) комментируем mfi_tbolt.c в /usr/src/sys/modules/mfi/Makefile