files) are now referenced using their cryptographic hashes. This ensures that if two package descriptors have the same contents, then they describe the same package. This property is not as trivial as it sounds: generally import relations cause this property not to hold w.r.t. temporality. But since imports also use hashes to reference other packages, equality follows by induction.
		
			
				
	
	
		
			38 lines
		
	
	
	
		
			657 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
	
		
			657 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
| #! /pkg/prog-bootstrap/bin/sh
 | |
| 
 | |
| # This directory contains nix.
 | |
| export PATH=/pkg/sys/bin
 | |
| 
 | |
| # Add in the utilities needed for booting.
 | |
| export PATH=$PATH:`nix getpkg 5703121fe19cbeeaee7edd659cf4a25b`/bin
 | |
| 
 | |
| echo
 | |
| echo Starting up...
 | |
| 
 | |
| echo Mounting file systems...
 | |
| mount -n -o remount,rw /dev/root /
 | |
| mount -n -t proc none /proc
 | |
| mount -n -t hostfs none /mnt/host 
 | |
| 
 | |
| echo Registering available sources...
 | |
| ( if cd /src; then
 | |
|     for i in *; do
 | |
|       nix reg $i
 | |
|     done
 | |
|   fi
 | |
| )
 | |
| 
 | |
| export PATH=`nix getpkg coreutils-4.5.7`/bin:$PATH
 | |
| 
 | |
| echo
 | |
| echo "=== starting interactive shell ==="
 | |
| 
 | |
| sh
 | |
| 
 | |
| echo
 | |
| echo Shutting down...
 | |
| 
 | |
| umount /proc
 | |
| #sync
 | |
| mount -n -o remount,ro /dev/root /
 | |
| #sync
 |