Skip to content

Latest commit

 

History

History
56 lines (37 loc) · 1.62 KB

File metadata and controls

56 lines (37 loc) · 1.62 KB

diskdevil - Devilishly fast ISO to USB


Introduction

Diskdevil is a fancy wrapper for the sendfile64 system call on linux, enabling super fast zero-copy file transfers. Learn more about sendfile by consulting your local `man` command.

Installing

Grab a release tarball, and

./configure && make && make install

You will need rust target x86_64-unknown-none.

FAQ

Doesn’t DD already do this?

Well yes, and that is the inspiration for the name _d_​isk​_d_​evil. However, dd is approximately 25 centuries old and only uses read/write system calls [fn:1]. Diskdevil does not (and probably will not) support all of the disk-destroying capabilities of dd, but should be faster at what basically everyone uses dd for, to dump Linux ISOs to USBs.

Can’t you write a syscall wrapper in like 5 lines?

Also yes, but I wanted a challege (read: procrastinate) so I decided to make it no_std ie no rust standard lib apart from core, no libc, no nothing. Just me and some inline assembly.

I also wrote it WITHOUT cargo for......reasons.

What’s all this ./configure crap?

What’s Cargo?

Why write it in Rust?

The white house told me to? Safety or something.

How can you get the safety of rust if theres a bunch of inline asm and everything is unsafe?

What’s with all these questions?

Why is the readme looking weird?

Github’s support for Org Mode is broken, so plain text it is..


LICENSE

GPLv3 especially the “AS-IS” and “no warranty” parts.

[fn:1]: Citation needed.