On 19 May 2015 at 14:00, Robert Peichaer <[email protected]> wrote:
> On Tue, May 19, 2015 at 11:12:25AM -0400, Kenneth R Westerback wrote:
>> On 05/19, Theo de Raadt wrote:
>> > > Christian Weisgerber:
>> > >
>> > > > > Let's install the sets!
>> > > > > Location of sets? (cd0 cd1 disk http or 'done') [cd0] cd1
>> > > > > No filesystems found on cd1.
>> > > >
>> > > > My first guess would be that there are no /dev/cd1[ac] device nodes
>> > > > on the install kernel's file system.
>> > >
>> > > I don't have a second CD drive, but I'm now confident that that's
>> > > the problem.  Just shell out in the installer and create the missing
>> > > device nodes with
>> > >
>> > >   cd /dev && sh MAKEDEV cd1
>> >
>> > The installer is supposed to create device nodes as required.  Did
>> > some logic get lost along the way?
>> >
>>
>> Don't know if it was lost or never existed, but it does look like the
>> 'get_drive()/makedev()' dance is only done for disk drives and not cd
>> drives. Untested diff below.
>>
>> .... Ken
>>
>> Index: install.sub
>> ===================================================================
>> RCS file: /cvs/src/distrib/miniroot/install.sub,v
>> retrieving revision 1.839
>> diff -u -p -r1.839 install.sub
>> --- install.sub       18 May 2015 13:48:37 -0000      1.839
>> +++ install.sub       19 May 2015 15:10:42 -0000
>> @@ -1345,6 +1345,7 @@ install_mounted_fs() {
>>  install_cdrom() {
>>       local _drive=$1
>>
>> +     makedev $_drive || return 1
>>       mount_mnt2 $_drive || return
>>
>>       install_mounted_fs
>>
>
> Yes, we missed that.
>
> Prior to r1.818, before calling mount_mnt2() in install_cdrom(),
> get_drive() was called which in turn had the makedev.
>
> Ken's diff works, I just would propose this slightly optimized diff:
>
>
> Index: install.sub
> ===================================================================
> RCS file: /home/cvs/src/distrib/miniroot/install.sub,v
> retrieving revision 1.839
> diff -p -u -r1.839 install.sub
> --- install.sub 18 May 2015 13:48:37 -0000      1.839
> +++ install.sub 19 May 2015 17:57:17 -0000
> @@ -1345,7 +1345,7 @@ install_mounted_fs() {
>  install_cdrom() {
>         local _drive=$1
>
> -       mount_mnt2 $_drive || return
> +       makedev $_drive && mount_mnt2 $_drive || return
>
>         install_mounted_fs
>  }
>
> --
> -=[rpe]=-

ok krw@ for this. I was also looking at get_drive() itself, which I
think could be optimized a bit with

get_drive() {
        ask_which "$1" "contains the $MODE media" "$2" "$3"
        [[ $resp == done ]] && return 1
-       makedev $resp || return 1
-       return 0
+       makedev $resp
 }

.... Ken

Reply via email to