Android-cuttlefish cvd tool
boot_image_builder.h
Go to the documentation of this file.
1//
2// Copyright (C) 2026 The Android Open Source Project
3//
4// Licensed under the Apache License, Version 2.0 (the "License");
5// you may not use this file except in compliance with the License.
6// You may obtain a copy of the License at
7//
8// http://www.apache.org/licenses/LICENSE-2.0
9//
10// Unless required by applicable law or agreed to in writing, software
11// distributed under the License is distributed on an "AS IS" BASIS,
12// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13// See the License for the specific language governing permissions and
14// limitations under the License.
15
16#pragma once
17
18#include <memory>
19#include <string>
20
22#include "cuttlefish/io/io.h"
24
25namespace cuttlefish {
26
28 public:
29 BootImageBuilder& KernelCommandLine(std::string_view) &;
30 BootImageBuilder KernelCommandLine(std::string_view) &&;
31
32 BootImageBuilder& Kernel(std::unique_ptr<ReaderSeeker>) &;
33 BootImageBuilder Kernel(std::unique_ptr<ReaderSeeker>) &&;
34
35 BootImageBuilder& Ramdisk(std::unique_ptr<ReaderSeeker>) &;
36 BootImageBuilder Ramdisk(std::unique_ptr<ReaderSeeker>) &&;
37
38 BootImageBuilder& Signature(std::unique_ptr<ReaderSeeker>) &;
39 BootImageBuilder Signature(std::unique_ptr<ReaderSeeker>) &&;
40
41 BootImageBuilder& OsVersion(uint32_t) &;
42 BootImageBuilder OsVersion(uint32_t) &&;
43
45
46 private:
48 std::unique_ptr<ReaderSeeker> kernel_;
49 std::unique_ptr<ReaderSeeker> ramdisk_;
50 std::unique_ptr<ReaderSeeker> signature_;
51 uint32_t os_version_ = 0;
52};
53
54} // namespace cuttlefish
Definition: boot_image_builder.h:27
BootImageBuilder & Ramdisk(std::unique_ptr< ReaderSeeker >) &
Definition: boot_image_builder.cc:60
uint32_t os_version_
Definition: boot_image_builder.h:51
BootImageBuilder & KernelCommandLine(std::string_view) &
Definition: boot_image_builder.cc:44
std::string kernel_command_line_
Definition: boot_image_builder.h:47
Result< ConcatReaderSeeker > BuildV4()
Definition: boot_image_builder.cc:86
BootImageBuilder & OsVersion(uint32_t) &
Definition: boot_image_builder.cc:78
BootImageBuilder & Kernel(std::unique_ptr< ReaderSeeker >) &
Definition: boot_image_builder.cc:52
BootImageBuilder & Signature(std::unique_ptr< ReaderSeeker >) &
Definition: boot_image_builder.cc:68
std::unique_ptr< ReaderSeeker > signature_
Definition: boot_image_builder.h:50
std::unique_ptr< ReaderSeeker > kernel_
Definition: boot_image_builder.h:48
std::unique_ptr< ReaderSeeker > ramdisk_
Definition: boot_image_builder.h:49
Definition: alloc_driver.h:20
tl::expected< T, StackTraceError > Result
Definition: result_type.h:30