Bug 14666

Summary: Installation from an ISO image mounted via NFS fails
Product: ALT Linux Desktop Reporter: Alexey Rusakov <ktirf>
Component: installerAssignee: Sergey Bolshakov <sbolshakov>
Status: CLOSED FIXED QA Contact: Andrey Cherepanov <cas>
Severity: minor    
Priority: P4 CC: boyarsh, inger, legion, mike
Version: 4.0.3   
Hardware: all   
OS: Linux   

Description Alexey Rusakov 2008-02-26 21:29:48 MSK
Я понимаю, что это порядочное извращение, однако возможность вроде бы
предоставляется, и я попытался ей воспользоваться. А именно - провести установку
из ISO-образа, замаунтенного по NFS. Указываю перед загрузкой сервер, на сервере
путь к образу, мы начинаем грузиться, всё идёт хорошо, и перед самым переходом в
графику...
Spawning init ...FATAL ERROR IN INIT: overmounting nested image location : No
such file or directory
I can't recover from this, please reboot manually and send bugreport
(что я, собственно, и делаю)
На третьей консоли последние слова такие:
lomount succeeded for /image/altlinux-4.0.3-desktop-i586-install-ru-DVD5.iso on
/image
found the ALT Linux 4.0 Personal Desktop (Ajuga) build 2007-08-15 Installation,
good news!
have to insmod loop
      succeeded loop
mounting /dev/loop0 on /root as type squashfs
have to insmod squashfs
needs squashfs
      succeeded squashfs
boostplash progress: 57824 (кстати, опечатка в тексте сообщения)
boostplash progress: 61679
stage1: disconnecting life support systems
Comment 1 Anton V. Boyarshinov 2008-02-29 16:26:21 MSK
Похоже, что это действительно installer
Comment 2 Anton V. Boyarshinov 2008-03-13 11:29:10 MSK
Воспороизвёл. Это propagator. При попытке установки с неразвёрнутого iso образа
по nfs.
Comment 3 Sergey Bolshakov 2008-03-13 13:34:18 MSK
я только так и тестирую.
покажите содержимое /etc/exports, путь к исошке и /proc/mounts
Comment 4 Sergey Bolshakov 2008-03-14 18:13:17 MSK
я намереваюсь выложить очередную сборку propagator,
было бы нелишним получить ответ до того как.
Comment 5 inger@altlinux.org 2008-03-14 19:32:34 MSK
а у тебя это разве не воспроизводится?
Просто тут все бегают и не известно когда смогут проверить это на стенде

Ругань кажется была что-то типа того что нечто смонтировано дважды ... (толи nfs
поверх loop, толи наоборот)
Comment 6 Sergey Bolshakov 2008-03-14 19:35:50 MSK
я ж говорю, это основной способ тестирования тут; разумеется, не 
воспроизводится.
Comment 7 inger@altlinux.org 2008-03-14 19:36:39 MSK
настройки dhcp отличаются?
Comment 8 Sergey Bolshakov 2008-03-14 19:37:39 MSK
от чего ?
Comment 9 Anton V. Boyarshinov 2008-03-18 11:39:39 MSK
$ cat /etc/exports
/space 10.1.0.0/23(ro,all_squash,no_subtree_check,sync)
/space 10.3.0.0/24(ro,all_squash,no_subtree_check,sync)
/space/blade/nfsroot 10.3.0.0/24(rw,no_root_squash,no_subtree_check,sync)

 ls /space/office/boyarsh/server/altlinux-server-i586-20080317.iso 
/space/office/boyarsh/server/altlinux-server-i586-20080317.iso

на пропагаторе с udev тоже воспроизводится

Последние слова на первой консоли: overmounting nested image location
Comment 10 Sergey Bolshakov 2008-03-18 13:22:27 MSK
'FATAL ERROR IN INIT: overmounting nested image location : No such file or 
directory' -- вот это может означать, например, что на исошке нету
директории isolinux (ну, мало ли)
Comment 11 Sergey Bolshakov 2008-03-18 14:06:13 MSK
1) зачем было менять /isolinux на /syslinux ?
2) ну и что теперь делать ?
Comment 12 Anton V. Boyarshinov 2008-03-18 16:06:39 MSK
а зачем там isolinux на этом этапе?
Comment 13 Alexey Gladkov 2008-03-18 16:12:42 MSK
(In reply to comment #11)
> 1) зачем было менять /isolinux на /syslinux ?

Потому что в /syslinux кладуться файлы не только для isolinux.

> 2) ну и что теперь делать ?

сделаю симлинк для обратной совместимости.
Comment 14 Sergey Bolshakov 2008-03-18 16:30:04 MSK
там нужна директория, любая.
для iso over nfs (лежащей, скажем в server:/path/to/cd.iso)
схема происходящего в stage1 такая:

mount -t nfs server:/path/to /image
mount -o loop /image/cd.iso /image
mount -o loop -t squash /image/altlinux /root
...
mount --move /dev   /root/dev
mount --move /image /root/image
mount --move /image /root/image/isolinux 

дальше уничтожается всё, начиная с / и не расположенное на tmpfs,
чрут в /root и reexec следующего init'a.
Бишь, нужна какая-то директория, куда смувится собственно
nfs-шара; до сих пор такой директорией была isolinux,
поскольку считалось, что уж она-то будет всегда.
Можно, наверное, перебирать /isolinux -- /syslinux, но
как-то это, хм ..
Comment 15 Alexey Gladkov 2008-03-18 16:42:47 MSK
(In reply to comment #14)
> там нужна директория, любая.

Раз любая, то почему бы не /mnt ?

> Можно, наверное, перебирать /isolinux -- /syslinux, но
> как-то это, хм ..

Если /isolinux будет симлинком, то это всех устроит ?
Comment 16 Sergey Bolshakov 2008-03-18 16:55:57 MSK
не /mnt (и прочее, входящее в filesystem) -- чтобы не ограничивать 
изготовителей stage2.
меня симлинк устроит, но может быть у кого-нибудь есть
иные идеи на этот счёт ?
Comment 17 Sergey Bolshakov 2008-03-18 17:09:43 MSK
например такая: лениво отмонтировать этот nfs и забыть -- сам потом отвалится
Comment 18 Alexey Gladkov 2008-03-18 17:13:06 MSK
(In reply to comment #16)
> не /mnt (и прочее, входящее в filesystem) -- чтобы не ограничивать 
> изготовителей stage2.

Серёг, ты их и так ограничиваешь требуя /image в stage2 :)

> меня симлинк устроит, но может быть у кого-нибудь есть
> иные идеи на этот счёт ?

Я что-то упустил или при данном методе в stage2 /image будет пустым ?
Comment 19 Sergey Bolshakov 2008-03-18 17:51:12 MSK
/image пустым не будет в любом случае, там содержимое исошки.

Можно и не требовать наличия /image в образе второй стадии,
а использовать уже имеющийся там /mnt, с той оговоркой, что /mnt накрывается
tmpfs'ом во второй стадии, а нужно будет накрывать /mnt ещё в первой, и затем 
двигать исошку туда, к примеру в /mnt/source вместо /image. Если кому-то 
кажется, что стОит так сделать -- дайте знать.

В общем, возвращаясь к исходной проблеме, я склюняюсь к мысли, что нужно лениво 
отмонтировать этот nfs (или раздел -- вся логика работы для режима iso-на-диске 
такая же) и забыть про /image/isolinux, /image/syslinux и прочая. уж там-то 
точно ничего нужного для инсталляции быть не может.
Comment 20 Sergey Bolshakov 2008-03-18 18:27:01 MSK
fixed in 20080301-alt3