Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge sylabs/sif through v2.7.0 #138

Merged
merged 14 commits into from May 11, 2022
Merged
4 changes: 2 additions & 2 deletions .github/workflows/ci.yml
Expand Up @@ -30,7 +30,7 @@ jobs:
git diff --exit-code -- go.mod go.sum

- name: Build Source
run: go run ./magefiles/mage.go build:source
run: go build ./...

- name: Install Lint
uses: golangci/golangci-lint-action@v2
Expand All @@ -44,7 +44,7 @@ jobs:
golangci-lint run

- name: Run Tests
run: go run ./magefiles/mage.go cover:unit cover.out
run: go test -coverprofile cover.out -race ./...

- name: Upload coverage report
uses: codecov/codecov-action@v2
Expand Down
4 changes: 0 additions & 4 deletions .golangci.yml
Expand Up @@ -2,10 +2,6 @@
# For website terms of use, trademark policy, privacy policy and other
# project policies see https://lfprojects.org/policies

run:
build-tags:
- mage

linters:
disable-all: true
enable:
Expand Down
5 changes: 4 additions & 1 deletion .goreleaser.yml
Expand Up @@ -71,4 +71,7 @@ archives:
- linux-builds

sboms:
- artifacts: archive
- documents:
- '{{ .ProjectName }}_{{ .Version }}_{{ .Os }}_{{ .Arch }}{{ with .Arm }}v{{ . }}{{ end }}{{ with .Mips }}_{{ . }}{{ end }}.bom.cdx.json'
artifacts: binary
args: ["$artifact", "--file", "$document", "--output", "cyclonedx-json"]
19 changes: 3 additions & 16 deletions README.md
Expand Up @@ -4,7 +4,7 @@
[![Build Status](https://github.com/apptainer/sif/actions/workflows/ci.yml/badge.svg)](https://github.com/apptainer/sif/actions/workflows/ci.yml)
[![Code Coverage](https://codecov.io/gh/apptainer/sif/branch/master/graph/badge.svg)](https://codecov.io/gh/apptainer/sif)
[![Go Report Card](https://goreportcard.com/badge/github.com/apptainer/sif)](https://goreportcard.com/report/github.com/apptainer/sif)
[![Built with Mage](https://magefile.org/badge.svg)](https://magefile.org)
[![Powered By GoReleaser](https://img.shields.io/badge/powered%20by-goreleaser-green.svg)](https://github.com/goreleaser)

This module contains an open source implementation of the
Singularity Image Format (SIF) that makes it easy to create complete and
Expand All @@ -15,22 +15,9 @@ encapsulated container environments stored in a single file.
Unless otherwise noted, the SIF source files are distributed under the
BSD-style license found in the [LICENSE.md](LICENSE.md) file.

## Download and Install From Source
## Install Siftool

To get the sif package to use directly from your programs:

```sh
go get -d github.com/apptainer/sif/v2
```

To get the siftool CLI program installed to `$(go env GOPATH)/bin` to
manipulate SIF container files:

```sh
git clone https://github.com/apptainer/sif
cd sif
go run ./magefiles/mage.go install
```
Pre-built binaries are available with the [latest release](https://github.com/apptainer/sif/releases).

## Go Version Compatibility

Expand Down
21 changes: 13 additions & 8 deletions cmd/siftool/siftool.go
Expand Up @@ -2,7 +2,7 @@
// Apptainer a Series of LF Projects LLC.
// For website terms of use, trademark policy, privacy policy and other
// project policies see https://lfprojects.org/policies
// Copyright (c) 2018-2021, Sylabs Inc. All rights reserved.
// Copyright (c) 2018-2022, Sylabs Inc. All rights reserved.
// Copyright (c) 2017, SingularityWare, LLC. All rights reserved.
// Copyright (c) 2017, Yannick Cote <yhcote@gmail.com> All rights reserved.
// This software is licensed under a 3-clause BSD license. Please consult the
Expand All @@ -16,6 +16,7 @@ import (
"io"
"os"
"runtime"
"strconv"
"text/tabwriter"

"github.com/apptainer/sif/v2/pkg/sif"
Expand All @@ -28,7 +29,6 @@ var (
date = ""
builtBy = ""
commit = ""
state = ""
)

func writeVersion(w io.Writer) error {
Expand All @@ -42,11 +42,7 @@ func writeVersion(w io.Writer) error {
}

if commit != "" {
if state == "" {
fmt.Fprintf(tw, "Commit:\t%v\n", commit)
} else {
fmt.Fprintf(tw, "Commit:\t%v (%v)\n", commit, state)
}
fmt.Fprintf(tw, "Commit:\t%v\n", commit)
}

if date != "" {
Expand Down Expand Up @@ -83,7 +79,16 @@ possible to modify a SIF file via this tool via the add/del commands.`,

root.AddCommand(getVersion())

if err := siftool.AddCommands(&root); err != nil {
var experimental bool
if val, ok := os.LookupEnv("SIFTOOL_EXPERIMENTAL"); ok {
b, err := strconv.ParseBool(val)
if err != nil {
fmt.Fprintln(os.Stderr, "Error: failed to parse SIFTOOL_EXPERIMENTAL environment variable:", err)
}
experimental = b
}

if err := siftool.AddCommands(&root, siftool.OptWithExperimental(experimental)); err != nil {
fmt.Fprintln(os.Stderr, "Error:", err)
os.Exit(1)
}
Expand Down
7 changes: 3 additions & 4 deletions go.mod
Expand Up @@ -3,11 +3,10 @@ module github.com/apptainer/sif/v2
go 1.17

require (
github.com/ProtonMail/go-crypto v0.0.0-20220113124808-70ae35bab23f
github.com/ProtonMail/go-crypto v0.0.0-20220407094043-a94812496cf5
github.com/blang/semver/v4 v4.0.0
github.com/go-git/go-git/v5 v5.4.2
github.com/google/uuid v1.3.0
github.com/magefile/mage v1.13.0
github.com/sebdah/goldie/v2 v2.5.3
github.com/spf13/cobra v1.4.0
github.com/spf13/pflag v1.0.5
Expand All @@ -28,7 +27,7 @@ require (
github.com/sergi/go-diff v1.1.0 // indirect
github.com/xanzy/ssh-agent v0.3.0 // indirect
golang.org/x/crypto v0.0.0-20210817164053-32db794688a5 // indirect
golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d // indirect
golang.org/x/sys v0.0.0-20211205182925-97ca703d548d // indirect
golang.org/x/net v0.0.0-20210326060303-6b1517762897 // indirect
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1 // indirect
gopkg.in/warnings.v0 v0.1.2 // indirect
)
16 changes: 5 additions & 11 deletions go.sum
Expand Up @@ -2,8 +2,8 @@ github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jB
github.com/Microsoft/go-winio v0.4.16 h1:FtSW/jqD+l4ba5iPBj9CODVtgfYAD8w2wS923g/cFDk=
github.com/Microsoft/go-winio v0.4.16/go.mod h1:XB6nPKklQyQ7GC9LdcBEcBl8PF76WugXOPRXwdLnMv0=
github.com/ProtonMail/go-crypto v0.0.0-20210428141323-04723f9f07d7/go.mod h1:z4/9nQmJSSwwds7ejkxaJwO37dru3geImFUdJlaLzQo=
github.com/ProtonMail/go-crypto v0.0.0-20220113124808-70ae35bab23f h1:J2FzIrXN82q5uyUraeJpLIm7U6PffRwje2ORho5yIik=
github.com/ProtonMail/go-crypto v0.0.0-20220113124808-70ae35bab23f/go.mod h1:z4/9nQmJSSwwds7ejkxaJwO37dru3geImFUdJlaLzQo=
github.com/ProtonMail/go-crypto v0.0.0-20220407094043-a94812496cf5 h1:cSHEbLj0GZeHM1mWG84qEnGFojNEQ83W7cwaPRjcwXU=
github.com/ProtonMail/go-crypto v0.0.0-20220407094043-a94812496cf5/go.mod h1:z4/9nQmJSSwwds7ejkxaJwO37dru3geImFUdJlaLzQo=
github.com/acomagu/bufpipe v1.0.3 h1:fxAGrHZTgQ9w5QqVItgzwj235/uYZYgbXitB+dLupOk=
github.com/acomagu/bufpipe v1.0.3/go.mod h1:mxdxdup/WdsKVreO5GpW4+M/1CE2sMG4jeGJ2sYmHc4=
github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239 h1:kFOfPq6dUM1hTo4JG6LR5AXSUEsOjtdm0kw0FtQtMJA=
Expand Down Expand Up @@ -52,8 +52,6 @@ github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/magefile/mage v1.13.0 h1:XtLJl8bcCM7EFoO8FyH8XK3t7G5hQAeK+i4tq+veT9M=
github.com/magefile/mage v1.13.0/go.mod h1:z5UZb/iS3GoOSn0JgWuiw7dxlurVYTu+/jHXqQg881A=
github.com/matryer/is v1.2.0 h1:92UTHpy8CDwaJ08GqLDzhhuixiBUUD1p3AU6PHddz4A=
github.com/matryer/is v1.2.0/go.mod h1:2fLPjFQM9rhQ15aVEtbuwhJinnOqrmgXPNdZsdwlWXA=
github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y=
Expand Down Expand Up @@ -90,26 +88,22 @@ golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm
golang.org/x/crypto v0.0.0-20210817164053-32db794688a5 h1:HWj/xjIHfjYU5nVXpTM0s39J9CbLn7Cc5a7IC5rwsMQ=
golang.org/x/crypto v0.0.0-20210817164053-32db794688a5/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
golang.org/x/net v0.0.0-20210326060303-6b1517762897 h1:KrsHThm5nFk34YtATK1LsThyGhGbGe1olrte/HInHvs=
golang.org/x/net v0.0.0-20210326060303-6b1517762897/go.mod h1:uSPa2vr4CLtc/ILN5odXGNXS6mhrKVzTaCXzk9m6W3k=
golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d h1:LO7XpTYMwTqxjLcGWPijK3vRXg1aWdlNOVOHRq45d7c=
golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210324051608-47abb6519492/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210502180810-71e4cd670f79/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1 h1:SrN+KX8Art/Sf4HNj6Zcz06G7VEz+7w9tdXTPOZ7+l4=
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20211205182925-97ca703d548d h1:FjkYO/PPp4Wi0EAUOVLxePm7qVW4r4ctbWpURyuOD0E=
golang.org/x/sys v0.0.0-20211205182925-97ca703d548d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1 h1:v+OssWQX+hTHEmOBgwxdZxK4zHq3yOs8F9J7mk0PY8E=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/text v0.3.3 h1:cokOdA+Jmi5PJGXLlLllQSgYigAEfHXJAERHVMaCc2k=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.6 h1:aRYxNxv6iGQlyVaZmk6ZgYEDa+Jg18DxebPSrd6bg1M=
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
Expand Down
15 changes: 14 additions & 1 deletion internal/app/siftool/app.go
Expand Up @@ -2,7 +2,7 @@
// Apptainer a Series of LF Projects LLC.
// For website terms of use, trademark policy, privacy policy and other
// project policies see https://lfprojects.org/policies
// Copyright (c) 2021, Sylabs Inc. All rights reserved.
// Copyright (c) 2021-2022, Sylabs Inc. All rights reserved.
// This software is licensed under a 3-clause BSD license. Please consult the
// LICENSE file distributed with the sources of this project regarding your
// rights to use or distribute this software.
Expand All @@ -17,6 +17,7 @@ import (
// appOpts contains configured options.
type appOpts struct {
out io.Writer
err io.Writer
}

// AppOpt are used to configure optional behavior.
Expand All @@ -35,11 +36,23 @@ func OptAppOutput(w io.Writer) AppOpt {
}
}

// OptAppError specifies that errors should be written to w.
func OptAppError(w io.Writer) AppOpt {
return func(o *appOpts) error {
o.err = w
return nil
}
}

// New creates a new App configured with opts.
//
// By default, application output and errors are written to os.Stdout and os.Stderr respectively.
// To modify this behavior, consider using OptAppOutput and/or OptAppError.
func New(opts ...AppOpt) (*App, error) {
a := App{
opts: appOpts{
out: os.Stdout,
err: os.Stderr,
},
}

Expand Down
24 changes: 24 additions & 0 deletions internal/app/siftool/mount.go
@@ -0,0 +1,24 @@
// Copyright (c) Contributors to the Apptainer project, established as
// Apptainer a Series of LF Projects LLC.
// For website terms of use, trademark policy, privacy policy and other
// project policies see https://lfprojects.org/policies
// Copyright (c) 2022, Sylabs Inc. All rights reserved.
// This software is licensed under a 3-clause BSD license. Please consult the
// LICENSE file distributed with the sources of this project regarding your
// rights to use or distribute this software.

package siftool

import (
"context"

"github.com/apptainer/sif/v2/pkg/user"
)

// Mount mounts the primary system partition of the SIF file at path into mountPath.
func (a *App) Mount(ctx context.Context, path, mountPath string) error {
return user.Mount(ctx, path, mountPath,
user.OptMountStdout(a.opts.out),
user.OptMountStderr(a.opts.err),
)
}
16 changes: 8 additions & 8 deletions internal/app/siftool/testdata/TestApp_Dump/Three.golden
@@ -1,15 +1,15 @@
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

{"version":1,"header":{"digest":"sha256:635fa0a14a8ef0c0351ed3e985799ed1d4f75ce973dea3cc76c99710795cc3f1"},"objects":[{"relativeId":0,"descriptorDigest":"sha256:3634ad01db0dd5482ecf685267b53d6201690438ca27c3d7ea91c971a1f41f92","objectDigest":"sha256:004dfc8da678c309de28b5386a1e9efd57f536b150c40d29b31506aa0fb17ec2"},{"relativeId":1,"descriptorDigest":"sha256:db74cb63348414def73535c9f0f83e8ad7df61229ed2806f4da8b69d6d7464d6","objectDigest":"sha256:5f78c33274e43fa9de5659265c1d917e25c03722dcb0b8d27db8d5feaa813953"}]}
{"version":1,"header":{"digest":"sha256:635fa0a14a8ef0c0351ed3e985799ed1d4f75ce973dea3cc76c99710795cc3f1"},"objects":[{"relativeId":0,"descriptorDigest":"sha256:3634ad01db0dd5482ecf685267b53d6201690438ca27c3d7ea91c971a1f41f92","objectDigest":"sha256:004dfc8da678c309de28b5386a1e9efd57f536b150c40d29b31506aa0fb17ec2"},{"relativeId":1,"descriptorDigest":"sha256:04b5f87c9692a54f80d10fb6af00c779763aeca29d610348854bd97cd8bf66fd","objectDigest":"sha256:9f9c4e5e131934969b4ac8f495691c70b8c6c8e3f489c2c9ab5f1af82bce0604"}]}
-----BEGIN PGP SIGNATURE-----

wsBzBAEBCAAnBQJe+oD0CZCiDCfuf/e6hBYhBBIEXIwLEATQWN5L7aIMJ+5/97qE
AADY9ggAlW/Y+BssNOLcCAiu0dzZCf5BfbzmOUQ+VNajAsZyOIJnW1t19lDYoRNx
x3YolyyRfEmw9Kf1n6fctDHGPyzRIIOc1/0CVQzNzfKZQO+x0+9qvurILADijY/3
1DKqhbxoO2a5iASXYHH9yYs3J82N3EKEYyFdDMTcHs4UijUnHvwcTt0smY6JQ9Su
vssWg+3qltuVjiYOQPgg9XR5i8suXE76poit9Ftp7jOD9eYtVcUEKRZLrVCsDJu9
77QvejJmgquueYX4pM2EuH9EOFnDV3gl4Cuocsn5OLDgfhYuT1t5Hay1iAPpJqm6
/EXQY7CECByIj6TCFurfXwc+uYSD9Q==
=rZoe
AAC46gf/VXyzZ649nttrX13JkM5kRVPlAIblBQxfoUxA1xwIXdRoM5ceDY0Em+YD
8b6Xl1w2sDTqo0R15cJSh8sf0ClFOvYpDQRNCwKx17k1Wd0gHcW4QVu6gJnlbNvN
o/EJdEN2TkbCM2aFvj34DAIfErRBIEsCeDDvJ/6WUSySWbnydfNU2pCsnK4A7l2H
KOXFzSaPijG9L/pU3O3vNZ+fXPffqHL9JVhs5Mt/Yo3oeoEnoVaKvJLGx/fyl+Gj
7qsfWFyHWzRCww9VFg/TCBeUku0CYRfXhxOgo4OuHNr8oo82rKDZU6+l3UZ2Sw8T
+kLe/zUkaILocGOvhvKdi630OGGb/Q==
=3Jq2
-----END PGP SIGNATURE-----
Binary file modified internal/app/siftool/testdata/TestApp_Dump/Two.golden
Binary file not shown.
Expand Up @@ -5,4 +5,4 @@ Descriptors Total: 48
Descriptors Offset: 4096
Descriptors Size: 27 KiB
Data Offset: 32176
Data Size: 5 KiB
Data Size: 9 KiB
Expand Up @@ -5,4 +5,4 @@ Descriptors Total: 48
Descriptors Offset: 4096
Descriptors Size: 27 KiB
Data Offset: 32176
Data Size: 9 KiB
Data Size: 265 KiB
Expand Up @@ -5,4 +5,4 @@ Descriptors Total: 48
Descriptors Offset: 4096
Descriptors Size: 27 KiB
Data Offset: 32176
Data Size: 17 KiB
Data Size: 269 KiB
Expand Up @@ -3,7 +3,7 @@
Group ID: 2
Linked ID: NONE
Offset: 40960
Size: 4
Size: 262144
Filesystem Type: Ext3
Partition Type: System
Architecture: amd64
Expand Up @@ -3,7 +3,7 @@
Group ID: 1
Linked ID: NONE
Offset: 36864
Size: 4
Size: 4096
Filesystem Type: Squashfs
Partition Type: *System
Architecture: 386
Expand Up @@ -2,7 +2,7 @@
ID: 4
Group ID: NONE
Linked ID: 1 (G)
Offset: 45056
Offset: 303104
Size: 1054
Hash Type: SHA-256
Entity: 12045C8C0B1004D058DE4BEDA20C27EE7FF7BA84
2 changes: 1 addition & 1 deletion internal/app/siftool/testdata/TestApp_List/OneGroup.golden
Expand Up @@ -2,4 +2,4 @@
ID |GROUP |LINK |SIF POSITION (start-end) |TYPE
------------------------------------------------------------------------------
1 |1 |NONE |32768-32772 |FS (Raw/System/386)
2 |1 |NONE |36864-36868 |FS (Squashfs/*System/386)
2 |1 |NONE |36864-40960 |FS (Squashfs/*System/386)
Expand Up @@ -2,5 +2,5 @@
ID |GROUP |LINK |SIF POSITION (start-end) |TYPE
------------------------------------------------------------------------------
1 |1 |NONE |32768-32772 |FS (Raw/System/386)
2 |1 |NONE |36864-36868 |FS (Squashfs/*System/386)
2 |1 |NONE |36864-40960 |FS (Squashfs/*System/386)
3 |NONE |1 (G) |40960-42014 |Signature (SHA-256)
4 changes: 2 additions & 2 deletions internal/app/siftool/testdata/TestApp_List/TwoGroups.golden
Expand Up @@ -2,5 +2,5 @@
ID |GROUP |LINK |SIF POSITION (start-end) |TYPE
------------------------------------------------------------------------------
1 |1 |NONE |32768-32772 |FS (Raw/System/386)
2 |1 |NONE |36864-36868 |FS (Squashfs/*System/386)
3 |2 |NONE |40960-40964 |FS (Ext3/System/amd64)
2 |1 |NONE |36864-40960 |FS (Squashfs/*System/386)
3 |2 |NONE |40960-303104 |FS (Ext3/System/amd64)
Expand Up @@ -2,7 +2,7 @@
ID |GROUP |LINK |SIF POSITION (start-end) |TYPE
------------------------------------------------------------------------------
1 |1 |NONE |32768-32772 |FS (Raw/System/386)
2 |1 |NONE |36864-36868 |FS (Squashfs/*System/386)
3 |2 |NONE |40960-40964 |FS (Ext3/System/amd64)
4 |NONE |1 (G) |45056-46110 |Signature (SHA-256)
5 |NONE |2 (G) |49152-50007 |Signature (SHA-256)
2 |1 |NONE |36864-40960 |FS (Squashfs/*System/386)
3 |2 |NONE |40960-303104 |FS (Ext3/System/amd64)
4 |NONE |1 (G) |303104-304158 |Signature (SHA-256)
5 |NONE |2 (G) |307200-308055 |Signature (SHA-256)