~mvo/goget-ubuntu-touch/minimal-first-boot-no-prepare-image

« back to all changes in this revision

Viewing changes to ubuntu-device-flash/snappy.go

  • Committer: Michael Vogt
  • Date: 2016-08-12 07:21:51 UTC
  • Revision ID: michael.vogt@ubuntu.com-20160812072151-ex6hwrn2537m5mh6
update for snapd 2.12

Show diffs side-by-side

added added

removed removed

Lines of Context:
339
339
                        }
340
340
                        info.SideInfo = sideinfo
341
341
 
342
 
                        // mount (because extractKernel needs a mounted dir)
343
 
                        if err := os.MkdirAll(info.MountDir(), 0755); err != nil {
344
 
                                return err
345
 
                        }
346
 
                        if err := mount(info.MountFile(), info.MountDir()); err != nil {
347
 
                                return nil
348
 
                        }
349
 
                        defer umount(info.MountDir())
350
 
 
351
342
                        // extract
352
 
                        pb := progress.NewTextProgress()
353
 
                        if err := boot.ExtractKernelAssets(info, pb); err != nil {
 
343
                        snapf, err := snap.Open(fullname)
 
344
                        if err != nil {
 
345
                                return err
 
346
                        }
 
347
                        if err := boot.ExtractKernelAssets(info, snapf); err != nil {
354
348
                                return err
355
349
                        }
356
350
                }
360
354
        return nil
361
355
}
362
356
 
363
 
func mount(src, dst string) error {
364
 
        cmd := exec.Command("mount", src, dst)
365
 
        if output, err := cmd.CombinedOutput(); err != nil {
366
 
                return fmt.Errorf("cannot run %q: %s (%s)", cmd, err, output)
367
 
        }
368
 
        return nil
369
 
}
370
 
 
371
 
func umount(dir string) error {
372
 
        cmd := exec.Command("umount", dir)
373
 
        if output, err := cmd.CombinedOutput(); err != nil {
374
 
                return fmt.Errorf("cannot run %q: %s (%s)", cmd, err, output)
375
 
        }
376
 
        return nil
377
 
}
378
 
 
379
357
func (s *Snapper) extractGadget(gadgetPackage string) error {
380
358
        if gadgetPackage == "" {
381
359
                return nil