| 
									
										
										
										
											2011-07-04 21:25:31 +04:00
										 |  |  | #!/bin/sh
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | check() { | 
					
						
							| 
									
										
										
										
											2011-07-25 00:46:16 +04:00
										 |  |  | 	# We depend on udev-rules being loaded | 
					
						
							|  |  |  | 	[ "$1" = "-d" ] && return 0 | 
					
						
							| 
									
										
										
										
											2011-07-04 21:25:31 +04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-07-25 00:46:16 +04:00
										 |  |  | 	# Verify the zfs tool chain | 
					
						
							|  |  |  | 	which zpool >/dev/null 2>&1 || return 1 | 
					
						
							|  |  |  | 	which zfs >/dev/null 2>&1 || return 1 | 
					
						
							| 
									
										
										
										
											2011-07-04 21:25:31 +04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-07-25 00:46:16 +04:00
										 |  |  | 	return 0 | 
					
						
							| 
									
										
										
										
											2011-07-04 21:25:31 +04:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | depends() { | 
					
						
							| 
									
										
										
										
											2011-07-25 00:46:16 +04:00
										 |  |  | 	echo udev-rules | 
					
						
							|  |  |  | 	return 0 | 
					
						
							| 
									
										
										
										
											2011-07-04 21:25:31 +04:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | installkernel() { | 
					
						
							| 
									
										
										
										
											2011-07-25 00:46:16 +04:00
										 |  |  | 	instmods zfs | 
					
						
							|  |  |  | 	instmods zcommon | 
					
						
							|  |  |  | 	instmods znvpair | 
					
						
							|  |  |  | 	instmods zavl | 
					
						
							|  |  |  | 	instmods zunicode | 
					
						
							|  |  |  | 	instmods spl | 
					
						
							|  |  |  | 	instmods zlib_deflate | 
					
						
							|  |  |  | 	instmods zlib_inflate | 
					
						
							| 
									
										
										
										
											2011-07-04 21:25:31 +04:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | install() { | 
					
						
							| 
									
										
										
										
											2011-08-10 01:39:47 +04:00
										 |  |  | 	inst_rules @udevruledir@/90-zfs.rules | 
					
						
							| 
									
										
										
										
											2013-03-20 22:25:50 +04:00
										 |  |  | 	inst_rules @udevruledir@/69-vdev.rules | 
					
						
							| 
									
										
										
										
											2011-08-10 01:39:47 +04:00
										 |  |  | 	inst_rules @udevruledir@/60-zvol.rules | 
					
						
							|  |  |  | 	dracut_install @sbindir@/zfs | 
					
						
							|  |  |  | 	dracut_install @sbindir@/zpool | 
					
						
							| 
									
										
										
										
											2013-01-29 22:53:19 +04:00
										 |  |  | 	dracut_install @udevdir@/vdev_id | 
					
						
							| 
									
										
										
										
											2011-08-10 01:39:47 +04:00
										 |  |  | 	dracut_install @udevdir@/zvol_id | 
					
						
							| 
									
										
										
										
											2011-07-25 00:46:16 +04:00
										 |  |  | 	dracut_install mount.zfs | 
					
						
							|  |  |  | 	dracut_install hostid | 
					
						
							| 
									
										
										
										
											2015-02-16 06:08:04 +03:00
										 |  |  | 	dracut_install awk | 
					
						
							|  |  |  | 	dracut_install head | 
					
						
							| 
									
										
										
										
											2011-07-25 00:46:16 +04:00
										 |  |  | 	inst_hook cmdline 95 "$moddir/parse-zfs.sh" | 
					
						
							|  |  |  | 	inst_hook mount 98 "$moddir/mount-zfs.sh" | 
					
						
							| 
									
										
										
										
											2014-10-06 15:08:33 +04:00
										 |  |  | 	inst_hook shutdown 30 "$moddir/export-zfs.sh" | 
					
						
							| 
									
										
										
										
											2011-09-30 21:33:26 +04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-03-20 22:25:50 +04:00
										 |  |  | 	if [ -e @sysconfdir@/zfs/zpool.cache ]; then | 
					
						
							|  |  |  | 		inst @sysconfdir@/zfs/zpool.cache | 
					
						
							|  |  |  | 	fi | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-02-16 06:08:04 +03:00
										 |  |  | 	if [ -e @sysconfdir@/zfs/vdev_id.conf ]; then | 
					
						
							|  |  |  | 		inst @sysconfdir@/zfs/vdev_id.conf | 
					
						
							|  |  |  | 	fi | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-09-30 21:33:26 +04:00
										 |  |  | 	# Synchronize initramfs and system hostid | 
					
						
							|  |  |  | 	AA=`hostid | cut -b 1,2` | 
					
						
							|  |  |  | 	BB=`hostid | cut -b 3,4` | 
					
						
							|  |  |  | 	CC=`hostid | cut -b 5,6` | 
					
						
							|  |  |  | 	DD=`hostid | cut -b 7,8` | 
					
						
							| 
									
										
										
										
											2015-02-10 23:12:27 +03:00
										 |  |  | 	printf "\x$DD\x$CC\x$BB\x$AA" > "$initdir/etc/hostid" | 
					
						
							| 
									
										
										
										
											2011-07-04 21:25:31 +04:00
										 |  |  | } |