mirror of
https://git.launchpad.net/livecd-rootfs
synced 2025-02-23 03:11:12 +00:00
Add support for building classic images using makefile-based gadget trees.
This commit is contained in:
parent
41b4130759
commit
f8529c9038
4
debian/control
vendored
4
debian/control
vendored
@ -23,6 +23,7 @@ Depends: ${misc:Depends},
|
||||
live-build (>= 3.0~a57-1ubuntu31~),
|
||||
lsb-release,
|
||||
lzma,
|
||||
make,
|
||||
parted,
|
||||
procps,
|
||||
python-minimal | python,
|
||||
@ -32,7 +33,8 @@ Depends: ${misc:Depends},
|
||||
rsync,
|
||||
snapd,
|
||||
squashfs-tools (>= 1:3.3-1),
|
||||
sudo,
|
||||
sudo
|
||||
u-boot-tools [armhf arm64],
|
||||
ubuntu-image,
|
||||
vmdk-stream-converter [amd64 i386],
|
||||
xz-utils,
|
||||
|
@ -23,12 +23,26 @@ PREFIX="livecd.$PROJECT${SUBARCH:+-$SUBARCH}"
|
||||
if [ "${IMAGEFORMAT:-}" = "ubuntu-image" ]; then
|
||||
# Use ubuntu-image instead of live-build
|
||||
|
||||
CHANNEL="${CHANNEL:-edge}"
|
||||
env SNAPPY_STORE_NO_CDN=1 \
|
||||
ubuntu-image -c "$CHANNEL" $UBUNTU_IMAGE_ARGS \
|
||||
-o "$PREFIX".img "$PREFIX".model-assertion
|
||||
xz -0 -T4 "$PREFIX".img
|
||||
mv seed.manifest "$PREFIX".manifest
|
||||
if [ "$PROJECT" = "ubuntu-core"]; then
|
||||
CHANNEL="${CHANNEL:-edge}"
|
||||
env SNAPPY_STORE_NO_CDN=1 \
|
||||
ubuntu-image snap -c "$CHANNEL" $UBUNTU_IMAGE_ARGS \
|
||||
-o "$PREFIX".img "$PREFIX".model-assertion
|
||||
xz -0 -T4 "$PREFIX".img
|
||||
mv seed.manifest "$PREFIX".manifest
|
||||
else
|
||||
# First we need to build the gadget tree
|
||||
(
|
||||
cd config/$PREFIX-gadget
|
||||
make && make install
|
||||
)
|
||||
ubuntu-image classic $UBUNTU_IMAGE_ARGS \
|
||||
-p $PROJECT -a $ARCH --subarch $SUBARCH \
|
||||
-o "$PREFIX".img config/$PREFIX-gadget/install
|
||||
xz -0 -T4 "$PREFIX".img
|
||||
mv filesystem.manifest "$PREFIX".manifest
|
||||
fi
|
||||
|
||||
exit 0
|
||||
fi
|
||||
|
||||
|
@ -179,28 +179,50 @@ case $IMAGEFORMAT in
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
case $MODEL in
|
||||
pc-amd64|pc-i386)
|
||||
UBUNTU_IMAGE_ARGS="--image-size 3700M" ;;
|
||||
*)
|
||||
UBUNTU_IMAGE_ARGS="" ;;
|
||||
esac
|
||||
case $SUITE in
|
||||
xenial)
|
||||
# Ubuntu Core 16
|
||||
;;
|
||||
*)
|
||||
# Ubuntu Core 18
|
||||
MODEL="ubuntu-core-18-${MODEL#pc-}" ;;
|
||||
esac
|
||||
|
||||
echo "IMAGEFORMAT=$IMAGEFORMAT" >> config/common
|
||||
echo "UBUNTU_IMAGE_ARGS=\"$UBUNTU_IMAGE_ARGS\"" >> config/common
|
||||
# Store model assertion in top dir to get it picked up later as a build artifact
|
||||
env SNAPPY_STORE_NO_CDN=1 snap known --remote model series=16 model="$MODEL" brand-id=canonical > "$PREFIX".model-assertion
|
||||
echo "Configured ubuntu-image for the following model assertion:"
|
||||
cat "$PREFIX".model-assertion
|
||||
echo "----------------------------------------------------------"
|
||||
if [ $PROJECT = "ubuntu-core" ]; then
|
||||
# snap-based core images
|
||||
|
||||
case $SUITE in
|
||||
xenial)
|
||||
# Ubuntu Core 16
|
||||
;;
|
||||
*)
|
||||
# Ubuntu Core 18
|
||||
MODEL="ubuntu-core-18-${MODEL#pc-}" ;;
|
||||
esac
|
||||
case $MODEL in
|
||||
pc-amd64|pc-i386)
|
||||
UBUNTU_IMAGE_ARGS="--image-size 3700M" ;;
|
||||
*)
|
||||
UBUNTU_IMAGE_ARGS="" ;;
|
||||
esac
|
||||
|
||||
echo "IMAGEFORMAT=$IMAGEFORMAT" >> config/common
|
||||
echo "UBUNTU_IMAGE_ARGS=\"$UBUNTU_IMAGE_ARGS\"" >> config/common
|
||||
# Store model assertion in top dir to get it picked up later as a build artifact
|
||||
env SNAPPY_STORE_NO_CDN=1 snap known --remote model series=16 model="$MODEL" brand-id=canonical > "$PREFIX".model-assertion
|
||||
echo "Configured ubuntu-image for the following model assertion:"
|
||||
cat "$PREFIX".model-assertion
|
||||
echo "----------------------------------------------------------"
|
||||
else
|
||||
# classic images
|
||||
|
||||
UBUNTU_IMAGE_ARGS=""
|
||||
if [ "$PROPOSED" ]; then
|
||||
UBUNTU_IMAGE_ARGS="$UBUNTU_IMAGE_ARGS --with-proposed"
|
||||
fi
|
||||
if [ "$EXTRA_PPAS" ]; then
|
||||
UBUNTU_IMAGE_ARGS="$UBUNTU_IMAGE_ARGS --extra-ppas \"$EXTRA_PPAS\""
|
||||
fi
|
||||
|
||||
git clone lp:~canonical-foundations/snap-$MODEL/+git/github-mirror -b classic config/$PREFIX-gadget
|
||||
|
||||
echo "IMAGEFORMAT=$IMAGEFORMAT" >> config/common
|
||||
echo "UBUNTU_IMAGE_ARGS=\"$UBUNTU_IMAGE_ARGS\"" >> config/common
|
||||
|
||||
echo "Configured ubuntu-image for the following gadget model: $MODEL"
|
||||
fi
|
||||
# Fake finished configuration for lb build
|
||||
mkdir -p .build
|
||||
touch .build/config
|
||||
|
Loading…
x
Reference in New Issue
Block a user