Skip to content

mikem-zed/next-gen-storage

 
 

Repository files navigation

Next Gen Storage project

The sole purpose of this repo is to provide a bit of a structure for next-gen-storage project. Just to provide a way to synchronize different repositories (e.g. linux, qemu, potentially open-zfs) and a storage for necessary config files and helper scripts.

Links to submodules are relative, so feel free to clone this repository to your github/gitlab/whatever. You just need to clone linux and qemu repositories as well and clone --recursive will automagically pull submodules from your repositories.

How to build and run

Assuming that you have ubuntu-1.img and alpine.qcow2 in the root folder of this repository. And alpine.qcow2 has an entry in fstab

src  /path-to-your-src-on-your-host/ 9p trans=virtio,version=9p2000.L,posixacl,msize=104857601,cache=loose

Launcher scripts are assuming that your folder with source is mounted via 9pfs to identical path in the vitual machine. So there are no headaches with resolving paths to sources when using gdb.

git clone --recursive git@github.com:itmo-eve/next-gen-storage.git

cd next-gen-storage/linux
cp ../configs/linux-config .config
make oldconfig
make

mkdir ../qemu/build && cd ../qemu/build
../configure --target-list=x86_64-softmmu --enable-virtfs --extra-cflags='-O0'
make
cd ../../

#Build virtual host image
image-builder/prepare.sh image-builder/ubuntu
image-builder/imgbuild.sh ubuntu-1.img

#Run virtual host; login/pass are root/root
./qemu-run.py


# from another terminal, using root/root for login/pass
ssh -p 5551 root@localhost
nvmetcli restore proj/configs/vhost.json
proj/nested-run.py

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 49.7%
  • Python 41.4%
  • Dockerfile 8.9%