first commit
This commit is contained in:
214
make.sh
Executable file
214
make.sh
Executable file
@ -0,0 +1,214 @@
|
||||
#!/bin/bash
|
||||
|
||||
baseDir=/media/Accensio/live
|
||||
|
||||
build=$baseDir/build
|
||||
|
||||
config=$baseDir/config
|
||||
|
||||
iso=$baseDir/iso
|
||||
|
||||
if [ "$EUID" -ne 0 ]
|
||||
then
|
||||
echo "Please run as root"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
_usage()
|
||||
{
|
||||
cat <<"EOF"
|
||||
-f Make full live image
|
||||
-x Make xfce live image
|
||||
-c Make cinnamon live image
|
||||
-v Make xfce-vm live image
|
||||
-a Make live image for android
|
||||
EOF
|
||||
}
|
||||
|
||||
if [ -z "$1" ]
|
||||
then
|
||||
_usage
|
||||
exit 1
|
||||
fi
|
||||
|
||||
KERNEL_PARAM="boot=live components lang=fr_FR.UTF-8 locales=fr_FR.UTF-8 keyboard-layouts=fr keyboard-model=pc105 timezone=Europe/Paris utc=yes"
|
||||
|
||||
keep_iso="true"
|
||||
|
||||
pack_full=(live cli firmware xfce4 gui cinnamon gui_opt)
|
||||
|
||||
pack_xfce=(live cli firmware xfce4 gui)
|
||||
|
||||
pack_cinnamon=(live cli firmware cinnamon gui)
|
||||
|
||||
pack_vmxfce=(live cli firmware xfce4 gui vm)
|
||||
|
||||
export http_proxy="http://192.168.110.1:3142"
|
||||
|
||||
_config()
|
||||
{
|
||||
|
||||
mkdir -p $build/config
|
||||
|
||||
cd $build
|
||||
|
||||
#cp -r $config/auto $build/auto
|
||||
|
||||
sed -i 's:\(--bootappend-live\).*:\1 "'"$KERNEL_PARAM"'":' $build/auto/config
|
||||
|
||||
ln -sr $config/includes.chroot $build/config/includes.chroot
|
||||
|
||||
lb clean
|
||||
lb clean --cache
|
||||
|
||||
lb config noauto \
|
||||
--architectures amd64 \
|
||||
--distribution bullseye \
|
||||
--binary-images iso-hybrid \
|
||||
--apt-http-proxy "http://192.168.110.1:3142" \
|
||||
--archive-areas "main contrib non-free" \
|
||||
--debian-installer none \
|
||||
--apt-recommends false \
|
||||
--updates true \
|
||||
--security true \
|
||||
--source false \
|
||||
--backports false \
|
||||
--memtest none \
|
||||
--bootappend-live "boot=live components lang=fr_FR.UTF-8 locales=fr_FR.UTF-8 keyboard-layouts=fr keyboard-model=pc105 timezone=Europe/Paris utc=yes" \
|
||||
|
||||
rm $build/config/package-lists/*
|
||||
|
||||
eval pack=\${pack_${type}[@]}
|
||||
|
||||
for file in ${pack[@]}; do
|
||||
ln -sr $config/package-lists/$file.list.chroot $build/config/package-lists/$file.list.chroot
|
||||
done
|
||||
|
||||
}
|
||||
|
||||
_build()
|
||||
{
|
||||
|
||||
#time nice -20 ionice -c 1 lb build
|
||||
lb bootstrap
|
||||
lb chroot
|
||||
|
||||
}
|
||||
|
||||
_create_squashfs()
|
||||
{
|
||||
|
||||
lb binary_chroot
|
||||
lb binary_rootfs
|
||||
lb binary_linux-image
|
||||
lb binary_syslinux
|
||||
|
||||
out="$iso/$type"
|
||||
|
||||
install -d -m 0755 -o $SUDO_UID -g $SUDO_GID $out
|
||||
|
||||
cp $build/binary/live/{initrd.img,vmlinuz,filesystem.squashfs} $out/
|
||||
|
||||
chown $SUDO_UID:$SUDO_GID $out/{initrd.img,vmlinuz,filesystem.squashfs}
|
||||
|
||||
lb chroot_sysfs remove
|
||||
lb chroot_selinuxfs remove
|
||||
lb chroot_proc remove
|
||||
lb chroot_devpts remove
|
||||
|
||||
}
|
||||
|
||||
_create_iso()
|
||||
{
|
||||
|
||||
lb binary
|
||||
|
||||
out="$iso/$type"
|
||||
|
||||
install -d -m 0755 -o $SUDO_UID -g $SUDO_GID $out
|
||||
|
||||
cp $build/live-image-amd64.hybrid.iso $out/live-${type}-image.iso
|
||||
|
||||
chown $SUDO_UID:$SUDO_GID $out/live-${type}-image.iso
|
||||
|
||||
}
|
||||
|
||||
_extract()
|
||||
{
|
||||
|
||||
cd $out
|
||||
|
||||
7z e live-${type}-image.iso live/{initrd.img,vmlinuz,filesystem.squashfs}
|
||||
|
||||
chown $SUDO_UID:$SUDO_GID . -R
|
||||
|
||||
rm live-${type}-image.iso
|
||||
|
||||
}
|
||||
|
||||
_delete()
|
||||
{
|
||||
echo "Delete $build"
|
||||
# read -p "You sure ? " -n 1 -r
|
||||
# echo
|
||||
# if [[ $REPLY =~ ^[YyOo]$ ]]
|
||||
# then
|
||||
rm -r $build
|
||||
# else
|
||||
# echo "Cancel"
|
||||
# fi
|
||||
}
|
||||
|
||||
while getopts "fxcva" OPTION; do
|
||||
case $OPTION in
|
||||
f)
|
||||
type="full"
|
||||
_config
|
||||
_build
|
||||
_create_squashfs
|
||||
_delete
|
||||
;;
|
||||
x)
|
||||
type="xfce"
|
||||
_config
|
||||
_build
|
||||
mkdir -p $build/chroot/etc/skel/.ssh
|
||||
cp /home/lionel/.ssh/{config,key_rsa_majalis,key_rsa_majalis.pub} $build/chroot/etc/skel/.ssh
|
||||
_create_squashfs
|
||||
_delete
|
||||
;;
|
||||
v)
|
||||
type="vmxfce"
|
||||
_config
|
||||
_build
|
||||
_create_iso
|
||||
_delete
|
||||
;;
|
||||
c)
|
||||
type="cinnamon"
|
||||
_config
|
||||
_build
|
||||
_create_iso
|
||||
_delete
|
||||
;;
|
||||
a)
|
||||
type="android"
|
||||
KERNEL_PARAM+=" toram x-session-manager=/usr/bin/cinnamon-session"
|
||||
_config
|
||||
_build
|
||||
mkdir -p $build/chroot/etc/skel/.ssh
|
||||
cp /home/lionel/.ssh/{config,key_rsa_majalis,key_rsa_majalis.pub} $build/chroot/etc/skel/.ssh
|
||||
_create_iso
|
||||
_delete
|
||||
;;
|
||||
*)
|
||||
_usage
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [ -z "$type" ]
|
||||
then
|
||||
_usage
|
||||
fi
|
Reference in New Issue
Block a user