This option overrides the default configuration directory ( /etc/modprobe.d). (Any module which has been blacklisted will not be automatically loaded.) This option causes modprobe to apply the blacklist commands in the configuration files (if any) to module names as well. Insert all module names on the command line. Download and extract ODIN, and when the phone is connected in download mode, it should work.If any arguments are given after the modulename, they are passed to the kernel (in addition to any options listed in the configuration file).Put the phone in Download Mode, plug in the USB Cable, forward the USB Port to the Windows VM (in VirtualBox, with a running Windows VM, in the menu go to Devices -> USB and tick your phone).Inside the Windows VM, install Samsung Smart Switch PC (previously KIES) for the drivers, or install just the drivers from here.On your Linux host machine, add your user to the vboxusers group: usermod -G vboxusers -a username.Blacklist the cdc_acm driver in your Linux host machine: sudo modprobe -r cdc_acm and add blacklist cdc_acm to your /etc/modprobe.d/nf.In the Windows VM in VirtualBox, go to Settings -> USB and enable Enable USB 2.0 (EHCI) Controller.Download and install the VirtualBox Extension Pack.So I decided to give running ODIN in VirtualBox a shot, and while I did not get everything working yet, these steps got me pretty far already: Of course there is Heimdall, but I never got it to work, and especially not for ROMs consisting of multiple separate files. A while ago I wrote that 2017 is The Year of the Linux Desktop, but there is one thing that has always bothered me and that is that I need to fallback to my Windows machine to flash a new ROM on my lovely Samsung (Android) phone.