All Projects → mezantrop → linux2free

mezantrop / linux2free

Licence: other
Upgrade Linux to FreeBSD remotely via SSH

Programming Languages

shell
77523 projects

Projects that are alternatives of or similar to linux2free

gsmartcontrol
GSmartControl - Hard disk drive and SSD health inspection tool
Stars: ✭ 183 (+916.67%)
Mutual labels:  freebsd
ansible-role-bastille
An ansible role that helps configure a server as a BastilleBSD host
Stars: ✭ 15 (-16.67%)
Mutual labels:  freebsd
pfSense-pkg-WireGuard
This is a port of the original WireGuard UI bits as implemented by Netgate in pfSense 2.5.0 to a package suitable for rapid iteration and more frequent updating on future releases of pfSense.
Stars: ✭ 194 (+977.78%)
Mutual labels:  freebsd
ZRouter
No description or website provided.
Stars: ✭ 16 (-11.11%)
Mutual labels:  freebsd
hev-task-system
A simple, lightweight multi-task system (coroutines) for Unix (Linux/BSD/macOS)
Stars: ✭ 41 (+127.78%)
Mutual labels:  freebsd
ioc
libioc command line tool for BSD jail management
Stars: ✭ 13 (-27.78%)
Mutual labels:  freebsd
airyx
A BSD-based OS project that aims to provide an experience like and some compatibility with macOS (formerly known as airyxOS)
Stars: ✭ 2,490 (+13733.33%)
Mutual labels:  freebsd
numbernine
Attempt at a desktop shell and stuff; abandoned in favor of https://github.com/DankBSD/waysmoke
Stars: ✭ 15 (-16.67%)
Mutual labels:  freebsd
potluck
This project contains the FreeBSD pot (jail) (pkg install pot) flavours which are regularly built with Jenkins and published on potluck.honeyguide.net.
Stars: ✭ 23 (+27.78%)
Mutual labels:  freebsd
insaneworks-packer-template
CentOS 7-8 8Stream / AlmaLinux 8 / FreeBSD 12 - 13 x64 + VirtualBox / VMWare for Packer Template + FreeBSD 13 / AlmaLinux 9 + Parallels
Stars: ✭ 38 (+111.11%)
Mutual labels:  freebsd
ansible-sshjail
An Ansible connection plugin for provisioning FreeBSD jails remotely
Stars: ✭ 57 (+216.67%)
Mutual labels:  freebsd
capsicum-rs
Rust bindings for the FreeBSD capsicum framework
Stars: ✭ 15 (-16.67%)
Mutual labels:  freebsd
psutil
Cross-platform lib for process and system monitoring in Python
Stars: ✭ 8,488 (+47055.56%)
Mutual labels:  freebsd
GoRAT
GoRAT (Go Remote Access Tool) is an extremely powerful reverse shell, file server, and control plane using HTTPS reverse tunnels as a transport mechanism.
Stars: ✭ 34 (+88.89%)
Mutual labels:  freebsd
osutil
Go library to easily detect current operating system, current Linux distribution, macOS version and more...
Stars: ✭ 22 (+22.22%)
Mutual labels:  freebsd
books-and-articles
Books written from me to my own language
Stars: ✭ 15 (-16.67%)
Mutual labels:  freebsd
deploy-vm
Libvirt wrapper to spawn VMs using cloud images
Stars: ✭ 56 (+211.11%)
Mutual labels:  freebsd
vulture-base
Vulture 4 base system and bootstrap scripts
Stars: ✭ 33 (+83.33%)
Mutual labels:  freebsd
bbcp
BlackBox Cross-Platform (Windows, GNU/Linux, OpenBSD, FreeBSD)
Stars: ✭ 49 (+172.22%)
Mutual labels:  freebsd
Awesome-BSD-Ports-Programs-And-Projects
A Repo Detailing BSD Ports, Programs, and Projects.
Stars: ✭ 46 (+155.56%)
Mutual labels:  freebsd

Remote Linux to FreeBSD upgrade script

l2f.sh script does the following:

  1. Downloads from Internet and installs OpenZFS packages on the Linux machine
  2. Finds a space that can be freed and creates a ZFS-pool on the drive
  3. Downloads and extracts base and kernel FreeBSD distributions
  4. Creates minimalistic custom FreeBSD configuration, sufficient for subsequent SSH connection
  5. Installs FreeBSD EFI loader and creates a corresponding UEFI entry
  6. Reboots the machine into FreeBSD

Warning! Do not try l2f.sh on production and on any system that has any value. This is an early draft of the script. It contains bugs and can make your remote server unusable, destroy your OS, data and ruin entire life.

l2f.sh in action

Features, limitations and notes

  • Supports UEFI only machines with recent Redhat and Debian distribution families including Centos 8, Debian 11 and Ubuntu 21.10
  • l2f.sh can run on console or via SSH. Network connection is required to downloads distribution and package files from
  • l2f.sh creates a boot EFI partition and a small ZFS filesystem for FreeBSD to start up. The rest of the space, formerly used by Linux, has to be redistributed manually. FreeBSD has to be configured, as well as, additional dist files / packages must be installed manually

Usage

On Linux machine run:

wget https://raw.githubusercontent.com/mezantrop/linux2free/master/l2f.sh && sudo bash l2f.sh

TODO

  • Import SSH keys as suggested by PkHolm
  • Migrate some data from Linux filesystems as tux2bsd suggested

Similar projects

Don't hesitate to enhance, report bugs or call me, Mikhail Zakharov [email protected]

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].