⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 install

📁 Solaris操作系统下的过滤驱动程序, C源码程序.
💻
字号:
			     INSTALLING FISTGEN* Building fistgen(1) unpack the package(2) run "./configure"You can force strict compilation of fistgen using, for example:	CFLAGS="-Wall -Werror -O2 -g" ./configureSee "./configure --help" for more options.Note we didn't test it with --srcdir=FOO different than the same build dir.(3) run "make"Ensure that you are using bison and flex.  Normally Yacc and Lex cannothandle multiple parsers/tokenizers in the same source.  You should also usegcc, because other vendor compilers do no support many of the GCC features Iuse.* Patching your kernel (Linux only)If you're using Linux, at least for now, you have to patch your kernel.  Seethe README file and the patches in the patches/ subdirectory forinformation.If you are using Solaris or FreeBSD, you do not need to patch your kernel.* Generating file system sources from fistgenRun "fistgen ARG", where ARG is the name of the .fist file that describes afile system.  Fistgen will read in the templates from out/templates/OS-VER,where OS-VER is the name of the operating system and the its version; forexample "Linux-2.3".  Then fistgen will generate output files inout/OS-VER/FS, where FS is the name of the file system that you're trying togenerate.  Example:$ ./fistgen tests/rot13fs.fistNEW: out/Linux-2.3/rot13fs/fist_rot13fs.hNEW: out/Linux-2.3/rot13fs/fist_rot13fs.cNEW: out/Linux-2.3/rot13fs/dentry.cNEW: out/Linux-2.3/rot13fs/aux.cNEW: out/Linux-2.3/rot13fs/fist_ioctl.cNEW: out/Linux-2.3/rot13fs/ROT13FS-TODONEW: out/Linux-2.3/rot13fs/inode.cNEW: out/Linux-2.3/rot13fs/doit.shNEW: out/Linux-2.3/rot13fs/main.cNEW: out/Linux-2.3/rot13fs/subr.cNEW: out/Linux-2.3/rot13fs/super.cNEW: out/Linux-2.3/rot13fs/rot13fs.hNEW: out/Linux-2.3/rot13fs/print.cNEW: out/Linux-2.3/rot13fs/fist.hNEW: out/Linux-2.3/rot13fs/vm_area.cNEW: out/Linux-2.3/rot13fs/testit.shNEW: out/Linux-2.3/rot13fs/ChangeLogNEW: out/Linux-2.3/rot13fs/mmap.cNEW: out/Linux-2.3/rot13fs/undoit.shNEW: out/Linux-2.3/rot13fs/MakefileNEW: out/Linux-2.3/rot13fs/file.c$ cd out/Linux-2.3/rot13fs$ makegcc -D__KERNEL__ -DMODULE -DFISTGEN -I. -I/home/ezk/proj/linux/BUILD-2.3/linux-beetle/include -g -O2 -Wall   -c -o fist_rot13fs.o fist_rot13fs.cgcc -D__KERNEL__ -DMODULE -DFISTGEN -I. -I/home/ezk/proj/linux/BUILD-2.3/linux-beetle/include -g -O2 -Wall   -c -o dentry.o dentry.cgcc -D__KERNEL__ -DMODULE -DFISTGEN -I. -I/home/ezk/proj/linux/BUILD-2.3/linux-beetle/include -g -O2 -Wall   -c -o file.o file.cgcc -D__KERNEL__ -DMODULE -DFISTGEN -I. -I/home/ezk/proj/linux/BUILD-2.3/linux-beetle/include -g -O2 -Wall   -c -o inode.o inode.cgcc -D__KERNEL__ -DMODULE -DFISTGEN -I. -I/home/ezk/proj/linux/BUILD-2.3/linux-beetle/include -g -O2 -Wall   -c -o main.o main.cmain.c:200: warning: `init_rot13fs_fs' defined but not usedmain.c:205: warning: `exit_rot13fs_fs' defined but not usedgcc -D__KERNEL__ -DMODULE -DFISTGEN -I. -I/home/ezk/proj/linux/BUILD-2.3/linux-beetle/include -g -O2 -Wall   -c -o mmap.o mmap.cgcc -D__KERNEL__ -DMODULE -DFISTGEN -I. -I/home/ezk/proj/linux/BUILD-2.3/linux-beetle/include -g -O2 -Wall   -c -o super.o super.cgcc -D__KERNEL__ -DMODULE -DFISTGEN -I. -I/home/ezk/proj/linux/BUILD-2.3/linux-beetle/include -g -O2 -Wall   -c -o vm_area.o vm_area.cgcc -D__KERNEL__ -DMODULE -DFISTGEN -I. -I/home/ezk/proj/linux/BUILD-2.3/linux-beetle/include -g -O2 -Wall   -c -o print.o print.cld -o rot13fs.o -r fist_rot13fs.o dentry.o file.o inode.o main.o mmap.o super.o vm_area.o print.o gcc -o fist_ioctl fist_ioctl.c -DFISTGEN -I. -I/home/ezk/proj/linux/BUILD-2.3/linux-beetle/include -g -O2 -WallAlso, you can generate all file systems for all distributed FiST files using"make genall".* Loading kernel modulesI distribute two scripts:(1) doit.sh: load a kernel module into the kernel, and mount it(2) undoit.sh: unmount a file system, and unload the kernel moduleLinux: see man pages for insmod, lsmod, rmmod, and mount.  See the	distributed un/doit.sh script as to how to u/mount these file	systems.	To turn off debugging: fist_ioctl -d /mnt 0	To turn on full debugging: fist_ioctl -d /mnt 18	To turn on fast-appends (for SCA file systems such as gzipfs)		fist_ioctl -f /mnt 1	To turn off fast-appends:		fist_ioctl -f /mnt 0Solaris: see man pages for modload, modinfo, and modunload.  I generate a	 special "fist_mount" program for mounting new file systems.  Use it	 for example as: fist_mount rot13fs /n/fist/data /mnt	 Solaris's /etc/mount program cannot mount arbitrary file systems.	To turn off debugging: fist_ioctl /mnt 0	To turn on full debugging: fist_ioctl /mnt 18	To set an encryption key for cryptfs: fist_setkey /mnt		and type your passphrase.FreeBSD: see man pages for kldload, kldstat, and kldunload.  I generate a	 special "mount_rot13fs" program for mounting new file systems.  Use	 it for example as: mount_rot13fs -t rot13fs /n/fist/data /mnt	 FreeBSD's /etc/mount program cannot mount arbitrary file systems.After you've mounted the file system, you can go ahead and use it.Stackable file systems can be mounted on top of other directories of alreadymounted file systems, not on devices such as /dev/sd1c.  So make sure youmount your FFS, UFS, EXT2FS, NFS, etc. file systems first, then stack thenew file system on top of them.  When done, unmount the file system, unloadthe kernel module, and you can repeat this process all you want.Happy stacking.Erez Zadok.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -