Master's Thesis

Extending containerized environments to non-native architectures

Final Thesis 1.37 MB

Author of thesis: Ing. Dalibor Kříčka

Acad. year: 2025/2026

Supervisor: Ing. Viktor Malík, Ph.D.

Reviewer: Ing. David Kozák, Ph.D.

Abstract:

This thesis presents the design and implementation of an extension for the open-source containerization tool called Containers Toolbx, maintained by Red Hat, Inc. The purpose of this extension is to introduce support for running containers based on CPU architectures different from the architecture of the host system. The implementation relies on the Linux kernel feature for intercepting non-native binary execution, called Miscellaneous Binary Format (binfmt_misc), and on a user-mode Quick Emulator (QEMU) as a cross-architecture binary interpreter. The proposed solution extends the Toolbx CLI's container creation and running commands with the --arch flag. This approach preserves the simplicity and intuitive interface that are key to Toolbx. The solution was validated through an extended test suite that covered both unit and system-level scenarios, and the performance overhead naturally introduced by emulation was evaluated. The primary contribution is extending the open-source project with a feature requested by users in the Toolbx community. This enables developers to build, test, and debug software for various target architectures without dedicated hardware, directly from their existing Toolbx workflow.

Keywords:

Toolbx, Containerization, Cross-architecture container, binfmt_misc, Miscellaneous Binary Format, User-mode QEMU, User-mode emulation

Date of defence

24.06.2026

Result of the defence

Defended (thesis was successfully defended)

znamkaAznamka

Grading

A

Process of defence

Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázky oponenta a na další otázky přítomných. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm A.

Topics for thesis defence

  1. What would you expect on ARM host emulating x86_64, and why might it differ from x86_64 emulating ARM?

Language of thesis

English

Faculty

Department

Study programme

Information Technology and Artificial Intelligence (MITAI)

Specialization

Machine Learning (NMAL)

Composition of Committee

prof. Dr. Ing. Jan Černocký (předseda)
doc. Ing. Vítězslav Beran, Ph.D. (místopředseda)
doc. Ing. Ondřej Lengál, Ph.D. (člen)
doc. Ing. František Zbořil, Ph.D. (člen)
Ing. Michal Hradiš, Ph.D. (člen)
Ing. Martin Fajčík, Ph.D. (člen)

Supervisor’s report
Ing. Viktor Malík, Ph.D.

The student has proposed and developed a high-quality solution to a challenging technical problem. He was able to understand and grasp the intricacies of low-level binary execution on Linux and leveraged existing tooling and technologies to introduce new functionality into a popular tool for managing containerized command line environments. I recommend to accept the thesis with the grade A (excellent).

Evaluation criteria Verbal classification
Information about assignment

The goal of the thesis was to extend the Container Toolbx tool with support for non-native architectures. Since the tool works with containers, which are by definition intended to run for host architecture only, the solution required to explore and leverage various technologies from common ones such as CPU emulation to very niche ones such as Linux kernel's binfmt_misc feature. 

Activity during solution, consultations, communication

The implementation part of the thesis was completed well in advance and was thoroughly consulted with the technical supervisor. The text part was finished in time as well and I had the opportunity to review vast majority of the text.

Publication activity, awards

The technical solution has been proposed for integration into the Container Toolbx project in the form of several pull requests. These are currently pending reviews from the project maintainers and, to the best of my knowledge, should be included into the main development branch of the project in nearby future. 

Work with literature

Due to the implementation nature of the thesis, majority of the sources come from manual pages and project documentations, which is expected. The student was able to find most of the relevant sources on his own. 

Activity during solution, consultations, communication

The student was very active throughout the entire academic year. We met on a two- to four-week basis and he always presented significant progress in the work. In addition, he regularly consulted the technical part of the solution with the technical supervisor from Red Hat. 

Points proposed by supervisor: 90

Grade proposed by supervisor: A

Reviewer’s report
Ing. David Kozák, Ph.D.

This is a strong master’s thesis on a demanding and practically relevant systems topic. The student had to acquire and apply knowledge across container technologies, Linux kernel interfaces, architecture emulation, image tooling, benchmarking, and open-source collaboration. The thesis is well written, properly structured, and technically convincing. The assignment goals were fully achieved, and the delivered implementation demonstrates both engineering maturity and practical value. I recommend the grade excellent / A.

Evaluation criteria Verbal classification Points Max. points
The extent to which the requirements of the assignment have been met

Evaluation level: assignment fulfilled, and the work contains significant extensions

The goals of the assignment were fully achieved and, in several respects, exceeded. The student delivered a functional cross-architecture extension, supported it with tests and benchmarking, and demonstrated that the proposed solution can be integrated into a real open-source development workflow.

Extent of the technical report

Evaluation level: is within the usual extent

The scope of the technical report is appropriate for a master’s thesis. The report covers the required background, design decisions, implementation details, testing methodology, and performance evaluation in sufficient depth.

Presentation level of the technical report

The technical report is well structured and easy to follow. The motivation, technical background, implementation, and evaluation are presented in a logical order, and the text provides a clear narrative from problem definition to final validation.

97 100
Formal preparation of a technical report

The report is written in high-quality English and uses technical terminology consistently. The typesetting, organization, and overall formal presentation are at a very good level, with only minor imperfections.

95 100
Work with literature

The thesis uses relevant technical sources, including documentation, specifications, and project-level resources. The cited material is appropriate for the topic and supports the technical discussion well.

93 100
Realisation output

The implementation output is of high quality. The student contributed meaningful changes to an existing open-source system, structured the work into coherent implementation steps, and accompanied the functionality with unit tests, system tests, and performance measurements.

95 100
Usability of results

The results are highly usable in practice. The work addresses a concrete limitation of Toolbx and is motivated by real demand from users who need non-native architecture containers. The solution therefore has clear relevance beyond the thesis itself.

The difficulty of the assignment

Evaluation level: more difficult assignment

The assignment was above average in difficulty. It required the student to understand and combine several demanding areas: Linux containers, virtualization, kernel-level mechanisms, binfmt_misc, QEMU-based emulation, OCI image handling, and system integration in an established open-source codebase. The work also required communication with upstream maintainers and alignment with real-world project constraints.

Topics for thesis defence:
  1. What would you expect on ARM host emulating x86_64, and why might it differ from x86_64 emulating ARM?
Points proposed by reviewer: 96

Grade proposed by reviewer: A

Responsibility: Mgr. et Mgr. Hana Odstrčilová