прописать загрузчик для FreeBSD на zfs root после обновления с 9.2 release на 10 stable
Добавлено: 2017-01-02 21:20:17
Всем привет. Нужна помощь. Есть вопрос в корректной загрузке системы после сборки мира и установки нового ядра.
Исходные данные:
1. Система 9.2-RELEASE. Обновляюсь на 10 Stable. Все работает на удаленной площадке. Моя задача: обновить мир и не поломать загрузку системы.
2. Загрузка происходит с zfs:
3. Собрал мир на базе ветки 10 stable, пересобрал и установил ядро:
make buildworld
make buildkernel KERNCONF=CUSTOM
make installkernel KERNCONF=CUSTOM
4. Сейчас система загружена и еще не перегружалась. В /usr/src/updating вижу:
Насколько понимаю, этот шаг делается автоматически. Дальше:
У меня:
Вопрос в том, что нужно ли мне выполнять gpart bootcode -p /boot/gptzfsboot -i 1 ada0/ada1 сейчас, до перезагрузки, когда система еще не перегружалась или после того, как я в однопользовательском режиме буду выполнять установку мира?
Исходные данные:
1. Система 9.2-RELEASE. Обновляюсь на 10 Stable. Все работает на удаленной площадке. Моя задача: обновить мир и не поломать загрузку системы.
2. Загрузка происходит с zfs:
Код: Выделить всё
# cat /boot/loader.conf | grep zfs
zfs_load="YES"
vfs.root.mountfrom="zfs:tank/root"
vfs.zfs.prefetch_disable=0
vfs.zfs.txg.write_limit_override=1073741824
vfs.zfs_scrub_limit=8
#vfs.zfs.arc="512M"
vfs.zfs.arc_max="6144M"
#vfs.zfs.vdev.cache.size="10M"
vfs.zfs.arc_min="1024M"
vfs.zfs.txg.timeout="1"
vfs.zfs.write_limit_override="0"
vfs.zfs.zil_disable="0"
Код: Выделить всё
# zfs list
NAME USED AVAIL REFER MOUNTPOINT
tank 1.01T 785G 31K none
tank/root 1.01T 785G 735G /
tank/root/tmp 1.41G 785G 1.41G /tmp
tank/root/var 298G 785G 298G /var
Код: Выделить всё
# zpool status
pool: tank
state: ONLINE
scan: resilvered 103G in 2h48m with 0 errors on Mon Jul 21 03:13:47 2014
config:
NAME STATE READ WRITE CKSUM
tank ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
gpt/disk0 ONLINE 0 0 0
gpt/disk1 ONLINE 0 0 0
make buildworld
make buildkernel KERNCONF=CUSTOM
make installkernel KERNCONF=CUSTOM
4. Сейчас система загружена и еще не перегружалась. В /usr/src/updating вижу:
Код: Выделить всё
1.) recompile and reinstall the ZFS boot loader and boot block
(this is part of "make buildworld" and "make installworld")
Код: Выделить всё
2.) update the ZFS boot block on your boot drive
The following example updates the ZFS boot block on the first
partition (freebsd-boot) of a GPT partitioned drive ad0:
"gpart bootcode -p /boot/gptzfsboot -i 1 ad0"
Код: Выделить всё
# gpart show
=> 34 3907029101 ada0 GPT (1.8T)
34 128 1 freebsd-boot (64k)
162 25165824 2 freebsd-swap (12G)
25165986 3881863149 3 freebsd-zfs (1.8T)
=> 34 3907029101 ada1 GPT (1.8T)
34 128 1 freebsd-boot (64k)
162 25165824 2 freebsd-swap (12G)
25165986 3881863149 3 freebsd-zfs (1.8T)