parent
2aa3a59b7c
commit
25224180e1
@ -1,295 +0,0 @@
|
||||
#!/bin/sh -eu
|
||||
|
||||
ERRCNT=""
|
||||
|
||||
# Known good post-debootstrap values
|
||||
passwd_bootstrap="e6075a0d2a38e214ae5e9a5545f7eda3"
|
||||
shadow_bootstrap="7fa48d7fb0e3a1ede9c98ff7b1b33622"
|
||||
group_bootstrap="5fd842058cd526ddaf51c2a61870c12a"
|
||||
gshadow_bootstrap="3145b72315c7306edb13bf546bb350b9"
|
||||
|
||||
# Current post-debootstrap values
|
||||
passwd_hash=$(set -- $(md5sum /etc/passwd) && echo $1)
|
||||
shadow_hash=$(set -- $(cat /etc/shadow | sed "s/:.*:0:99999:/:0:99999:/g" | md5sum) && echo $1)
|
||||
group_hash=$(set -- $(md5sum /etc/group) && echo $1)
|
||||
gshadow_hash=$(set -- $(md5sum /etc/gshadow) && echo $1)
|
||||
|
||||
# /etc/passwd
|
||||
if [ "$passwd_bootstrap" = "$passwd_hash" ]; then
|
||||
cat > /etc/passwd <<EOF
|
||||
root:x:0:0:root:/root:/bin/bash
|
||||
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
|
||||
bin:x:2:2:bin:/bin:/usr/sbin/nologin
|
||||
sys:x:3:3:sys:/dev:/usr/sbin/nologin
|
||||
sync:x:4:65534:sync:/bin:/bin/sync
|
||||
games:x:5:60:games:/usr/games:/usr/sbin/nologin
|
||||
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
|
||||
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
|
||||
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
|
||||
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
|
||||
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
|
||||
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
|
||||
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
|
||||
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
|
||||
list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
|
||||
irc:x:39:39:ircd:/var/run/ircd:/usr/sbin/nologin
|
||||
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin
|
||||
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
|
||||
systemd-timesync:x:100:104:systemd Time Synchronization,,,:/run/systemd:/bin/false
|
||||
systemd-network:x:101:105:systemd Network Management,,,:/run/systemd/netif:/bin/false
|
||||
systemd-resolve:x:102:106:systemd Resolver,,,:/run/systemd/resolve:/bin/false
|
||||
systemd-bus-proxy:x:103:107:systemd Bus Proxy,,,:/run/systemd:/bin/false
|
||||
syslog:x:104:110::/home/syslog:/bin/false
|
||||
usermetrics:x:105:111:User Metrics:/var/lib/usermetrics:/bin/false
|
||||
messagebus:x:106:112::/var/run/dbus:/bin/false
|
||||
uuidd:x:107:113::/run/uuidd:/bin/false
|
||||
snappypkg:x:108:114::/nonexistent:/bin/false
|
||||
avahi:x:109:115:Avahi mDNS daemon,,,:/var/run/avahi-daemon:/bin/false
|
||||
dnsmasq:x:110:65534:dnsmasq,,,:/var/lib/misc:/bin/false
|
||||
pulse:x:111:116:PulseAudio daemon,,,:/var/run/pulse:/bin/false
|
||||
whoopsie:x:112:118::/nonexistent:/bin/false
|
||||
sshd:x:113:65534::/var/run/sshd:/usr/sbin/nologin
|
||||
rtkit:x:114:123:RealtimeKit,,,:/proc:/bin/false
|
||||
usbmux:x:115:46:usbmux daemon,,,:/var/lib/usbmux:/bin/false
|
||||
colord:x:116:124:colord colour management daemon,,,:/var/lib/colord:/bin/false
|
||||
lightdm:x:117:126:Light Display Manager:/var/lib/lightdm:/bin/false
|
||||
EOF
|
||||
else
|
||||
echo "/etc/passwd post-debootstrap hash doesn't match record" >&2
|
||||
echo "The output below might help to resolve the issue" >&2
|
||||
cat /etc/passwd
|
||||
echo "passwd md5sum: $passwd_hash" >&2
|
||||
ERRCNT=1
|
||||
fi
|
||||
|
||||
# /etc/shadow
|
||||
if [ "$shadow_bootstrap" = "$shadow_hash" ]; then
|
||||
cat > /etc/shadow <<EOF
|
||||
root:*:16591:0:99999:7:::
|
||||
daemon:*:16591:0:99999:7:::
|
||||
bin:*:16591:0:99999:7:::
|
||||
sys:*:16591:0:99999:7:::
|
||||
sync:*:16591:0:99999:7:::
|
||||
games:*:16591:0:99999:7:::
|
||||
man:*:16591:0:99999:7:::
|
||||
lp:*:16591:0:99999:7:::
|
||||
mail:*:16591:0:99999:7:::
|
||||
news:*:16591:0:99999:7:::
|
||||
uucp:*:16591:0:99999:7:::
|
||||
proxy:*:16591:0:99999:7:::
|
||||
www-data:*:16591:0:99999:7:::
|
||||
backup:*:16591:0:99999:7:::
|
||||
list:*:16591:0:99999:7:::
|
||||
irc:*:16591:0:99999:7:::
|
||||
gnats:*:16591:0:99999:7:::
|
||||
nobody:*:16591:0:99999:7:::
|
||||
systemd-timesync:*:16591:0:99999:7:::
|
||||
systemd-network:*:16591:0:99999:7:::
|
||||
systemd-resolve:*:16591:0:99999:7:::
|
||||
systemd-bus-proxy:*:16591:0:99999:7:::
|
||||
syslog:*:16591:0:99999:7:::
|
||||
usermetrics:*:16594:0:99999:7:::
|
||||
messagebus:*:16594:0:99999:7:::
|
||||
uuidd:*:16594:0:99999:7:::
|
||||
snappypkg:*:16594:0:99999:7:::
|
||||
avahi:*:16594:0:99999:7:::
|
||||
dnsmasq:*:16594:0:99999:7:::
|
||||
pulse:*:16594:0:99999:7:::
|
||||
whoopsie:*:16594:0:99999:7:::
|
||||
sshd:*:16594:0:99999:7:::
|
||||
rtkit:*:16594:0:99999:7:::
|
||||
usbmux:*:16594:0:99999:7:::
|
||||
colord:*:16594:0:99999:7:::
|
||||
lightdm:*:16594:0:99999:7:::
|
||||
EOF
|
||||
else
|
||||
echo "/etc/shadow post-debootstrap hash doesn't match record" >&2
|
||||
echo "The output below might help to resolve the issue" >&2
|
||||
cat /etc/shadow
|
||||
echo "shadow md5sum: $shadow_hash" >&2
|
||||
ERRCNT=1
|
||||
fi
|
||||
|
||||
# /etc/group
|
||||
if [ "$group_bootstrap" = "$group_hash" ]; then
|
||||
cat > /etc/group <<EOF
|
||||
root:x:0:
|
||||
daemon:x:1:
|
||||
bin:x:2:
|
||||
sys:x:3:
|
||||
adm:x:4:syslog,ubuntu
|
||||
tty:x:5:
|
||||
disk:x:6:
|
||||
lp:x:7:
|
||||
mail:x:8:
|
||||
news:x:9:
|
||||
uucp:x:10:
|
||||
man:x:12:
|
||||
proxy:x:13:
|
||||
kmem:x:15:
|
||||
dialout:x:20:ubuntu
|
||||
fax:x:21:
|
||||
voice:x:22:
|
||||
cdrom:x:24:ubuntu
|
||||
floppy:x:25:
|
||||
tape:x:26:
|
||||
sudo:x:27:ubuntu
|
||||
audio:x:29:pulse,ubuntu
|
||||
dip:x:30:ubuntu
|
||||
www-data:x:33:
|
||||
backup:x:34:
|
||||
operator:x:37:
|
||||
list:x:38:
|
||||
irc:x:39:
|
||||
src:x:40:
|
||||
gnats:x:41:
|
||||
shadow:x:42:
|
||||
utmp:x:43:
|
||||
video:x:44:ubuntu
|
||||
sasl:x:45:
|
||||
plugdev:x:46:ubuntu
|
||||
staff:x:50:
|
||||
games:x:60:
|
||||
users:x:100:
|
||||
nogroup:x:65534:
|
||||
input:x:101:
|
||||
systemd-journal:x:102:
|
||||
systemd-timesync:x:104:
|
||||
systemd-network:x:105:
|
||||
systemd-resolve:x:106:
|
||||
systemd-bus-proxy:x:107:
|
||||
netdev:x:108:
|
||||
crontab:x:109:
|
||||
syslog:x:110:
|
||||
usermetrics:x:111:
|
||||
messagebus:x:112:
|
||||
uuidd:x:113:
|
||||
snappypkg:x:114:
|
||||
avahi:x:115:
|
||||
pulse:x:116:
|
||||
pulse-access:x:117:
|
||||
whoopsie:x:118:
|
||||
bluetooth:x:119:
|
||||
mlocate:x:120:
|
||||
ssh:x:121:
|
||||
scanner:x:122:
|
||||
rtkit:x:123:
|
||||
colord:x:124:
|
||||
autopilot:x:125:
|
||||
lightdm:x:126:
|
||||
nopasswdlogin:x:127:
|
||||
EOF
|
||||
else
|
||||
echo "/etc/group post-debootstrap hash doesn't match record" >&2
|
||||
echo "The output below might help to resolve the issue" >&2
|
||||
cat /etc/group
|
||||
echo "group md5sum: $group_hash" >&2
|
||||
ERRCNT=1
|
||||
fi
|
||||
|
||||
# /etc/gshadow
|
||||
if [ "$gshadow_bootstrap" = "$gshadow_hash" ]; then
|
||||
cat > /etc/gshadow <<EOF
|
||||
root:*::
|
||||
daemon:*::
|
||||
bin:*::
|
||||
sys:*::
|
||||
adm:*::syslog,ubuntu
|
||||
tty:*::
|
||||
disk:*::
|
||||
lp:*::
|
||||
mail:*::
|
||||
news:*::
|
||||
uucp:*::
|
||||
man:*::
|
||||
proxy:*::
|
||||
kmem:*::
|
||||
dialout:*::ubuntu
|
||||
fax:*::
|
||||
voice:*::
|
||||
cdrom:*::ubuntu
|
||||
floppy:*::
|
||||
tape:*::
|
||||
sudo:*::ubuntu
|
||||
audio:*::pulse,ubuntu
|
||||
dip:*::ubuntu
|
||||
www-data:*::
|
||||
backup:*::
|
||||
operator:*::
|
||||
list:*::
|
||||
irc:*::
|
||||
src:*::
|
||||
gnats:*::
|
||||
shadow:*::
|
||||
utmp:*::
|
||||
video:*::ubuntu
|
||||
sasl:*::
|
||||
plugdev:*::ubuntu
|
||||
staff:*::
|
||||
games:*::
|
||||
users:*::
|
||||
nogroup:*::
|
||||
input:!::
|
||||
systemd-journal:!::
|
||||
systemd-timesync:!::
|
||||
systemd-network:!::
|
||||
systemd-resolve:!::
|
||||
systemd-bus-proxy:!::
|
||||
netdev:!::
|
||||
crontab:!::
|
||||
syslog:!::
|
||||
usermetrics:!::
|
||||
messagebus:!::
|
||||
uuidd:!::
|
||||
snappypkg:!::
|
||||
avahi:!::
|
||||
pulse:!::
|
||||
pulse-access:!::
|
||||
whoopsie:!::
|
||||
bluetooth:!::
|
||||
mlocate:!::
|
||||
ssh:!::
|
||||
scanner:!::
|
||||
rtkit:!::
|
||||
colord:!::
|
||||
autopilot:!::
|
||||
lightdm:!::
|
||||
nopasswdlogin:!::
|
||||
EOF
|
||||
else
|
||||
echo "/etc/gshadow post-debootstrap hash doesn't match record" >&2
|
||||
echo "The output below might help to resolve the issue" >&2
|
||||
cat /etc/gshadow
|
||||
echo "gshadow md5sum: $gshadow_hash" >&2
|
||||
ERRCNT=1
|
||||
fi
|
||||
|
||||
if [ -n "$ERRCNT" ]; then
|
||||
echo "There were changes to the password database," >&2
|
||||
echo "please adjust the values in the livecd-rootfs source in the file:" >&2
|
||||
echo "live-build/ubuntu-desktop-next/hooks/00-uid-gid-fix.chroot_early" >&2
|
||||
echo >&2
|
||||
echo "Please check also if a maintainer script of the package" >&2
|
||||
echo "that added these entries perhaps created a home directory and," >&2
|
||||
echo "if needed, add code for creation of it to the above hook" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Create some missing directories
|
||||
mkdir -p /var/lib/lightdm
|
||||
chown lightdm:lightdm /var/lib/lightdm
|
||||
chmod 750 /var/lib/lightdm
|
||||
|
||||
mkdir -p /var/lib/usermetrics
|
||||
chown usermetrics:usermetrics /var/lib/usermetrics
|
||||
chmod 750 /var/lib/usermetrics
|
||||
|
||||
echo "adjusting ownership of /var/log" >&2
|
||||
chown root:syslog /var/log
|
||||
ls -ln /var | grep log >&2
|
||||
|
||||
# Record the current state for later comparison
|
||||
for file in /etc/passwd /etc/shadow /etc/group /etc/gshadow; do
|
||||
rm -f ${file}-
|
||||
cp ${file} ${file}.orig
|
||||
done
|
@ -1,44 +0,0 @@
|
||||
#!/bin/sh -x
|
||||
|
||||
set -e
|
||||
|
||||
USER=ubuntu
|
||||
UGID=1000
|
||||
|
||||
echo "I: creating default user $USER"
|
||||
adduser --gecos $USER --disabled-login $USER --uid $UGID
|
||||
|
||||
mkdir -p /home/$USER/Music
|
||||
mkdir -p /home/$USER/Pictures
|
||||
mkdir -p /home/$USER/Videos
|
||||
mkdir -p /home/$USER/Downloads
|
||||
mkdir -p /home/$USER/Documents
|
||||
chown -R $UGID:$UGID /home/$USER
|
||||
|
||||
# Enable libnss-extrusers
|
||||
sed -i 's/^group:.*compat/\0 extrausers/' /etc/nsswitch.conf
|
||||
sed -i 's/^passwd:.*compat/\0 extrausers/' /etc/nsswitch.conf
|
||||
sed -i 's/^shadow:.*compat/\0 extrausers/' /etc/nsswitch.conf
|
||||
|
||||
# Move user from /etc to extrausers location
|
||||
grep "^$USER" /etc/group >> /var/lib/extrausers/group
|
||||
grep "^$USER" /etc/passwd >> /var/lib/extrausers/passwd
|
||||
grep "^$USER" /etc/shadow >> /var/lib/extrausers/shadow
|
||||
grep "^$USER" /etc/gshadow >> /var/lib/extrausers/gshadow
|
||||
chmod 0644 /var/lib/extrausers/group
|
||||
chmod 0644 /var/lib/extrausers/passwd
|
||||
chmod 0640 /var/lib/extrausers/shadow
|
||||
chmod 0640 /var/lib/extrausers/gshadow
|
||||
chown root:shadow /var/lib/extrausers/shadow
|
||||
chown root:shadow /var/lib/extrausers/gshadow
|
||||
sed -i "/^$USER/d" /etc/group
|
||||
sed -i "/^$USER/d" /etc/passwd
|
||||
sed -i "/^$USER/d" /etc/shadow
|
||||
sed -i "/^$USER/d" /etc/gshadow
|
||||
touch /var/lib/extrausers/subuid
|
||||
touch /var/lib/extrausers/subgid
|
||||
|
||||
# needs to run *after* the user was moved out to /var/lib/extrausers
|
||||
echo "I: set user $USER password to $USER"
|
||||
echo "$USER:$USER" | chpasswd
|
||||
|
@ -1,8 +0,0 @@
|
||||
#!/bin/sh -x
|
||||
|
||||
USER=ubuntu
|
||||
|
||||
DEFGROUPS="sudo,adm,dialout,cdrom,plugdev,audio,dip,video"
|
||||
|
||||
echo "I: add $USER to ($DEFGROUPS) group(s)"
|
||||
usermod -a -G ${DEFGROUPS} ${USER}
|
@ -1,11 +0,0 @@
|
||||
#!/bin/sh -x
|
||||
|
||||
# Boot using systemd and disable quiet boot
|
||||
# to see what is happening.
|
||||
systemd=/lib/systemd/systemd
|
||||
if [ -f /etc/default/grub ]; then
|
||||
sed -i \
|
||||
-e "s,^\\([ ]*GRUB_CMDLINE_LINUX\\)=\"\"$,\\1=\"init=$systemd\",g" \
|
||||
-e 's,^\([ ]*GRUB_CMDLINE_LINUX_DEFAULT\)="quiet splash",\1="",g' \
|
||||
/etc/default/grub
|
||||
fi
|
@ -1,6 +0,0 @@
|
||||
#!/bin/sh -x
|
||||
|
||||
cat >>/etc/fstab<<EOT
|
||||
# Minimal setup required for systemd to provide a r/w FS
|
||||
/dev/root / rootfs defaults 0 0
|
||||
EOT
|
@ -1,7 +0,0 @@
|
||||
#!/bin/sh -x
|
||||
|
||||
# Change default cache partition (until LP: #1373467 is fixed).
|
||||
if [ -f /etc/system-image/client.ini ]; then
|
||||
sed -ie 's!cache_partition: /android/cache/recovery!cache_partition: /userdata/cache!g' \
|
||||
/etc/system-image/client.ini
|
||||
fi
|
@ -1,15 +0,0 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
mkdir -p /etc/writable
|
||||
|
||||
# cloud-init needs to be able to modify hostname and has the ability to
|
||||
# set the other two.
|
||||
for f in timezone localtime hostname; do
|
||||
if [ -e /etc/$f ]; then
|
||||
echo "I: Moving /etc/$f to /etc/writable/"
|
||||
mv /etc/$f /etc/writable/$f
|
||||
fi
|
||||
echo "I: Linking /etc/$f to /etc/writable/"
|
||||
ln -s writable/$f /etc/$f
|
||||
done
|
@ -1,8 +0,0 @@
|
||||
#!/bin/sh -x
|
||||
|
||||
echo "I: Removing /var/lib/apt/lists/*"
|
||||
find binary/boot/filesystem.dir/var/lib/apt/lists/ -type f | xargs rm -f
|
||||
|
||||
echo "I: Removing /var/cache/apt/*.bin"
|
||||
rm -f binary/boot/filesystem.dir/var/cache/apt/*.bin
|
||||
|
@ -1,6 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
# we don't want click on snappy image
|
||||
apt-get purge -y click
|
@ -1,7 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
cat >/etc/default/locale<<EOF
|
||||
LANG="C.UTF-8"
|
||||
EOF
|
@ -1,14 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
cat >/etc/motd<<EOF
|
||||
Welcome to snappy Ubuntu Desktop Next, a transactionally updated Ubuntu.
|
||||
|
||||
* See https://ubuntu.com/snappy
|
||||
|
||||
It's a brave new world here in snappy Ubuntu Desktop Next! This machine
|
||||
does not use apt-get or deb packages. Please see 'snappy --help'
|
||||
for app installation and transactional updates.
|
||||
|
||||
This is a *highly* experimental image.
|
||||
|
||||
EOF
|
@ -1,4 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
# see bug https://bugs.launchpad.net/snappy-ubuntu/+bug/1442231
|
||||
rm -f /etc/init.d/grub-common
|
@ -1,8 +0,0 @@
|
||||
#! /bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
echo "create needed directories" >&2
|
||||
mkdir -p /lib/modules
|
||||
mkdir -p /lib/firmware
|
||||
mkdir -p /writable
|
@ -1,19 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -ex
|
||||
|
||||
echo "I: Creating warning to use snappy when apt-get is used"
|
||||
|
||||
PREFIX=binary/boot/filesystem.dir
|
||||
|
||||
mkdir -p $PREFIX/usr/local/bin
|
||||
cat >$PREFIX/usr/local/bin/no-apt <<EOF
|
||||
#!/bin/sh
|
||||
cat <<EOF
|
||||
Ubuntu Core does not use apt-get, see 'snappy --help'!
|
||||
EOF
|
||||
chmod 755 $PREFIX/usr/local/bin/no-apt
|
||||
|
||||
for cmd in apt apt-cache apt-get; do
|
||||
ln -s no-apt $PREFIX/usr/local/bin/$cmd
|
||||
done
|
@ -1,15 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
echo "Adding admin group policy to NM system service"
|
||||
|
||||
sed -i 's/<policy user="root">/<policy group="sudo">\n\t\t\t\t<allow send_destination="org.freedesktop.NetworkManager"\/>\n\t\t\t\t<allow send_interface="org.freedesktop.NetworkManager"\/>\n\t\t\t\t<allow send_interface="org.freedesktop.NetworkManager.SecretAgent"\/>\n\t\t<\/policy>\n\t\t<policy user="root">/g' /etc/dbus-1/system.d/org.freedesktop.NetworkManager.conf
|
||||
|
||||
mkdir -p /etc/polkit-1/localauthority/50-local.d
|
||||
cat > /etc/polkit-1/localauthority/50-local.d/org.freedesktop.NetworkManager.pkla << EOF
|
||||
[indicator-network-service]
|
||||
Identity=unix-group:sudo
|
||||
Action=org.freedesktop.NetworkManager.*
|
||||
ResultAny=yes
|
||||
ResultInactive=no
|
||||
ResultActive=yes
|
||||
EOF
|
@ -1,80 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# move the kernel out into a new device tarfile with system/boot
|
||||
|
||||
set -ex
|
||||
|
||||
echo "I: Moving kernel into device tarball"
|
||||
|
||||
HERE="$(pwd)"
|
||||
TMPDIR="$(mktemp -d)"
|
||||
mkdir -p $TMPDIR/system/
|
||||
mkdir -p $TMPDIR/assets/
|
||||
|
||||
# cp files, we can't simply use tar --transform as it changes the symlink target
|
||||
(
|
||||
cd binary/boot/filesystem.dir
|
||||
|
||||
cp -ar --parent lib/modules/ $TMPDIR/system/
|
||||
cp -ar --parent lib/firmware/ $TMPDIR/system/
|
||||
|
||||
# new assets handling
|
||||
if [ -f boot/vmlinu?-*.signed ]; then
|
||||
kernel=boot/vmlinu?-*.signed
|
||||
else
|
||||
kernel=boot/vmlinu?-*
|
||||
fi
|
||||
|
||||
initrd=boot/initrd.img-*
|
||||
|
||||
cp -ar $initrd $TMPDIR/assets/
|
||||
cp -ar $kernel $TMPDIR/assets/
|
||||
cp -ar boot/abi-* boot/System.map-* $TMPDIR/assets/
|
||||
|
||||
dtbs=$(find lib/firmware -type d -name 'device-tree' -print0)
|
||||
if [ -n "$dtbs" ]; then
|
||||
mv "$dtbs" $TMPDIR/assets/dtbs
|
||||
fi
|
||||
|
||||
# create hardware.yaml
|
||||
# this assumes armh == u-boot
|
||||
# and all others grub
|
||||
# common bits
|
||||
cat > $TMPDIR/hardware.yaml << EOF
|
||||
kernel: assets/$(basename $kernel)
|
||||
initrd: assets/$(basename $initrd)
|
||||
partition-layout: system-AB
|
||||
EOF
|
||||
|
||||
# arch specific ones
|
||||
if [ "$ARCH" = "armhf" ]; then
|
||||
cat >> $TMPDIR/hardware.yaml << EOF
|
||||
dtbs: assets/dtbs
|
||||
bootloader: u-boot
|
||||
EOF
|
||||
else
|
||||
cat >> $TMPDIR/hardware.yaml << EOF
|
||||
bootloader: grub
|
||||
EOF
|
||||
fi
|
||||
)
|
||||
|
||||
# and tar it up
|
||||
(
|
||||
cd $TMPDIR
|
||||
tar -c --sort=name -z -f $HERE/device.tar.gz system assets hardware.yaml
|
||||
)
|
||||
|
||||
rm -rf $TMPDIR
|
||||
|
||||
# remove files from the root filesystem
|
||||
(cd binary/boot/filesystem.dir
|
||||
rm -f boot/vmlinu?-*
|
||||
rm -f boot/initrd.img-*
|
||||
rm -f boot/abi-*
|
||||
rm -f boot/System.map-*
|
||||
rm -f initrd.img
|
||||
rm -f vmlinu?
|
||||
rm -rf lib/modules
|
||||
rm -rf lib/firmware
|
||||
)
|
@ -1,52 +0,0 @@
|
||||
#!/bin/sh -eu
|
||||
|
||||
ERRCNT=""
|
||||
|
||||
passwd_hash=$(set -- $(md5sum /etc/passwd) && echo $1)
|
||||
shadow_hash=$(set -- $(cat /etc/shadow | sed "s/:.*:0:99999:/:0:99999:/g" | md5sum) && echo $1)
|
||||
group_length=$(cat /etc/group | wc -l)
|
||||
gshadow_length=$(cat /etc/gshadow | wc -l)
|
||||
|
||||
passwd_orig_hash=$(set -- $(md5sum /etc/passwd.orig) && echo $1)
|
||||
shadow_orig_hash=$(set -- $(cat /etc/shadow.orig | sed "s/:.*:0:99999:/:0:99999:/g" | md5sum) && echo $1)
|
||||
group_orig_length=$(cat /etc/group.orig | wc -l)
|
||||
gshadow_orig_length=$(cat /etc/gshadow.orig | wc -l)
|
||||
|
||||
if [ "$passwd_hash" != "$passwd_orig_hash" ]; then
|
||||
echo "/etc/passwd has changed during setup." >&2
|
||||
echo "The new /etc/passwd md5sum is: $passwd_hash" >&2
|
||||
diff -Nrup /etc/passwd.orig /etc/passwd >&2 || true
|
||||
ERRCNT=1
|
||||
fi
|
||||
|
||||
if [ "$shadow_hash" != "$shadow_orig_hash" ]; then
|
||||
echo "/etc/shadow has changed during setup." >&2
|
||||
echo "The new /etc/shadow md5sum is: $shadow_hash" >&2
|
||||
diff -Nrup /etc/shadow.orig /etc/shadow >&2 || true
|
||||
ERRCNT=1
|
||||
fi
|
||||
|
||||
if [ "$group_length" != "$group_orig_length" ]; then
|
||||
echo "/etc/group has changed during setup." >&2
|
||||
diff -Nrup /etc/group.orig /etc/group >&2 || true
|
||||
ERRCNT=1
|
||||
fi
|
||||
|
||||
if [ "$gshadow_length" != "$gshadow_orig_length" ]; then
|
||||
echo "/etc/gshadow has changed during setup." >&2
|
||||
diff -Nrup /etc/gshadow.orig /etc/gshadow >&2 || true
|
||||
ERRCNT=1
|
||||
fi
|
||||
|
||||
if [ -n "$ERRCNT" ]; then
|
||||
echo "There were changes to the password database," >&2
|
||||
echo "please adjust the values in the livecd-rootfs source in the file:" >&2
|
||||
echo "live-build/ubuntu-core/hooks/00-uid-gid-fix.chroot_early" >&2
|
||||
echo >&2
|
||||
echo "Please check also if a maintainer script of the package" >&2
|
||||
echo "that added these entries perhaps created a home directory and," >&2
|
||||
echo "if needed, add code for creation of it to the above hook" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
rm /etc/passwd.orig /etc/shadow.orig /etc/group.orig /etc/gshadow.orig
|
@ -1,9 +0,0 @@
|
||||
127.0.0.1 localhost.localdomain localhost
|
||||
::1 localhost6.localdomain6 localhost6
|
||||
|
||||
# The following lines are desirable for IPv6 capable hosts
|
||||
::1 localhost ip6-localhost ip6-loopback
|
||||
fe00::0 ip6-localnet
|
||||
ff02::1 ip6-allnodes
|
||||
ff02::2 ip6-allrouters
|
||||
ff02::3 ip6-allhosts
|
@ -1,2 +0,0 @@
|
||||
[Seat:*]
|
||||
autologin-user=ubuntu
|
Loading…
Reference in new issue