HDD Encryption/Decryption
Jump to navigation
Jump to search
Introduction
GEOM bswap16
- Swaps bytes in every 16-bit word
- Similar to dm-bswap16 on Linux.
- The kernel module needs a user-space GEOM counterpart, a shred library which is loaded and used by geom application to send commands to the kernel part.
http://gitorious.ps3dev.net/ps3freebsd/geom-bswap16
http://gitorious.ps3dev.net/ps3freebsd/geom-bswap16-lib
Test
# UI shared library for GEOM bswap16 cp geom_bswap16.so /lib/geom # Load kernel module kldload geom_bswap16.ko # Create a memory block device for testing mdconfig -a -t vnode -f ~/test.bin -u 0 # Create /dev/md0.bswap16 geom bswap16 create /dev/md0 hexdump -C /dev/md0 00000000 bb aa dd cc 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00000020 ee ff 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| * 00100000 hexdump -C /dev/md0.bswap16 00000000 aa bb cc dd 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00000020 ff ee 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| * 00100000