>> 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.