Thanks.
EDIT: Ok, I just realized "XORRISO_OPTIONS" is actually a variable and all the options are there...
]]>I believe gparted is a dependency of live-installer
Yes it is. All you need is to mark gparted as manually installed to not be uninstalled within the live-installer. Just run in chrooted environment when customizing the live-cd:
# apt-mark manual gparted
gparted shouldn't be uninstalled anymore. Please let us know, if successful.
Also, please understand I am not trying to rush you when I post another comment, I just try to put the information here as I find it.
It's absolutely all right, keep your posting as needed. You are welcome.
]]>Also, please understand I am not trying to rush you when I post another comment, I just try to put the information here as I find it. I know this is not a priority and if there are other matters that need to be attended to I can wait for this, it is just a "would be nice if I could" type of thing.
]]>... what exactly I can do to prevent it happening...
We will take a look on that and answer in a couple of hours.
]]>#!/usr/bin/env python
import apt
import sys
import os
if len(sys.argv) < 2:
print("Sorry I need a parameter")
sys.exit(99)
elif len(sys.argv) > 2:
print("Sorry I can only accept 1 parameter")
sys.exit(99)
home = os.path.expanduser("~")
focus_package = sys.argv[1]
dep_list = []
upd_pkg_list = []
pkg_list_file = home + '/my_temp_dir/live/filesystem.packages-remove'
cache = apt.Cache()
try:
pkg = cache[focus_package]
except KeyError:
print("The package '" + str(focus_package) + "' is not available to apt")
sys.exit(99)
def check_package(this_pkg):
this_list = []
try:
check_pkg = cache[this_pkg]
except KeyError:
return []
for dep in check_pkg.candidate.dependencies:
if dep[0].name not in dep_list and dep[0].name not in this_list:
this_list.append(dep[0].name)
return this_list
def check_packages_in_list(pkg_list):
this_list = []
for item in pkg_list:
new_pkg = cache[item]
for dep in new_pkg.candidate.dependencies:
if dep[0].name not in dep_list and dep[0].name not in this_list:
this_list.append(dep[0].name)
return this_list
result = check_package(focus_package)
dep_list += result
while check_packages_in_list(dep_list):
dep_list += check_packages_in_list(dep_list)
with open(pkg_list_file) as f:
for line in f:
if line.strip().endswith(':amd64'):
this_pkg = line.strip()[:-6]
upd_pkg_list.append(this_pkg)
else:
upd_pkg_list.append(line.strip())
dep_list.sort()
for name in upd_pkg_list:
if name in dep_list:
print('remove ', name)
This will tell me which files to remove from the list, and I duly did so. I am quite certain that there are no other dependencies that must be removed but still gparted is gone.
I then started looking at the logs and I noticed there seems to be two remove commands issued to apt, the first one does not remove gparted (after my alterations) but the second one does remove it. Is there another file somewhere that is being passed to the remove packages part of the installation?
EDIT:
From further tests it looks like this was caused by mounting /etc to some_work_dir/etc, just mounting the dev,dev/pts,sys and proc directories and then copying resolv.conf to some_work_dir/etc worked well and seems to have resolved this.
If it would help I can make the iso available to you ...
Yes, we will take a look on your '.iso', however it could take a time, as our experts are quite busy and will start their working week up since Monday. So please be patient.
Something else that may have an effect on this is I "bind mounted" /etc to the some_work_dir/etc to be able to get the network to be available. I think this could be the wrong way to do it and it may have something to do with the error. ... I copied /etc/resolve.conf to the chroot environment to allow networking to work.
It shouldn't arise such issues, as far as we know.
]]>EDIT:
I also noticed a difference in the md5sums in the md5sum.txt file, I corrected those and it made no difference.
Do I need to add anything to live/filesystem.packages for the packages I have added to the iso?
Something else that may have an effect on this is I "bind mounted" /etc to the some_work_dir/etc to be able to get the network to be available. I think this could be the wrong way to do it and it may have something to do with the error. I will research if there is a more suitable way to make network available to the chroot environment.
I copied /etc/resolve.conf to the chroot environment to allow networking to work.
EDIT: image removed...
I am guessing this might be something to do with the live/filesystem.packages file not containing the information of software I have added but thought I would ask before spending too much time trying to figure it out. I could be wrong as I am only guessing at this point.
]]>Dai_trying wrote:when re-creating your (new) squashfs file, add " -comp xz -b 262144" to the end of the command to give better compression and keep the file size down. I don't know if this would be recommended by the devs but if has worked well for me.
Yes, the medium size could be sized down, even significantly, this way, depending on the block-size parameter. You can safely set this parameter to whatever you want, but note, it could slightly impact speed of reading data from the media and so overall performance. In general, higher value is better for optical media, while lower for usb disks.
Thanks guys, in my tests it was the only way I could get the size down to the original .iso file size. I tested creating the squashfs file without any changes to be sure I was testing like for like.
Dai_trying wrote:Type xorriso options in the final command directly, I had a lot of problems trying to use a variable like the tutorial suggests.
We have fixed instructions, $XORRISO_OPTIONS is now quoted, it should fix it. Of course, it's possible to type it directly to the final command too.
I had to give myself a head-slap for this! I had changed the quoting in the variable assignment from double to single and swapped around and all sorts! Didn't think to just quote the variable in the command. Doh!
]]>when re-creating your (new) squashfs file, add " -comp xz -b 262144" to the end of the command to give better compression and keep the file size down. I don't know if this would be recommended by the devs but if has worked well for me.
Yes, the medium size could be sized down, even significantly, this way, depending on the block-size parameter. You can safely set this parameter to whatever you want, but note, it could slightly impact speed of reading data from the media and so overall performance. In general, higher value is better for optical media, while lower for usb disks.
Type xorriso options in the final command directly, I had a lot of problems trying to use a variable like the tutorial suggests.
We have fixed instructions, $XORRISO_OPTIONS is now quoted, it should fix it. Of course, it's possible to type it directly to the final command too.
... I could find no mention in the man-page for -cache-inodes option and it gave me errors when I tried to use it, is this maybe a deprecated function or something?
Yes, it looks like this switch is not supported in the current xorriso version.
]]>I will chirp in with some small advise too,
1. when re-creating your (new) squashfs file, add " -comp xz -b 262144" to the end of the command to give better compression and keep the file size down. I don't know if this would be recommended by the devs but if has worked well for me.
2. Type xorriso options in the final command directly, I had a lot of problems trying to use a variable like the tutorial suggests. It might just be that I needed to set something else maybe, but I found putting the options in was better.
And a question for the devs... I could find no mention in the man-page for -cache-inodes option and it gave me errors when I tried to use it, is this maybe a deprecated function or something?
]]>