code: func (sysver SystemVerificationCheck) Check() (warnings, errorList []error) {
  	klog.V(1).Infoln("running all checks")
  	// Create a buffered writer and choose a quite large value (1M) and suppose the output from the system verification test won't exceed the limit
  	// Run the system verification check, but write to out buffered writer instead of stdout
  	bufw := bufio.NewWriterSize(os.Stdout, 1*1024*1024)
  	reporter := &system.StreamReporter{WriteStream: bufw}
  
  	var errs []error
  	var warns []error
  	// All the common validators we'd like to run:
  	var validators = []system.Validator{
  		&system.KernelValidator{Reporter: reporter}}
  
  	// run the docker validator only with docker runtime
  	if sysver.IsDocker {
  		validators = append(validators, &system.DockerValidator{Reporter: reporter})
  	}
  
  	if runtime.GOOS == "linux" {
  		//add linux validators
  		validators = append(validators,
  			&system.OSValidator{Reporter: reporter},
  			&system.CgroupsValidator{Reporter: reporter})
  	}
  
  	// Run all validators
  	for _, v := range validators {
  		warn, err := v.Validate(system.DefaultSysSpec)
  		if err != nil {
  			errs = append(errs, err)
  		}
  		if warn != nil {
  			warns = append(warns, warn)
  		}
  	}
  
  	if len(errs) != 0 {
  		// Only print the output from the system verification check if the check failed
  		fmt.Println("[preflight] The system verification failed. Printing the output from the verification:")
  		bufw.Flush()
  		return warns, errs
  	}
  	return warns, nil
  }
docs: // Check runs all individual checks