/srv/irclogs.ubuntu.com/2010/01/04/#ubuntu-mobile.txt

dijeneratehi all00:33
dijenerateI've just created a custom build of ubuntu-mobile for a trial enterprise deployment...00:34
dijenerateI need to make an easy installer/recovery disk from the prototype build00:34
dijeneratewhat is the easiest/fastest way to make a bootable iso that will install this build to new hardware00:35
dijenerateI can do this presently by using the 'dd' command to overwrite the target device00:36
dijenerateI'd prefer to automate00:36
persiaDo you know the set of changes you made to a default image?00:36
dijeneratethey are documented but the list is looooong00:37
dijenerateI'd prefer to just have an auto-installer dump this onto a new drive00:37
persiaWas it just package changes, or config changes as well?00:37
dijenerateconfigs as well00:37
dijenerateplus custom packages etc00:37
persiaHrm.  That gets tricky then.00:38
persiaSo, there's no good way to get an installed system back into an installer00:38
dijenerateit no longer uses hildon, but boots to the company's custom window manager00:38
dijenerateoh... that sucks00:38
persiaAnd using dd has a number of frustrating associated issues related to install-time stuff.00:38
persiaBut there are a number of tools that can help to modify a live image.00:39
dijeneratewell I have prepped an image that is ready to be configured00:39
persiaAnd that can then be used for an install of the modified system.00:39
dijenerateso it boots up, creates the new /etc/udev/rules.d/70*persistent-net... etc00:39
persiaYou've already prepared a custom live image for your target?00:39
dijenerateas well as prepping all necessary scripts for the stuff that's unique for the hardware00:39
dijenerateyes, that's what I dump using dd00:40
dijenerateit takes care of the filesystem (ext4) and the mbr00:40
dijenerateso I was just looking for an automated way to do this from a cd/usb drive that someone who isn't from engineering could use00:40
persiaI think we're running into a definition issue.  A "live image" is something like a USB stick or ISO that will run live OR perform an install.  An "installed image" is the result of having performed an install.00:41
dijeneratewe currently dump with dd, then grow the fs to fill the new drive00:41
persiaWhich have you prepared?00:41
dijenerateinstalled, but ready for setup00:41
dijenerateso in the 'first time' state00:41
persiaRight.  I get it.00:41
persiaAre you using oem-config?00:42
dijeneratenope... actually a lot of the custom ubuntu stuff has been stripped to give a lighter thinner ubuntu00:42
dijenerateneeds only 170MB RAM and 800MB disk space00:42
dijenerateso the special oem-config stuff is no longer there00:43
persiaOK.  I think I understand your current state.00:43
persiaI don't know of any tools that would construct an installer image from that.00:43
dijenerateoh... crap00:43
persiaI can walk you through the process of modifying an installer image to include the changes.00:43
dijeneratehmmm...  I'd probably would be better off, scripting the dd and grow fs commands then creating a tarball in a folder on a live cd image00:44
persiaBut that is mostly for changes in package selection.  If you have additional configuration, that usually involves a combination of a special foo-default-setttings package and some changes to existing packages.00:44
dijeneratejust set to boot then run the script00:44
persiaThere are a number of issues with using dd on an installed image for mass-production.00:44
dijeneratesome of the packages are from our own repo and are foreign to ubuntu00:45
persiaSome examples are that all installed devices would have the same initial cryptographic salt.00:45
persiaSome tools contain information about volume sizes that are confused by grow_fs00:45
persiaAnd some configuration of the system is *only* done by the installer.00:46
dijeneratehmmm... the thing is, so far we have done multiple lab trials and tests with the image and used dd for each install on test hardware00:46
persiaUsing foreign packages is not a problem at all.00:46
dijeneratewe have scripts for the configs00:46
dijenerateso that is taken care of on first boot00:46
dijenerateit's a seriously hacked build00:47
persiaIndeed.  I wish I'd caught you earlier in the process :)00:47
dijeneratelol... that would have saved us both a lot of probs at this stage eh?00:47
persiaYeah.00:48
dijenerateI wonder if we can still call this ubuntu or should it be renamed 'xyz distro based on ubuntu'?00:48
persiaAre you using a swap partition?00:48
dijeneratesorta like mer00:48
dijenerateno swap part00:48
dijeneratesingle part install00:48
persiaYou can't call it "Ubuntu" if you modified it with stuff not in Ubuntu.00:48
dijeneratefigured... we'll have to come up with a name for this one00:49
dijenerateit's extremely lightweight, like linux distros of old00:49
persiaNo swap partition solves some of the issues with resizing the filesystem.00:49
dijenerateyeah, we used the single ext4 from the get go to make installations 'easier'00:50
dijenerateso much for that00:50
persiaRather than using the installer :)  Heh.00:50
dijeneratethe image is stored as a clean tarball with no lost+found, no bash history, no log files, not apt cache... it's clean as a whistle00:51
dijeneratejust needs to be extracted to a bootable ext400:52
dijeneratewe created a dd image to take care of the installation of grub00:52
persiaAnd the bootloader installed, etc.?00:52
dijenerateone less step00:52
persiaI thought that grub stored the disk geometries in the config.00:52
dijenerateall scripts installed just needs the mbr00:52
dijeneratethe mbr needs to know what the first boot device is00:53
dijenerateand what the fs of that device is... so still need to have the right mbr entry00:53
dijenerateother than the mbr entry, everything is in the tarball00:54
persiaAnd how are you deploying the tarball, or is that what brings you here?00:54
dijeneratethat's why I'm here00:56
persiaRight.00:57
dijenerateI was trying to find an automated way to do it00:57
persiaSo, we have two installers.00:57
dijenerateit just needs to be extracted to root of a single bootable ext4 partition00:57
dijeneratethen we install grub to the mbr and we're ready to go00:57
persiaOne of them does the base setup, then installs each package from a pool, then does final setup.00:57
dijenerateactually, they both do the same00:58
dijenerateneither has to install any packages00:58
persiaThe other puts the result of an installation of all the packages in a chroot into a squashfs, and then boots with that as a unionfs and runs some special scripts in the initramfs.00:58
dijenerateeverything is in an installed state in the tarball00:58
dijeneratenot even necessary00:59
persiaI don't think the first will help you, as I have the impression that you'd end up needing to massively rework your configuration scripts.00:59
dijeneratewe literally just have to extract the tarball to the bootable ext4 partition, install grub to the mbr and the system is ready to boot00:59
persiaThe second relies on there being an installer tool included in the squashfs, which would require modifications to your image that would not be preserved on deployment, which would probably mess up your prior testing.01:00
dijeneratethe initial setup is for user id and network security config of the terminal01:00
persiaSo, if you wanted to use an Ubuntu installer, I'd suggest attempting to stuff your tarball into a squashfs, and trying that.01:01
persiaBut that might well be fairly painful as you have to differentiate the boot of the live image and the first-time boot.01:01
persiaSo, I think you need a new installer.01:01
persiaAre you expecting mass-installs or end-user installs?01:02
dijenerateis there no way to get a live ubuntu disk to just boot, format the host drive according to a script, install grub to the mbr then extract the tarball to root?01:03
dijeneratemass installs01:03
dijeneratebut it needs to be 'non-tech' proof for recovery or emergency installs01:03
persiaThere are lots of ways to do it, none happen to be recommended as an install method.01:03
dijeneratelol01:04
persiaFor your specific case, you might want to perform a minimal installation of Ubuntu Server (without any servers) onto a USB stick.01:04
persiaThen copy your installation images into that media01:04
dijeneratewell the installed doesn't need to be x-based either... a simple terminal with progress output is fine01:05
persiaAnd then create an initscript that would perform the required actions to partition, create the filesystem, copy the data, etc.01:05
persiaUbuntu Server doesn't include X by default, which is why I suggested it :)01:05
dijenerateok, perfect01:05
persiaFor mass-installs, bringing up a whole GUI is often considered slow.01:05
persiaAgain, this is not a recommended way to install, and I predict you'll encounter issues later.01:06
persiaWhen that happens, I do encourage you to come back, and we'll look at how to create a mass-install image in a recommended fashion.01:06
dijenerateok, thanks01:06
dijeneratelol01:06
persiaGood luck.01:08
dijeneratethanks01:08
=== asac_ is now known as asac
=== robbiew_ is now known as robbiew
=== robbiew is now known as robbiew-AF
=== robbiew-AF is now known as robbiew-afk
=== kung|away is now known as kung
=== robbiew-afk is now known as robbiew
=== kung is now known as kung|away
=== robbiew is now known as robbiew_

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!