8 changed files with 207 additions and 7 deletions
@ -0,0 +1,27 @@ |
|||||||
|
#!/usr/bin/env bash |
||||||
|
|
||||||
|
# to backup added deb files in a local directory |
||||||
|
# scan current directory and list all deb files present |
||||||
|
# and check if there is new deb files added by the customize_iso script on the host who build the iso (local,distant,vm) |
||||||
|
# if new files, copy them to local directory |
||||||
|
|
||||||
|
# usage |
||||||
|
# copy script to local backup directory |
||||||
|
# adjust vars |
||||||
|
# execute |
||||||
|
|
||||||
|
debpath=${HOME}/myfiles |
||||||
|
user=user |
||||||
|
host=host |
||||||
|
hostbackuppath=. |
||||||
|
|
||||||
|
find ${hostbackuppath} -name "*.deb" -print > /tmp/deblist |
||||||
|
|
||||||
|
while IFS= read -r -d '' package |
||||||
|
do |
||||||
|
if ! grep --quiet "$(basename "${package}")" /tmp/deblist |
||||||
|
then |
||||||
|
echo "scp ${user}@${host}:${package} ${hostbackuppath}/" |
||||||
|
scp ${user}@${host}:"${package}" "${hostbackuppath}/" |
||||||
|
fi |
||||||
|
done < <(ssh ${user}@${host} "find ${debpath} -name "*.deb" -print0") |
||||||
@ -0,0 +1,9 @@ |
|||||||
|
ISOFILE=$HOME/debian-12.14.0-i386-netinst.iso |
||||||
|
PRESEED=$HOME/preseedvmlfsdev.cfg |
||||||
|
NEWFLAVOR=vmlfsdev |
||||||
|
MYFILES=$HOME/myfiles |
||||||
|
WANTED=$HOME/wanted-lfs.txt |
||||||
|
SUGGESTED=false |
||||||
|
POPCON=false |
||||||
|
EXTRA_SCRIPT=$HOME/lfsdev.sh |
||||||
|
OFFLINE=1 |
||||||
@ -0,0 +1,9 @@ |
|||||||
|
ISOFILE=$HOME/debian-13.5.0-amd64-netinst.iso |
||||||
|
PRESEED=$HOME/preseedvmlfsdev.cfg |
||||||
|
NEWFLAVOR=vmlfsdev |
||||||
|
MYFILES=$HOME/myfiles |
||||||
|
WANTED=$HOME/wanted-lfs.txt |
||||||
|
SUGGESTED=false |
||||||
|
POPCON=false |
||||||
|
EXTRA_SCRIPT=$HOME/lfsdev.sh |
||||||
|
OFFLINE=1 |
||||||
@ -0,0 +1,61 @@ |
|||||||
|
#!/usr/bin/env bash |
||||||
|
|
||||||
|
cat > "${HOME}"/myfiles/lfs-postinstall.sh <<"EOPF" |
||||||
|
#!/usr/bin/env bash |
||||||
|
|
||||||
|
if ! dpkg -l |grep local-apt-repository |
||||||
|
then |
||||||
|
echo "ERROR: execute local-apt-repository.sh first" |
||||||
|
fi |
||||||
|
|
||||||
|
if ! mount |grep cdrom |
||||||
|
then |
||||||
|
mount /dev/sr0 |
||||||
|
fi |
||||||
|
|
||||||
|
if ! mount |grep cdrom |
||||||
|
then |
||||||
|
echo "ERROR: insert cdrom" |
||||||
|
exit 1 |
||||||
|
fi |
||||||
|
|
||||||
|
cat > /etc/sudoers.d/lfsdev <<"EOF" |
||||||
|
lfsdev ALL = NOPASSWD: /usr/bin/chown * /mnt/lfsdev* |
||||||
|
lfsdev ALL = NOPASSWD: /usr/bin/mount * /mnt/lfsdev* |
||||||
|
lfsdev ALL = NOPASSWD: /usr/bin/install * /mnt/lfsdev* |
||||||
|
lfsdev ALL = NOPASSWD: /usr/sbin/chroot /mnt/lfsdev* |
||||||
|
EOF |
||||||
|
|
||||||
|
apt --yes install texinfo m4 bison gawk make patch python3 xz-utils gcc g++ build-essential |
||||||
|
|
||||||
|
mv --verbose /etc/bash.bashrc /etc/bash.bashrc.NOUSE |
||||||
|
pushd /bin || return 1 |
||||||
|
if [[ $(readlink sh) =~ ^dash$ ]] |
||||||
|
then |
||||||
|
rm --verbose sh |
||||||
|
ln --symbolic --verbose bash sh |
||||||
|
fi |
||||||
|
popd || return 1 |
||||||
|
|
||||||
|
cat > /home/lfsdev/.lfsdevbuild_config <<"EOCF" |
||||||
|
# build directory |
||||||
|
LFS=/mnt/lfsdev |
||||||
|
# location of local package sources |
||||||
|
LFS_PACKAGE_DIR=/home/lfsdev/packages |
||||||
|
# Number of processors to use |
||||||
|
LFS_NPROC=1 |
||||||
|
# Bypass step by step validation until a breakpoint |
||||||
|
LFS_BREAKPOINT=110300 |
||||||
|
# strip binaries or not |
||||||
|
LFS_STRIP_BINARIES=true |
||||||
|
# bypass network config validation by taking network config from host |
||||||
|
LFS_NETWORKSAMEASHOST=true |
||||||
|
# bypass network configuration for full offline build |
||||||
|
LFS_NETWORKOFFLINE=true |
||||||
|
# bypass linux config validation by taking linux config from host |
||||||
|
LFS_LINUXCONFIGPROVIDED=true |
||||||
|
EOCF |
||||||
|
|
||||||
|
chown lfsdev:lfsdev /home/lfsdev/.lfsbuild_config |
||||||
|
|
||||||
|
EOPF |
||||||
@ -0,0 +1,94 @@ |
|||||||
|
#_preseed_V1 |
||||||
|
### Locale configuration |
||||||
|
d-i debian-installer/locale string fr_FR.UTF-8 |
||||||
|
#d-i debian-installer/language string fr |
||||||
|
#d-i debian-installer/country string FR |
||||||
|
d-i keyboard-configuration/xkb-keymap select fr(latin9) |
||||||
|
#d-i keyboard-configuration/toggle select No toggling |
||||||
|
d-i keyboard-configuration/layoutcode string fr |
||||||
|
d-i keyboard-configuration/modelcode string pc105 |
||||||
|
d-i keyboard-configuration/variantcode string latin9 |
||||||
|
### Network configuration |
||||||
|
d-i netcfg/enable boolean true |
||||||
|
# If you want to force a hostname, regardless of what either the DHCP |
||||||
|
# server returns or what the reverse DNS entry for the IP is, uncomment |
||||||
|
# and adjust the following line. |
||||||
|
# d-i netcfg/hostname string somehost |
||||||
|
### account configuration |
||||||
|
d-i passwd/root-password password shadow |
||||||
|
d-i passwd/root-password-again password shadow |
||||||
|
d-i passwd/user-fullname string lfsdev |
||||||
|
d-i passwd/username string lfsdev |
||||||
|
d-i passwd/user-uid string 1000 |
||||||
|
d-i passwd/user-password password shadow |
||||||
|
d-i passwd/user-password-again password shadow |
||||||
|
#d-i passwd/user-default-groups string audio cdrom video |
||||||
|
### Clock and time zone setup |
||||||
|
d-i clock-setup/utc boolean true |
||||||
|
d-i time/zone string Europe/Paris |
||||||
|
# Controls whether to use NTP to set the clock during the install |
||||||
|
#d-i clock-setup/ntp boolean true |
||||||
|
# NTP server to use. The default is almost always fine here. |
||||||
|
#d-i clock-setup/ntp-server string ntp.example.com |
||||||
|
### Partitioning |
||||||
|
d-i partman-auto/method string regular |
||||||
|
d-i partman-auto/disk string /dev/vda |
||||||
|
d-i partman-auto/expert_recipe string \ |
||||||
|
root-lfsdev :: \ |
||||||
|
3000 4000 5000 ext4 \ |
||||||
|
$primary{ } $bootable{ } \ |
||||||
|
method{ format } format{ } \ |
||||||
|
use_filesystem{ } filesystem{ ext4 } \ |
||||||
|
mountpoint{ / } \ |
||||||
|
label{ debian } \ |
||||||
|
. \ |
||||||
|
10000 30000 100000 ext4 \ |
||||||
|
$primary{} \ |
||||||
|
method{ format } format{ } \ |
||||||
|
use_filesystem{ } filesystem{ ext4 } \ |
||||||
|
mountpoint{ /mnt/lfsdev } \ |
||||||
|
label{ lfs } \ |
||||||
|
. \ |
||||||
|
512 1000 1500 linux-swap \ |
||||||
|
method{ swap } format{ } \ |
||||||
|
. |
||||||
|
#d-i partman-partitioning/confirm_write_new_label boolean true |
||||||
|
#d-i partman/choose_partition select finish |
||||||
|
#d-i partman/confirm boolean true |
||||||
|
#d-i partman/confirm_nooverwrite boolean true |
||||||
|
### Base system installation |
||||||
|
### Apt setup |
||||||
|
d-i apt-setup/use_mirror boolean false |
||||||
|
d-i apt-setup/cdrom/set-first boolean false |
||||||
|
d-i apt-cdrom-setup apt-setup/cdrom/set-next boolean false |
||||||
|
d-i apt-cdrom-setup apt-setup/disable-cdrom-entries boolean false |
||||||
|
# URL to the public key of the local repository; you must provide a key or |
||||||
|
# apt will complain about the unauthenticated repository and so the |
||||||
|
# sources.list line will be left commented out. |
||||||
|
#d-i apt-setup/local0/key string http://local.server/key |
||||||
|
# By default the installer requires that repositories be authenticated |
||||||
|
# using a known gpg key. This setting can be used to disable that |
||||||
|
# authentication. Warning: Insecure, not recommended. |
||||||
|
#d-i debian-installer/allow_unauthenticated boolean true |
||||||
|
d-i base-installer/install-recommends boolean false |
||||||
|
### Package selection |
||||||
|
# Or choose to not get the tasksel dialog displayed at all (and don't install |
||||||
|
# any packages): |
||||||
|
#d-i pkgsel/run_tasksel boolean false |
||||||
|
# Individual additional packages to install |
||||||
|
d-i pkgsel/include string sudo openssh-server |
||||||
|
# Whether to upgrade packages after debootstrap. |
||||||
|
# Allowed values: none, safe-upgrade, full-upgrade |
||||||
|
d-i pkgsel/upgrade select none |
||||||
|
popularity-contest popularity-contest/participate boolean false |
||||||
|
### Boot loader installation |
||||||
|
# Grub is the boot loader (for x86). |
||||||
|
d-i grub-installer/with_other_os boolean true |
||||||
|
d-i grub-installer/bootdev string /dev/vda |
||||||
|
### Post install |
||||||
|
# This command is run just before the install finishes, but when there is |
||||||
|
# still a usable /target directory. You can chroot to /target and use it |
||||||
|
# directly, or use the apt-install and in-target commands to easily install |
||||||
|
# packages and run commands in the target system. |
||||||
|
#d-i preseed/late_command string apt-install zsh; in-target chsh -s /bin/zsh |
||||||
|
# d-i preseed/late_command string apt-install sudo build-essential gawk texinfo |
||||||
Loading…
Reference in new issue