PDA

View Full Version : Adding Custom .DEB Packages, Dependencies



fataardvark
2014-03-10, 15:36
I have just started experimenting with the live build process, and I have to say that I'm loving it so far! However, the primary reason that I wanted to create a custom image is so that I live-boot with a remote access program (Teamviewer) preinstalled. I followed the standard procedure: downloaded the 64-bit .deb install package, renamed it using "dpkg-name", placed it in the "config/packages.chroot" folder, and ran "lb build". The ISO builds and boots with no problems, but alas, no Teamviewer. :(

I should also note: when attempting to install Teamviewer in a default live 64-bit environment, it gives:

dpkg: dependency problems prevent configuration of teamviewer:
teamviewer depends on libc6-i386 (>= 2.4); however:
Package libc6-i386 is not installed.
teamviewer depends on lib32asound2; however:
Package lib32asound2 is not installed.
teamviewer depends on lib32z1; however:
Package lib32z1 is not installed.
teamviewer depends on ia32-libs; however:
Package ia32-libs is not installed.

This is resolved by running:

dpkg --add-architecture i386
apt-get update
apt-get -f install

and again running dpkg -i teamviewer_linux_x64.deb

TL;DR
Basically, I just need to know how to add a custom .deb package AND it's dependencies to a live ISO.

Thanks! :D

jackal713
2014-03-11, 04:05
You need to add the files to the kali.list.chroot file in "live-build-config> config> package list" and to be safe I would add all of the dependencies to the list with Teamviewer last. I don't know if the order makes a difference. Also, as far as I know this only works for packages available to you with apt-get. If you had to manually download it you may have to manually install it after booting the ISO. But as long as the dependencies are installed and you have the Teamviewer package some where in the includes.chroot folder at build, then you should just need to run the install command. If that is the case you could make a script to do it for you.
Let us know
j7

fataardvark
2014-03-12, 13:35
Thanks so much for your reply, jackal. :) I did already try adding its dependencies to the "kali.list.chroot" file. I didn't realize I had to add the package in kali.list.chroot as well. Do I just need to add the file name, or do I need to include a path too?
A startup script is another good idea; I've actually been wondering how to implement that. I'm fairly good with scripts, so I'm sure I could solve my problem that way if I knew how. ;)

With that in mind, is there a location for scripts that will autorun on startup? Also, I'm a little perplexed as to the difference between the following folders: packages.chroot, debian-installer, includes.debian-installer, and includes.chroot/usr/share/debian-installer-launcher. The live build Debian documentation states that desired custom packages should be placed in the packages.chroot folder, but there's so many folders that implicate package installation.

Correct me if I'm wrong:

packages.chroot - Installs packages automatically as part of live build process
debian-installer - Installs only .deb packages automatically as part of live build process?
includes.debian-installer - For .deb packages to be saved (not installed) to the live ISO?
includes.chroot/usr/share/debian-installer-launcher. - .deb packages to be launched on startup? Boy would that be nice...

These are, more or less, guesses; sorry for the dumb questions. There are just so many great possibilities and it feels a little overwhelming for a newbie. :)

jackal713
2014-03-13, 02:17
Sorry didn't mean to confuse you. I meant the package names to the kali.list.chroot file. Sounds to me like your doing it right but then again I'm new at this as well. Maybe check the names of the dependencies, if some of these files are part of another package, maybe you need to add the name of that package to the kali.list.chroot file. But like you I'm kind of guessing. As for your question on the folders, that is beyond my knowledge. I don't think your questions are dumb and judging by the number of views this thread has, other people don't either. Wish I could have been more help.
j7

fataardvark
2014-03-13, 15:26
I know what you mean. The idea of a custom ISO is great, but a little documentation would go a long way. Could anyone with experience shed some light on the purposes of the various folders on the config folder?

muts
2014-03-13, 15:45
live-build documentation - http://live.debian.net/manual/3.x/html/live-manual.en.html