[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Trying to build the Hurd



Hello,

Chris Lingard writes:
 > It fails trying to build the documentation, and wants package
 > tetex.  The problem is that tetex depends on dpkg-perl,  and I cannot
 > find this anywhere in the Package index, or in the binary directories. I
 > have built TeX on several UNIX boxes so may try this next.

The package dpkg-perl is in debian/dists/potato/binary-all/devel

Since this is binary-all it can be installed on the hurd without need
for any compilation.

By the way tetex-bin_1.0.6-1 builds on hurd. The 'dpkg-buildpackage
-uc -B' method did not work for me but
	debian/rules build 'dpkg-architecture'
	debian/rules binary 'dpkg-architecture'
did work.

 > Can I just tar my hurd partition, in Debian, so as to recover it
 > later;

I don't think so. I too had to duplicate the hurd partition (to shift
it) and the procedure seems to be complicated (correct me if I am
wrong please Marcus).

1. Copy (or (Tar and untar) all the directories *except* /servers and /dev
   Basically any directory with translator nodes---I don't think tar/cp can
   deal with these properly.

2. create the directory /servers, /servers/socket and the file
   /servers/exec for example (from the cross-install script):
 
	install -d -m 755 -o root -g root ${dest}/servers/socket
	touch ${dest}/servers/exec

3. Boot the hurd single user and run a part of the native-install
   script (example given below). The boot the hurd part could be
   avoided one has a "settrans" under Linux. Roland posted a
   "showtrans" and I have not got around to modifying it to do a
   settrans. 

	# A truncated native-install
	echo I am just checking if your filesystem is really writeable.
	fsysopts / --writable

	# Set up standard passive translators

	/bin/settrans -c /servers/socket/1 /hurd/pflocal
	/bin/settrans -c /servers/socket/2 /hurd/pfinet
	/bin/settrans -k /servers/exec /hurd/exec
	/bin/settrans -c /servers/crash-suspend /hurd/crash --suspend
	/bin/settrans -c /servers/crash-kill /hurd/crash --kill
	/bin/settrans -c /servers/password /hurd/password

	# Not functional yet:
	/bin/settrans -c /servers/crash-dump-core /hurd/crash --dump-core
	if [ ! -e /servers/crash ] ; then
		/bin/ln -s crash-suspend /servers/crash
	fi
	if [ ! -e /servers/socket/local ] ; then
		/bin/ln -s 1 /servers/socket/local
	fi
	if [ ! -e /servers/socket/inet ] ; then
		/bin/ln -s 2 /servers/socket/inet
	fi

	# We need /dev/fd to call scripts.
	cd /dev
	/bin/sh ./MAKEDEV -v fd

	# Setup crucial devices
	echo
	echo The next job is to setup device files.
	cd /dev
	/bin/sh ./MAKEDEV -v std ptyp ptyq

	fstype=`fsysopts / | perl -ne 'm!^/hurd/(.*?)\.static.*?([^\s]*?)$!; print $1;'`
	rootpart=`fsysopts / | perl -ne 'm!^/hurd/(.*?)\.static.*?([^\s]*?)$!; print $2;'`

	if [ ! -e /dev/${rootpart} ] ; then
		cd /dev
		/bin/sh ./MAKEDEV ${rootpart} || true
	fi

	if [ x${fstype} = xext2fs ] ; then
		fstype=ext2
	fi

	cat > /etc/fstab << __GNU__
	# /etc/fstab: static file system information
	#
	# <file system>	<mount point>	<type>	<options>		<dump>	<pass>
	__GNU__

	if [ ! -e /dev/${rootpart} ] ; then
		echo Couldn\'t determine root partition, sorry.
		echo You have to edit /etc/fstab to match your system.
		echo However, for your convenience, I will install a dummy entry.
		echo "#/dev/hd0s1	/		ext2	rw			1	1" >> /etc/fstab
	else
		echo Your root partition is /dev/${rootpart}.
		echo Your file system type is ${fstype}.
		echo If this information is not correct, you need to edit /etc/fstab.
		echo "/dev/${rootpart}	/		${fstype}	rw			1	1" >> /etc/fstab
	fi

Hope this helps,

Kapil.

-- 
Always use PGP for privacy; finger -l kapil@imsc.ernet.in for my Public Key.
------------------------------------------------------------------
1E8EE261 1996/10/09 Kapil Hari Paranjape <kapil@imsc.ernet.in>
Key fingerprint = CA F1 07 DD 7B FF 0E D6  82 77 19 DE FD FE 30 83
------------------------------------------------------------------


Reply to: