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