Understood.
After the changes I made, it is working. In summary, to get it working, I:
If there was interest in keeping this working for non-debian systems I would tidy up my changes and submit them for inclusion. The changes are not big, with the exception of how to handle the missing keyrings, there is probably a bootstrap problem if we are trying to give any security guarantees. Should I do that?
Otherwise, who has access to https://live-team.pages.debian.net/live-manual/html/live-manual/? The comments there about being able to run from non-debian systems should be removed.
Thanks,
Alex
Hi Alex. I'm not suggesting that you give up on this but understand that if you do keep going you will probably be the 1st person in a very long time, if not ever, to actually try this. The original developer has long since gone and the things you are trying to do originate from his work. On 27/11/2020, Alex King <alex@king.net.nz> wrote:Spoke too soon.... there were errors related to /dev/pts, not sure if those are significant? [2020-11-27 04:13:18] lb chroot_devpts install P: Begin mounting /dev/pts... mount: wrong fs type, bad option, bad superblock on devpts-live, missing codepage or helper program, or other error (for several filesystems (e.g. nfs, cifs) you might need a /sbin/mount.<type> helper program) In some cases useful info is found in syslog - try dmesg | tail or so Then the script chokes again because the host system has an old rsync, which does not support --chown: P: Begin copying chroot includes after packages have been installed... P: Copying includes.chroot into chroot using rsync... rsync: --chown=0:0: unknown option rsync error: syntax or usage error (code 1) at main.c(1459) [client=3.0.9] E: An unexpected failure occurred, exiting... Here's a diff to discuss: [root@el6 live-build]# git diff diff --git a/functions/chroot.sh b/functions/chroot.sh index d62a4fa..97b7401 100755 --- a/functions/chroot.sh +++ b/functions/chroot.sh @@ -62,10 +62,10 @@ Chroot_copy_dir() { local NAME="${2:-$(basename ${DIR})}" Check_installed host /usr/bin/rsync rsync - if [ "${INSTALL_STATUS}" -eq "0" ] - then - Echo_message "Copying ${NAME} into chroot using rsync..." + if [ "${INSTALL_STATUS}" -eq "0" ] && \ rsync -Klrv --chown=0:0 "${DIR}" chroot/ + then + Echo_message "Copy of ${NAME} into chroot using rsync succeeded" else cd "${DIR}" Echo_message "Creating a tarball with files from ${NAME}..." diff --git a/scripts/build/bootstrap_debootstrap b/scripts/build/bootstrap_deboo index 49f0f88..1fedb47 100755 --- a/scripts/build/bootstrap_debootstrap +++ b/scripts/build/bootstrap_debootstrap @@ -32,7 +32,7 @@ Check_crossarchitectures Echo_message "Begin bootstrapping system..." -Check_package host bin/debootstrap debootstrap +Check_installed host /usr/sbin/debootstrap debootstrap # Checking stage file Check_stagefile "bootstrap" On 27/11/20 4:51 pm, Alex King wrote:Further to this, after commenting out the package check in /usr/lib/live/build/bootstrap_debootstrap, I got a further error about /usr/share/keyrings/debian-archive-keyring.gpg not being available. So I copied /usr/share/keyrings/ from the debian-archive-keyring deb, it's now getting a lot further. I'm guessing it will now get to completion. Seems like some fairly simple fixes to keep it working on non-deb systems, e.g. checking for the binary instead of the package, and working around not having the gpg files available. Thanks, Alex On 27/11/20 4:30 pm, Alex King wrote:Reading https://live-team.pages.debian.net/live-manual/html/live-manual/installation.en.html#110: "Note that using Debian or a Debian-derived distribution is not required" I am trying to run it on a centos6 system. I have all the stated requirements. Live build is installed via git clone and make install. running lb build I get: ... [2020-11-27 03:15:22] lb bootstrap_debootstrap P: Begin bootstrapping system... E: You need to install debootstrap on your host system. E: An unexpected failure occurred, exiting... I had debootstrap 1.0.100 or so rpm installed (from epel?) I thought that may be too old, so I removed that and installed debootstrap 1.0.123 by extracting the deb straight to the filesystem. Now I have: [root@el6 ~]# debootstrap --version debootstrap 1.0.123 [root@el6 ~]# which debootstrap /usr/sbin/debootstrap Exact same result, "You need to install debootstrap...." Reading through /usr/lib/live/build/bootstrap_debootstrap, it's running "Check_package host bin/debootstrap debootstrap" Reading through /usr/share/live/build/functions/packages.sh, it's running dpkg-query to find if the package is installed. It looks like this is never going to work other than on deb based systems, and the manual on the above URL is simply inconsistent with reality.... Any hints? Web page need updating? Thanks, Alex