>> I'm not sure why it didn't make it through.  I am still learning this
>> cool but unusual bug reporting system.

>It's just email, basically, so many of the same common ettiquette
> applies here.

In the sense that it is like e-mail was in the 1908s, yes.  That muscle memory 
is why I got it on the second round.  But I did have trouble posting the info I 
wanted the first time.  Also I very much like this system, but it was a lot 
like being asked to rollerblade for the first time in a long time.

> --profiles selects what profiles are included on the generated images,
> essentially copying the files from ./profiles/ and/or
> /usr/share/simple-cdd/profiles/ files onto the installer media for the
> relevent profile, and determines which packages are available on the
> install media.
> 
> --auto-profiles effectively preseeds which profiles to install when you
> boot the installer, if you do not use --auto-profiles, it will ask you
> which profiles you want to install when you boot the installer media
> (e.g. USB, DVD, CD, etc.).

Interesting.  I do not understand what it means "to install when you boot the 
installer" vs "include on the generated images" here.  They both sound like 
exactly the same thing: profiles that exist on a built installer image.  Are 
you distinguishing between the image, and the installer?  What is the 
distinction?  The image is an installer image, no?  Because from your 
explanation we have:

Using --profiles: preseeds which profiles to install when you boot the installer
NOT using --auto-profiles:  does NOT preseed which profiles to install when you 
boot the installer

But there's an omission by contrapositive here.  The questions are what *does* 
each one do, and how do those things differ?  Because, notice that NOT using a 
giraffe also does NOT preseed which profiles to install.  I am not trying to be 
rude, just to point out the source of the confusion.  I think you know enough 
to infer something that I do not, and I am asking you to state that inference 
explicitly so I understand these two similar flags.

> As explained in the simple-cdd README

You keep coming back to this.  Should this be taken to mean that the README in 
/usr/share/simple-cdd/README is the authoritative text on simple-cdd?

> Presumably, you've encoutered a warning from simple-cdd, as it cannot
> verify that it's a valid preseeding file (the password configuration is
> tested with a different database that requires root access, and
> simple-cdd should not be run as root).

No, I received no simple-cdd warnings when running `$ build-simple-cdd 
--profiles custom` where "custom" is the file you are commenting on.  No 
warnings at all.

> If you want automatic partitioning, you'll need to uncomment this, or it
> will ask you...

Yes, I was planning to work on that next, after languages.  Thank you.

> And you need to make sure you're passing it a valid device, which can
> get very tricky

Ack.

>> # Individual additional packages to install
>>  d-i pkgsel/include string build-essential git w3m secure-delete rsync nmap 
>> screen tmux sudo pwgen net-tools dnstools

> You need these packages to be available in one of your profiles, or it
> will require network access... maybe that's ok for you...

It is, but please explain what you mean by "available in one of your profiles" 
unless you mean this section of the README:

```
Create a profile named NAME:

 $ mkdir profiles
 $ for p in list-of-packages-you-want-installed ; do echo $p >> 
profiles/NAME.packages ; done
```

In that case, I understand what you're trying to say, although it took work to 
bridge the gap.  It sounds, then, that NAME.packages requires the network when 
the image is created, so it can have the packages ready for the installer.  But 
if you include the packages in the NAME.preseed file, then the installer itself 
will have to have internet access to download the packages.  Is that correct?  
It's not clear from the README or 
https://www.debian.org/doc/manuals/debian-handbook/sect.automated-installation.en.html
 but it makes sense if this is correct.

>> --custom.postinst--
>> (contains a custom BASH script with private data)
>
> You taunt me and limit my ability to help you. :P

Ha, not intentionally.  But I may not post that data publicly.  Anyway I'm sure 
the current failures are unrelated.

>> --custom.udebs--
>> # the udeb needed for simple-cdd
>> simple-cdd-profiles
>
>This is redundant with the default profile, but shouldn't hurt anything.

Okay, thank you..  The README has no information about what the udeb is.  It is 
*mentioned* twice, but not explained.

>> My primary source was 
>> https://www.debian.org/doc/manuals/debian-handbook/sect.automated-installation.en.html
>
>Ok, that's the underpinnings of how debian-installer works. While the
>documentation is largely relevent for simple-cdd, as simple-cdd
>extensively uses the hooks provided in debian-installer, you're not
>going to find documentation specific to simple-cdd there.

Okay, that's good to know.  Do you know who I may contact to add to that 
webpage a link to the proper/authoritative simple-cdd doc?  Or a reference if 
you answer above is that the best reference is /usr/share/simple-cdd/README

> Apparently, you missed the --locale configuration option mentioned in
> the simple-cdd README:

No but I was working on other docs that I assumed were authoritative, at least 
regarding the NAME.preseed file.

> One of the challenges with debian-installer documentation is it is
> extremely flexible, and involves a lot of moving parts that may change
> at any time, which makes it very difficult to produce comprehensive
> documentation.

Understood but (a) the alternative is either i. conversations like these or ii. 
people who would benefit from the software not being able to use it and (b) 
yeah, it's hard.  That's life.  I go through developers like toothpicks because 
I always insist on good docs.  Anyway in this case, the answer might be simple. 
 Just refer the user to /usr/share/simple-cdd/README *if* that is being 
maintained with the most accurate information.  20+ years of experience with 
Debian tells me that Debian README files are rarely a source of useful, recent 
information.


>> 1.  This should almost definitely go into 
>> https://www.debian.org/doc/manuals/debian-handbook/sect.automated-installation.en.html
>>  section 12.3.3.1.
>
> That is debian-installer documentation.  If anything specific to
> simple-cdd needs documentation, it belongs in the simple-cdd
> documentation. For avoidance of doubt, simple-cdd profiles are specific
> to simple-cdd.

To beat the dead horse, I reiterate two points:

1 - Precisely what is "the simple-cdd documentation" referring to here?  The 
/usr/share/simple-cdd/README file?  

2 - Whatever the answer is to #1, that answer to your question (ie - the 
reference or link) is what should be at 
https://www.debian.org/doc/manuals/debian-handbook/sect.automated-installation.en.html
 section 12.3.3.1.

This is off-topic, but if it prevents similar confusion I hope it is worth 
repeating.


> If you want a fully automated install for SOMEPROFILE, you'll have to
> specify *both* --profiles SOMEPROFILE and --auto-profiles SOMEPROFILE.

Okay I will.  When I understand --profiles vs --auto-profiles (question above), 
I may also know why.

>>> [non-interactive installer] should be possible, but often time all the 
>>> exact questions asked may
>>> be hard to track down.
>>
>> Can you point me to a doc that has a complete list?
>
>A *mostly* complete list could be found by downloading the approximately
>50000+ packages in Debian and extracting the questions from the
>/var/lib/dpkg/info/*.templates files. Hopefully that illustrates the
>scope of what you're asking for?

Yes, thank you, but it does not answer the question.  There are well-known 
solutions to documentation in situations like these.  Among the most common 
would be:

- if the format of the options is programmatic, then the formula(e) used to 
create an option, so users could derive the option they want

- if the format is not progammatic but custom to each package, then there 
really should be a standard location in each of the 50000+ packages where the 
non-predictable option is listed, and then the simple-cdd docs would say: "look 
in `docs/installer-option` of the package you want to automate, to find the 
correct syntax."  (And then a package that does not have that file would 
receive the bug report, not simple-cdd.)

There may be more I do not understand this well enough yet to make more 
specific suggestions.  But "it's too difficult to document" is never a 
solution.  

> Try an install, note what questions are still asked, and from the
> resulting installed system that asked too many questions, run
> "debconf-get-selections" and "debconf-get-selections --installer" and
> look for the questions you want to preseed, add them to your preseed
> file, try again, etc.

Great idea!  Are you aware that the README does not mention 
"debconf-get-selections" once?  So it would take someone who does this every 
day to think of this excellent solution.  Thank you for sharing this.  I 
recommend adding it to the README, maybe the HowTo.

>> (I don't know about the Howto because I can never see the Debian
>> wiki.)
>
>You obviously know about the wiki *somehow* given that you've just
>provided a link to it...

I know about it.  I also know about The Kremlin.  I've never seen inside either 
one.

>> I would phrase it like this:
>>
>> "When reading profiles, simple-cdd gives precedence to profiles
>> defined in ./profiles/ and then in /usr/share/simple-cdd/profiles."
>
>Thanks for the suggestion. Where *exactly* do you think this should be
>specified?

That depends on your answer above to what the authoritative doc is.  Is it the 
README?  Then the README is the answer to your question.  Is it 
https://wiki.debian.org/Simple-CDD/Howto?  Both?  (Also these should probably 
reference each other, and be referenced to from 
https://www.debian.org/doc/manuals/debian-handbook/sect.automated-installation.en.html
 section 12.3.3.1.)

> As explained in the simple-cdd README, these cannot be effectively
> preseeded using a simple-cdd profile, as preseeding is loaded after the
> questions are asked.


Maybe it's stated, but not explained.  I still do not understand this 
interplay, or the use of the word "preseed."  It seems that NAME.preseed is the 
file that decides what questions to ask, right?  So preseeding is the process 
of avoiding being asked things.  But then it's not because "preseeding is 
loaded after the questions are asked.

Anyway...

> 
> Use --locale=en_CH

I did this.  Specifically, I modified custom.preseed like this:

```
# Preseeding only locale sets language, country and locale.
#d-i debian-installer/locale string en_US

# The values can also be preseeded individually for greater flexibility.
#d-i debian-installer/locale string en_US.UTF-8
# Optionally specify additional locales to be generated.
d-i localechooser/supported-locales multiselect en_GB.UTF-8, de_DE.UTF-8

```

Then I deleted tmp/ and images/ and I reran like so:


build-simple-cdd --profiles custom --auto-profiles custom --locale=en_CH 
--keyboard=us


Then I waited 12 hours, and used expensive bandwidth, and I got a generated ISO.

And again, the ISO asked me to "Configure locales" like always.  Did I 
misunderstand something you told me to do, or is there a bug?

I mean, either way, there is a "bug," maybe in the code maybe in the doc.  But 
you know what I mean.


I understand being frustrated by lack of specifics.  I am more fully focused 
now and I hope I am answering all of your questions so this is productive.

Reply via email to