Browse Source

Exclude host kernel generation for macOS

tags/v1.1.1
dump_stack() 1 year ago
parent
commit
3e7c564a5a
Signed by: Mikhail Klementev <blame@dumpstack.io> GPG Key ID: BE44DA8C062D87DC
4 changed files with 101 additions and 61 deletions
  1. 6
    0
      CHANGELOG.md
  2. 0
    61
      kernel.go
  3. 77
    0
      kernel_linux.go
  4. 18
    0
      kernel_macos.go

+ 6
- 0
CHANGELOG.md View File

@@ -4,6 +4,12 @@

[Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [1.1.1] 2019-08-31

### Fixed

- macOS support.

## [1.1.0] 2019-08-30

### Added

+ 0
- 61
kernel.go View File

@@ -19,7 +19,6 @@ import (
"time"

"github.com/naoina/toml"
"github.com/zcalusic/sysinfo"

"code.dumpstack.io/tools/out-of-tree/config"
)
@@ -419,66 +418,6 @@ func listDockerImages() (diis []dockerImageInfo, err error) {
return
}

func genHostKernels(download bool) (kcfg config.KernelConfig, err error) {
si := sysinfo.SysInfo{}
si.GetSysInfo()

distroType, err := config.NewDistroType(si.OS.Vendor)
if err != nil {
return
}

cmd := exec.Command("ls", "/lib/modules")
rawOutput, err := cmd.CombinedOutput()
if err != nil {
log.Println(string(rawOutput), err)
return
}

kernelsBase := "/boot/"
files, err := ioutil.ReadDir(kernelsBase)
if err != nil {
return
}

// only for compatibility, docker is not really used
dii := dockerImageInfo{
ContainerName: config.KernelMask{
DistroType: distroType,
DistroRelease: si.OS.Version,
}.DockerName(),
}

rootfs, err := genRootfsImage(dii, download)
if err != nil {
return
}

for _, k := range strings.Fields(string(rawOutput)) {
ki := config.KernelInfo{
DistroType: distroType,
DistroRelease: si.OS.Version,
KernelRelease: k,

KernelSource: "/lib/modules/" + k + "/build",

KernelPath: kernelsBase + genKernelPath(files, k),
InitrdPath: kernelsBase + genInitrdPath(files, k),
RootFS: rootfs,
}

vmlinux := "/usr/lib/debug/boot/vmlinux-" + k
log.Println("vmlinux", vmlinux)
if exists(vmlinux) {
ki.VmlinuxPath = vmlinux
}

kcfg.Kernels = append(kcfg.Kernels, ki)
}

return
}

func updateKernelsCfg(host, download bool) (err error) {
newkcfg := config.KernelConfig{}


+ 77
- 0
kernel_linux.go View File

@@ -0,0 +1,77 @@
// Copyright 2018 Mikhail Klementev. All rights reserved.
// Use of this source code is governed by a AGPLv3 license
// (or later) that can be found in the LICENSE file.

// +build linux

package main

import (
"io/ioutil"
"log"
"os/exec"
"strings"

"code.dumpstack.io/tools/out-of-tree/config"
"github.com/zcalusic/sysinfo"
)

func genHostKernels(download bool) (kcfg config.KernelConfig, err error) {
si := sysinfo.SysInfo{}
si.GetSysInfo()

distroType, err := config.NewDistroType(si.OS.Vendor)
if err != nil {
return
}

cmd := exec.Command("ls", "/lib/modules")
rawOutput, err := cmd.CombinedOutput()
if err != nil {
log.Println(string(rawOutput), err)
return
}

kernelsBase := "/boot/"
files, err := ioutil.ReadDir(kernelsBase)
if err != nil {
return
}

// only for compatibility, docker is not really used
dii := dockerImageInfo{
ContainerName: config.KernelMask{
DistroType: distroType,
DistroRelease: si.OS.Version,
}.DockerName(),
}

rootfs, err := genRootfsImage(dii, download)
if err != nil {
return
}

for _, k := range strings.Fields(string(rawOutput)) {
ki := config.KernelInfo{
DistroType: distroType,
DistroRelease: si.OS.Version,
KernelRelease: k,

KernelSource: "/lib/modules/" + k + "/build",

KernelPath: kernelsBase + genKernelPath(files, k),
InitrdPath: kernelsBase + genInitrdPath(files, k),
RootFS: rootfs,
}

vmlinux := "/usr/lib/debug/boot/vmlinux-" + k
log.Println("vmlinux", vmlinux)
if exists(vmlinux) {
ki.VmlinuxPath = vmlinux
}

kcfg.Kernels = append(kcfg.Kernels, ki)
}

return
}

+ 18
- 0
kernel_macos.go View File

@@ -0,0 +1,18 @@
// Copyright 2018 Mikhail Klementev. All rights reserved.
// Use of this source code is governed by a AGPLv3 license
// (or later) that can be found in the LICENSE file.

// +build darwin

package main

import (
"errors"

"code.dumpstack.io/tools/out-of-tree/config"
)

func genHostKernels(download bool) (kcfg config.KernelConfig, err error) {
err = errors.New("generate host kernels for macOS is not supported")
return
}

Loading…
Cancel
Save