Andrew Rynhard 90c91807bd refactor: restructure the project layout
This change moves packages into more appropriate places.

Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-08-01 22:19:42 -07:00

26 lines
899 B
Go

/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
package squashfs
import (
"github.com/talos-systems/talos/internal/pkg/mount"
"github.com/talos-systems/talos/pkg/constants"
"golang.org/x/sys/unix"
"gopkg.in/freddierice/go-losetup.v1"
)
// MountPoints returns the mountpoints required to boot the system.
func MountPoints(prefix string) (mountpoints *mount.Points, err error) {
var dev losetup.Device
dev, err = losetup.Attach("/"+constants.RootfsAsset, 0, true)
if err != nil {
return nil, err
}
squashfs := mount.NewMountPoints()
squashfs.Set("squashfs", mount.NewMountPoint(dev.Path(), "/", "squashfs", unix.MS_RDONLY, "", mount.WithPrefix(prefix), mount.WithReadOnly(true), mount.WithShared(true)))
return squashfs, nil
}