Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Direct boot Linux in a VM with LTX as init #1

Open
7 tasks done
richiejp opened this issue Jun 5, 2023 · 2 comments
Open
7 tasks done

Direct boot Linux in a VM with LTX as init #1

richiejp opened this issue Jun 5, 2023 · 2 comments

Comments

@richiejp
Copy link
Contributor

richiejp commented Jun 5, 2023

Problems

  1. Then need to quickly test a kernel branch
  2. The need to run a test on all major architectures

Solution

Cross compile LTX, the tests and the Linux kernel. Create an initrd with LTX and any tests in. Then direct boot the kernel-initrd in a VM and run the tests with LTX.

  • Cross compile LTX with Zig
  • cross compile the kernel with Clang/LLVM
  • cross compile a test/PoC with Zig
  • Create an initrd with cpio
  • Allow LTX to run as init and detect the command serial port
  • ?Create a framework in Kirk to run standalone executables like sysinfo?
  • Direct boot a VM and connect Kirk to it

Benefits

Cross compiling and booting all of the userland in a normal or embedded distribution takes a long time. It takes so long that doing it is impractical and wasteful. Also the kernel configs that are supported are limited due to requirements of userland.

This cuts out many layers which add time making it possible to do tests across a wide matrix so long as the tests are reasonably self contained.

richiejp pushed a commit to richiejp/ltx that referenced this issue Jun 5, 2023
Automating this creates a lot of questions. For now we can just
specify the images as an input and give a pointer on how to do it.

Second task in acerv#1

Signed-off-by: Richard Palethorpe <[email protected]>
richiejp pushed a commit to richiejp/ltx that referenced this issue Jun 7, 2023
Automating this creates a lot of questions. For now we can just
specify the images as an input and give a pointer on how to do it.

Second task in acerv#1

Signed-off-by: Richard Palethorpe <[email protected]>
richiejp pushed a commit to richiejp/ltx that referenced this issue Jun 9, 2023
Automating this creates a lot of questions. For now we can just
specify the images as an input and give a pointer on how to do it.

Second task in acerv#1

Signed-off-by: Richard Palethorpe <[email protected]>
acerv pushed a commit that referenced this issue Jun 9, 2023
Automating this creates a lot of questions. For now we can just
specify the images as an input and give a pointer on how to do it.

Second task in #1

Signed-off-by: Richard Palethorpe <[email protected]>
@richiejp
Copy link
Contributor Author

#3 was merged

@richiejp
Copy link
Contributor Author

New tasks

  • Create scripts to build initrd and kernel and run QEMU
  • Add more architectures

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant