github.com/kobeld/docker@v1.12.0-rc1/pkg/parsers/kernel/kernel_unix.go (about) 1 // +build linux freebsd solaris 2 3 // Package kernel provides helper function to get, parse and compare kernel 4 // versions for different platforms. 5 package kernel 6 7 import ( 8 "bytes" 9 ) 10 11 // GetKernelVersion gets the current kernel version. 12 func GetKernelVersion() (*VersionInfo, error) { 13 uts, err := uname() 14 if err != nil { 15 return nil, err 16 } 17 18 release := make([]byte, len(uts.Release)) 19 20 i := 0 21 for _, c := range uts.Release { 22 release[i] = byte(c) 23 i++ 24 } 25 26 // Remove the \x00 from the release for Atoi to parse correctly 27 release = release[:bytes.IndexByte(release, 0)] 28 29 return ParseRelease(string(release)) 30 }