Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 14 Dec 1998 14:55:03 -0500 (EST)
From:      Howard Goldstein <hg@ParView.com>
To:        freebsd-small@FreeBSD.ORG
Cc:        Poul-Henning Kamp <phk@critter.freebsd.dk>
Subject:   MAKEDEV call in mfs.tree vs. "sliced" devices
Message-ID:  <13941.27927.667854.236558@slice.parview.com>

next in thread | raw e-mail | index | archive | help
Reporting good news on picobsd 0.42 and Poul-Henning Kamp's
<phk@critter.freebsd.dk> m-systems DOC2K flash driver (fla device)
announced a week ago.  I've gotten everything working through newfsing
and FFS on the thing; still have to get it booting...

In the process I've encountered a glitch in /dev/MAKEDEV through its use
in this snippet from $TYPE/mfs.tree/Makefile:

        (cd ${DESTDIR}/dev; \
        /dev/MAKEDEV std sysmouse tun2 cuaa0 cuaa1 cuaa2 vty10 fd0 pty0; \
        /dev/MAKEDEV psm0; \
	/dev/MAKEDEV [now make some sliceable devices like fla0]

If the devices made are sliceable devices, MAKEDEV's recursive call to
itself to build the slices fails since MAKEDEV calls itself as 'sh
MAKEDEV' where it needs to be 'sh /dev/MAKEDEV'.

The fix is obvious but here's the patch (which may be overkill) anyway.  

Thanks for your help phk!

*** /dev/MAKEDEV.orig	Mon Dec 14 14:44:28 1998
--- /dev/MAKEDEV	Mon Dec 14 14:44:54 1998
***************
*** 192,219 ****
  case $i in
  
  all)
! 	sh MAKEDEV std					# standard
! 	sh MAKEDEV fd0 fd1				# bdev, floppy disk
! 	sh MAKEDEV da0 da1 da2 da3 wd0 wd1 wd2 wd3	# bdev, ordinary disk
! 	sh MAKEDEV od0					# bdev, optical disk
! 	sh MAKEDEV wfd0					# bdev, LS-120 floppy
! 	sh MAKEDEV vn0					# bdev, virtual disk
! 	sh MAKEDEV cd0 matcd0 mcd0 scd0 wcd0		# bdev, cdrom
! 	sh MAKEDEV ft0 sa0 wt0 wst0			# bdev, tape
! 	sh MAKEDEV vty4					# cdev, virtual tty
! 	sh MAKEDEV cuaa0 cuaa1 cuaa2 cuaa3		# cdev, serial tty
! 	sh MAKEDEV pty0					# cdev, pseudo tty
! 	sh MAKEDEV ttyd0 ttyd1 ttyd2 ttyd3		# cdev, serial tty
! 	sh MAKEDEV mse0 psm0 sysmouse			# cdev, mouse
! 	sh MAKEDEV pcaudio speaker			# cdev, noise
! 	sh MAKEDEV lpt0 lpt1 lpt2			# cdev, printer
! 	sh MAKEDEV ppi0 ppi1 ppi2			# cdev, parallel port
! 	sh MAKEDEV iic0 iic1				# cdev, I2C device
! 	sh MAKEDEV smb0 smb1				# cdev, SMBus device
! 	sh MAKEDEV bpf0 ipl tun0			# cdev, network
! 	sh MAKEDEV ch0 perfmon tw0			# cdev, miscellaneous
! 	sh MAKEDEV apm card0 card1			# cdev, laptop
! 	sh MAKEDEV pass4 xpt2				# cdev, CAM
  	;;
  std)
  	mknod console	c 0 0;	chmod 600 console
--- 192,219 ----
  case $i in
  
  all)
! 	sh /dev/MAKEDEV std					# standard
! 	sh /dev/MAKEDEV fd0 fd1				# bdev, floppy disk
! 	sh /dev/MAKEDEV da0 da1 da2 da3 wd0 wd1 wd2 wd3	# bdev, ordinary disk
! 	sh /dev/MAKEDEV od0					# bdev, optical disk
! 	sh /dev/MAKEDEV wfd0					# bdev, LS-120 floppy
! 	sh /dev/MAKEDEV vn0					# bdev, virtual disk
! 	sh /dev/MAKEDEV cd0 matcd0 mcd0 scd0 wcd0		# bdev, cdrom
! 	sh /dev/MAKEDEV ft0 sa0 wt0 wst0			# bdev, tape
! 	sh /dev/MAKEDEV vty4					# cdev, virtual tty
! 	sh /dev/MAKEDEV cuaa0 cuaa1 cuaa2 cuaa3		# cdev, serial tty
! 	sh /dev/MAKEDEV pty0					# cdev, pseudo tty
! 	sh /dev/MAKEDEV ttyd0 ttyd1 ttyd2 ttyd3		# cdev, serial tty
! 	sh /dev/MAKEDEV mse0 psm0 sysmouse			# cdev, mouse
! 	sh /dev/MAKEDEV pcaudio speaker			# cdev, noise
! 	sh /dev/MAKEDEV lpt0 lpt1 lpt2			# cdev, printer
! 	sh /dev/MAKEDEV ppi0 ppi1 ppi2			# cdev, parallel port
! 	sh /dev/MAKEDEV iic0 iic1				# cdev, I2C device
! 	sh /dev/MAKEDEV smb0 smb1				# cdev, SMBus device
! 	sh /dev/MAKEDEV bpf0 ipl tun0			# cdev, network
! 	sh /dev/MAKEDEV ch0 perfmon tw0			# cdev, miscellaneous
! 	sh /dev/MAKEDEV apm card0 card1			# cdev, laptop
! 	sh /dev/MAKEDEV pass4 xpt2				# cdev, CAM
  	;;
  std)
  	mknod console	c 0 0;	chmod 600 console
***************
*** 467,473 ****
  	[0-9]|[0-9][0-9]|[0-4][0-9][0-9]|50[0-9]|51[0-1])
  		for slicepartname in s0h s1 s2 s3 s4
  		do
! 			sh MAKEDEV $name$unit$slicepartname
  		done
  		;;
  	*)
--- 467,473 ----
  	[0-9]|[0-9][0-9]|[0-4][0-9][0-9]|50[0-9]|51[0-1])
  		for slicepartname in s0h s1 s2 s3 s4
  		do
! 			sh /dev/MAKEDEV $name$unit$slicepartname
  		done
  		;;
  	*)
***************
*** 1266,1272 ****
  
  local)
  	umask 0			# XXX should be elsewhere
! 	sh MAKEDEV.local
  	umask 77
  	;;
  
--- 1266,1272 ----
  
  local)
  	umask 0			# XXX should be elsewhere
! 	sh /dev/MAKEDEV.local
  	umask 77
  	;;
  


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-small" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?13941.27927.667854.236558>