| // Copyright 2020 Google LLC |
| // |
| // Licensed under the Apache License, Version 2.0 (the License); |
| // you may not use this file except in compliance with the License. |
| // You may obtain a copy of the License at |
| // |
| // http://www.apache.org/licenses/LICENSE-2.0 |
| // |
| // Unless required by applicable law or agreed to in writing, software |
| // distributed under the License is distributed on an AS IS BASIS, |
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| // See the License for the specific language governing permissions and |
| // limitations under the License. |
| |
| package main |
| |
| import ( |
| "log" |
| "os" |
| "strconv" |
| |
| "github.com/GoogleCloudPlatform/cos-customizer/src/pkg/tools" |
| ) |
| |
| // main generates binary file to extend the OEM partition. |
| // Built by Bazel. The binary will be in data/builtin_build_context/. |
| func main() { |
| log.SetOutput(os.Stdout) |
| args := os.Args |
| if len(args) != 6 { |
| log.Fatalln("error: must have 5 arguments: disk string, statePartNum, oemPartNum int, oemSize string, reclaimSDA3 bool") |
| } |
| statePartNum, err := strconv.Atoi(args[2]) |
| if err != nil { |
| log.Fatalln("error: the 2nd argument statePartNum must be an int") |
| } |
| oemPartNum, err := strconv.Atoi(args[3]) |
| if err != nil { |
| log.Fatalln("error: the 3rd argument oemPartNum must be an int") |
| } |
| reclaimSDA3, err := strconv.ParseBool(args[5]) |
| if err != nil { |
| log.Fatalln("error: the 5th argument reclaimSDA3 must be a bool") |
| } |
| if err := tools.HandleDiskLayout(args[1], statePartNum, oemPartNum, args[4], reclaimSDA3); err != nil { |
| log.Fatalln(err) |
| } |
| } |