Recently in credativ Category

This month, credativ is pleased to welcome two new members of staff to the team in Rugby; as a leading specialist in Linux and Free Software, we are expanding in order to accommodate the growing demand for our services.

At credativ we invest in our employees - their growth and development is important to us and, by working for a dynamic company which is constantly evolving, our employees gain exposure to a diverse range of opportunities which may not be available so readily in larger, more traditional organizations.

Current Opportunities
credativ UK is looking for competent open source developers and assistant free software engineers to join our development team permanently. We have a small development team in the UK, so you need to learn quickly and be the kind of person who gets things done and cares about your coding and craftmanship. Current customer projects using Python and Ruby include:

  • back and front end web development for customers to use for training and recording of information security processes

  • creating and advancing modules for business enterprise systems

  • Work will involve supporting existing systems, improving free software packages and deploying new technologies for customers.

    What do we do?
    We develop and support business software solutions using free software; our key business areas are consulting, development, support and training. credativ supports a diverse range of clients and has a long history of contributing to free software projects.

    Our technical team is actively involved with software projects such as Debian, PostgreSQL and OpenERP, among others. Over the last decade, credativ has expanded from Germany to the UK, US, Canada and India, and worked to maintain excellent relationships with other free software organisations, companies and upstream projects. This means we have extensive links with the wider free software community and a vast pool of resources we can tap in to for the benefit of our customers.

    What do we use?
    Our platforms run on Linux and are all built using open source technologies. We use Python, Ruby, Rails, PostgreSQL, Django, Apache, C++, Git, and whatever is the best tool for the job. We use lightweight agile development processes, with a strong emphasis on test driven development; we like to get involved in user groups and open source community initiatives.

    Skills and Requirements
    Solid development skills, a hunger for learning new things and enthusiasm are the most important things. We are using some interesting technologies to solve some interesting problems, so a good approach to problem-solving is a must.
    Our platforms use a few core technologies, the more you are familiar with the better. Here is a sublist; for detailed job descriptions please see the careers pages on our website.

  • Linux

  • PostgreSQL, MySQL

  • Python, other object oriented programming languages

  • Ruby

  • Ruby on Rails

  • Open Object, OpenERP

  • GNU/Linux system administration
  • How to get in touch
    Please send your CV, a covering letter, and links to your blog, github or any open source project contributions to careers@credativ.co.uk


    sm sfd logo.pngSaturday 17th September - credativ employees were among the volunteers of Rugby Linux Users Group (LUG) who held an open day at The Benn Partnership Centre in Rugby to promote Free Software to the local community.

    Software Freedom Day is celebrated in over 100 countries worldwide; Linux User Groups in cities all over the UK organise their own initiatives, but this is the first year that the Rugby LUG has held the event.

    "The idea of Software Freedom Day is to educate the public about the many benefits of using high-quality, free open source software that is available. Many people may be using Free Software already, without even realising it." says Nick Morrott, from the group. "By increasing awareness of Free Software, our vision is to empower everybody to be able to freely connect, create and share in a digital world that is participatory, transparent, and sustainable."

    At the free event, there were representatives from the Free and Open Source software community, as well as from local ICT companies who specialise in FOSS for the home, education and business.

    A specialised session for members of the education sector took place prior to the main event, where they could discuss their needs on a one-to-one basis with the specialists.

    Volunteers had set up a range of PCs, laptops and projectors so that visitors could experience first-hand the huge range of free software available. A wide range of software suitable for the home, education and business were on-hand, suitable for common tasks such as photo and video editing, multimedia, office and productivity, and games. Visitors could try out these free and open applications on both Microsoft and Linux platforms and benefit from informal and free advice, with the opportunity to arrange further follow-up sessions if required. Many took away information on the solutions as well as "Software Freedom Day" T-shirts, free CD's and memory sticks loaded with software.

    The event was a great success, bringing in over 100 visitors, from individuals wanting to know how FOSS can be applied to their home computers, to representatives from larger organisations, charities and local government.

    Rugby LUG hopes to organise a similar event next year. For more details, please see the group's website: http://www.rugby.lug.org.uk. or contact us at info@credativ.co.uk

    madecom2.jpgRugby, UK - 19 July 2011 credativ have been helping clients to benefit from OpenERP for 3 years now. During this time we have made 10 deployments from our UK office, including customising and writing additional accounting, invoicing, VAT, and reporting modules for specific client requests, many of which have been sent back upstream to further the development of the project.

    Our engineers have also worked on integrating with Magento web stores and have merged many branches into OpenERP Server -web and -addons, including improving the performance of the web client by running it behind mod_wsgi. During the OpenERP Community Days in March this year, one of credativ's Consultants became the first community member (non-OpenERP employee) to have contributed to the upcoming web client 6.1.

    As part of each deployment, credativ have delivered user and admin training to customer candidates. Here we take a look at the journey with Made.com, who our UK experts have been working closely with over the past year to design, develop and deploy further functionality in OpenERP.

    About Made.com
    Made.com is an ecommerce business in the home furnishings sector, selling indoor and outdoor furniture, artwork and leisure products directly from overseas factories to customers in the UK. They currently have 30 employees, based in London and Shanghai, with a warehouse near Ipswich. Their systems have 25 users, including the fulfilment, sourcing, customer service and quality control teams, as well as financial staff who use the data to manage the monthly ins and outs.

    The Challenge
    The Made.com business model is unique in that they take orders for stock prior to ordering it from suppliers, enabling them to fill containers and order in quantities high enough to keep the overall costs down, and thereby pass significant savings on to customers.
    Due to the long order lead time, it was important to Made.com to be able to automatically email customers at various stages along the process, such as when manufacture had completed and their item had been loaded into a container, and when it was about to be despatched from the warehouse. All this would help them deliver as transparent and seamless a user experience as possible to their customers.

    Requirements
    In order to be able to provide accurate delivery information to their customers, they needed to be able to allocate stock to customers before it arrived at the warehouse in Ipswich. This allocation information is used throughout the day in the customer service department in response to customer queries, and is also passed to the Magento website to provide the user with up-to-the-minute information about the status and expected arrival date of their order. This requirement meant that they needed a software solution which could be modified to grant them the ability to allocate customer orders to purchase orders prior to it arriving, which is not a default behaviour.

    Solutions considered
    As the challenge was not based on an existing system, it was designed from scratch between Andy Skipper, Chief Technology Officer at Made.com, credativ and the Magento development agency used to build the initial version of the website. Made.com had considered several other stock management and ERP systems, including SAP, Netsuite and ERPLY, but decided that OpenERP offered the most flexibility and agile development capabilities. By selecting an open source solution, the whole process was vastly more cost effective than it would have been, had they tried to modify a proprietary system.

    Skipper recalls, “credativ provided a very focused development resource, and were capable of providing solutions to the complexities that were uncovered through the process. The Made.com ERP development project is a very good example of how using a modular and flexible core system can provide a comparatively fast turnaround for a large and complex system. credativ offered very impressive technical ability and project management to enable the project to be completed to our requirements and budget. We plan on using them for further open source projects in the future.”
     
    Future Plans
    credativ are now working on the reporting capability of OpenERP to improve usability for non-technical users. Made.com may potentially move all of their product database to OpenERP, in order to remove the use of static files in that part of the company. credativ are now also creating modules to integrate OpenERP with Metapak and Asterisk.

    Contact us for more information on how open source could benefit your business.

    OpenERP_138.png

    Rugby, UK - 6 June 2011

    credativ Ltd, the UK branch of the largest independent provider of Open Source consultancy in Europe, today announced that it is partnering with OpenERP in a move aimed at increasing OpenERP’s share of the UK enterprise resource planning market (ERP).

    Chris Halls, MD, credativ UK, comments on the partnership: “OpenERP provides a flexible, robust and cost-effective alternative to proprietary systems such as SAP, JD Edwards EnterpriseOne and Sage, and is especially attractive to SMEs that may have previously found the cost of ERP systems prohibitive.”

    “credativ has already introduced OpenERP to UK SMEs and enterprises in the manufacturing, ecommerce and logistics industries. credativ’s customers using OpenERP have already realised business benefits including cost savings, streamlined processes, improved visibility and simplified reporting.”

    OpenERP's comprehensive suite of modular applications caters for all major business processes including: CRM, project management, warehouse management, manufacturing, financial management and human resources.

    credativ has been providing open source training and consultancy to public and private sector clients since 1999. The credativ team has extensive experience of working with OpenERP; recent implementation work includes delivering customisations for warehousing, accounting, VAT, reporting and Magento e-commerce integration.

    Halls continues: “Our partnership with OpenERP underlines our commitment to improving the system’s functionality. We want to highlight open source ERP as an alternative to less flexible proprietary platforms, and believe that this new partnership will bring our experience, size and range of services to organisations who are considering OpenERP.

    OpenERP’s modular design allows organisations to introduce or replace existing ERP systems at their own pace without the burden of ongoing licensing costs. We see our partnership with OpenERP as an opportunity to encourage more organisations to make the move to open source.

    credativ's unique support offering is available from operating systems to business applications - at scale. Our international OSSC (Open Source Support Centre) provides support and consultancy not only for OpenERP but for all major open source applications and distributions.”

    Committed to actively participating in the Open Source community, members of credativ’s 40+ developer team regularly contribute to projects with recent input into OpenERP bug fixes, banking functionality and VAT reporting modules.

    About credativ:

    Founded in 1999, credativ is an independent consulting and services company which operates from Germany, the U.K., Canada, and the U.S. With a large team of experts in open source software, credativ offers a vast knowledge base that can be tapped into at any time by its clients. The company focuses on the service and support of open source software with a comprehensive range of services, including open source consulting, architectural and technical advice, open source software development, open source training, and personalised support. credativ is “Your One-Stop Shop for Open Source SupportTM”.

    black duck image.jpeg

    Rugby, 6 December 2010 - credativ Ltd and Black Duck Software Inc. have announced an international partnership to help further the deployment and integration of Open Source Software.

    The OSSC (Open Source Support Centre) run by credativ in the UK, US, Germany and Canada will now also be providing support for customers of Black Duck Software Inc.

    Black Duck Software is a worldwide provider of “managed software component reuse” solutions; they support businesses and organisations who use Open Source and third party source code in adhering to relevant licensing obligations, thereby reducing the associated business risks.

    Through this partnership with credativ, Black Duck can now also offer comprehensive technical support for the many free software projects which are developed through extensive developer communities rather than through an organisation. This service guarantees Black Duck customers additional security for complex Open Source services and provides an alternative which is comparable to the manufacturer's support available with proprietary software.

    Mr. Chris Halls, Managing Director of credativ Ltd in the UK, explains:

    “We are delighted about the partnership with Black Duck. We hope that combining our competencies will enable us to cover all the requirements for safe operation of Open Source software. Our partnership is a good basis for further international expansion - our Open Source Support Centres will be enhancing Black Duck's service offering, not only for the US but also the European market.”

    If you would like to know more about our Open Source involvement simply leave us a comment here... alternatively please contact us directly.

    About credativ

    Founded in 1999, credativ is an independent consulting and services company which operates from Germany, the U.K., Canada, and the U.S. With a large team of experts in open source software, credativ offers a vast knowledge base that can be tapped into by its clients. The company focuses on the service and support of open source software with a comprehensive range of services, including open source consulting, architectural and technical advice, open source software development, open source training, and personalized support. credativ is “Your One-Stop Shop for Open Source Support” TM.

    The Open Source Support Centre (OSSC) offers support for the following:

    Debian, Kubuntu, Ubuntu, Xandros, SUSE, Red Hat, Fedora, CentOS, Linspire, Mandriva, Slackware, Open BSD, Gnome, KDE, MySQL, PostgreSQL, PostGIS, Slony, Zarafa, eGroupware, Kolab Groupware, Scalix, SugarCRM, vtiger, CITADEL, Mozilla-Firefox, Mozilla-Suite, OpenOffice, Thunderbird, Wine, Apache, Asterisk, OpenSER, FreePBX, OpenPBX, CallWeaver, SpamAssassin, ClamAV, OpenLDAP, OTRS, RT, Samba, Cyrus, Dovecot, Exim, Postfix, sendmail, Amanda, Bacula, DRBD, Heartbeat, Keepalived, Nagios, Open Security Filter, Ferm, FAI, Squid, XEN, VirtualBox.

    For further information please contact:

    credativ Ltd,
    36 Regent Street,
    Rugby,
    Warwickshire,
    CV21 2PS

    Press contact

    Simon Bowring

    Tel: +44 (0) 1788 298150
    Fax: +44 (0) 1788 298159
    Email: simon.bowring@credativ.co.uk

    About Black Duck Software Inc

    Black Duck Software is the leading provider of products and services for automating the management, governance and secure use of open source software, at enterprise scale, in a multi-source development process. Black Duck™ enables companies to shorten time-to-solution and reduce development costs while mitigating the management, compliance and security challenges associated with open source software.  Black Duck Software powers Koders.com, the industry’s leading code search engine for open source, and is among the 500 largest software companies in the world, according to Softwaremag.com. The company is headquartered near Boston and has offices in San Mateo, California, London, Paris, Frankfurt, Hong Kong, Tokyo and Beijing.

    For more information, visit www.blackducksoftware.com

    Black Duck, Know Your Code and the Black Duck logo are registered trademarks of Black Duck Software, Inc. in the United States and other jurisdictions. Koders is a trademark of Black Duck Software, Inc. All other trademarks are the property of their respective holders.

    Press contacts

    Peter Vescuso
    Black Duck Software
    press@blackducksoftware.com
    +1 781-891-5100

    Ann Dalrymple
    TopazPartners

    postgreslogo.png
    Earlier this year, blogger and PostgreSQL Committer Andrew Dunstan drew up a list of individual Committers to the PostgreSQL Project. We are proud to say that this list featured some of our employees.


    In May, PostgreSQL's Andrew Dunstan published some data about the productivity of PostgreSQL Committers at 30,000 commits and still going strong, detailing the number of commits made by developers with commit rights. Incidentally, becoming a Committer is no mean feat; although there is no set procedure for acquiring the right to commit, it will generally follow a candidate having sent numerous good patches over a long period of time. Existing Committers, or the core team will then propose and approve assigning Committer's rights to the candidate.

    credativ can claim involvement with many other Open Source Projects in addition to PostgreSQL. Community involvement is taken seriously at credativ, as is evident from Andrew Dunstan's statistics. A few of the Committers mentioned work at various international credativ offices; Michael Meskes, Joe Conway and Dave Cramer. What is not clear from Dunstan's list is the number of credativ employees who contribute large amounts of code but are not actually Committers; take Bernd Helmle, for example, who readers of this blog will be familiar with from his PostgreSQL articles not only as author but also as a developer, yet he does not feature in Andrew's statistics.

    Nevertheless credativ's presence on this list is indicative of our achievements as well as our employees' connections with Open Source; if you would like to know more about our Open Source involvement simply leave us a comment here... and if you are interested in Open Source Support, please contact us.

    postgreslogo.png
    I've been asked on at least three separate occasions lately how to know if changing a particular postgresql.conf item requires a restart, or a reload, of PostgreSQL. Here is my quick and dirty favorite way to answer this question:

    -- configs requiring postgresql restart
    select name, setting, context
      from pg_settings where context = 'postmaster';
    
    -- configs requiring postgresql reload
    select name, setting, context
     from pg_settings where context = 'sighup';
    

    CIOZone Interview

    | No Comments | No TrackBacks

    mme-ciozone.pngCIOZone, a social network for CIOs, recently interviewed our Founder and CEO Dr. Michael Meskes.

    CIOZone is a central place where CIOs can network. In this video, Roger Green takes the time to drop in to our office in Moenchengladbach, Germany to interview Michael Meskes, the founder of credativ about the history of the company, how Open Source has developed and how the business is different today from what it was 10 years ago.

    This discussion is followed by analysis of current development and future challenges; the difference between Open Source vendors and proprietary global players; virtualisation and cloud computing in relation to Open Source and what to keep in mind when migrating to Open Source software.

    Read on or watch the video at ciozone.com.

    If you're looking for support, services and training for Open Source software, you've come to the right place at credativ!

    postgreslogo.pngRlogo.jpgWhen you pass large amounts of data to and from PL/R, quite a lot of time is needed for converting. A change is being tested which treats arrays of 4 byte integers and 8 byte floating point values as a special case, resulting in a dramatic performance improvement.

    In a recent post, I discussed PL/R performance related to seismic timeseries data stored as an array of floats that are all recorded during some seismic event at a constant sampling rate. The problem was that when dealing with, say, 14000 arrays of floats, each having on the order of 16000 elements, passing the data to and from PL/R proved slower than hoped.

    My ultimate solution was to show how a significant performance improvement could be achieved by importing the arrays into Postgres tables directly as raw R objects, and then operating on those objects later using PL/R. The problem with this approach is that in some, if not most, cases, you may want to access that same data from other procedural languages or hand off the arrays to some client other than R. In this case the raw R object does not meet your needs.

    So I thought about it a bit and researched the source code on the Postgres and R sides of PL/R, and concluded that for certain special cases it was possible to dramatically improve speed by skipping the one-at-a-time element conversion as arrays are processed going between PostgreSQL and R. Specifically, the in-memory storage of the array data is binary compatible in the following circumstances:

    1. pgsql -> R
      • Argument is integer or double precision array
      • Element data type is pass-by-value for given Postgres version and architecture
      • No NULL elements
      • Array is one dimensional
    2. R -> pgsql
      • Integer vector returned with integer array return type
      • Real vector returned with double precision array return type
      • No NA elements
      • One dimensional vector

    Pass-by-value is most likely true for double precision (float8) if PostgreSQL is at least version 8.4 and was built with a 64 bit system architecture. If these conditions are met, PL/R now simply copies en masse the in-memory array data from the PostgreSQL array data structure to the R vector data structure. This avoids all the overhead associated with iterating over the array element by element. Although I am not a fan of special case code such as this, the use case is important (if you are crunching numbers, they are likely stored as double precision elements), and the performance benefit is huge. Here is the timing difference with the patched PL/R versus the unpatched PL/R:

    DROP TABLE IF EXISTS test_ts;
    CREATE TABLE test_ts
    (
      dataid bigint NOT NULL,
      data double precision[],
      CONSTRAINT pk_data PRIMARY KEY (dataid)
    );
    
    CREATE OR REPLACE FUNCTION load_test(int) RETURNS text AS $$
     DECLARE
      i    int;
     BEGIN
      FOR i IN 1..$1 LOOP
       --16789 double precision elements in the data array
       INSERT INTO test_ts (dataid, data) VALUES (i, '{-0.0205086770285039,...}');
      END LOOP;
      RETURN 'OK';
     END;
    $$ LANGUAGE plpgsql;
    
    CREATE OR REPLACE FUNCTION
    filt_r_nothing(ts double precision[])
    RETURNS double precision[] AS $$
      return(ts);
    $$ LANGUAGE 'plr' IMMUTABLE;
    
    CREATE OR REPLACE FUNCTION
    filt_r_avg(ts double precision[])
    RETURNS double precision AS $$
      return(mean(ts));
    $$ LANGUAGE 'plr' IMMUTABLE;
    
    -- INSERT 14000 rows of 16789 element arrays
    SELECT load_test(14000);
    
    -- unpatched code
    UPDATE test_ts SET data = filt_r_nothing(data);
    UPDATE 14000
    Time: 1224087.064 ms
    
    -- patched code
    UPDATE test_ts SET data = filt_r_nothing(data);
    UPDATE 14000
    Time: 225591.429 ms
    
    -- unpatched code
    contrib_regression=# select filt_r_avg(data) from test_ts;
        filt_r_avg     
    -------------------
     0.656530643017027
     0.656530643017027
    [...]
    (14000 rows)
    Time: 441573.619 ms
    
    -- patched code
    contrib_regression=# select filt_r_avg(data) from test_ts;
        filt_r_avg     
    -------------------
     0.656530643017027
     0.656530643017027
    [...]
    (14000 rows)
    Time: 6541.039 ms
    
    -- unpatched code
    select array_upper(filt_r_nothing(data),1) from test_ts;
     array_upper 
    -------------
           16879
           16879
    [...]
    (14000 rows)
    Time: 1108651.349 ms
    
    -- patched code
    select array_upper(filt_r_nothing(data),1) from test_ts;
     array_upper 
    -------------
           16879
           16879
    [...]
    (14000 rows)
    Time: 23101.602 ms
    


    So to summarize:

    TestCaseTime (ms)Improvement
    UPDATE NOOPUnpatched1224087.064--
    UPDATE NOOPPatched225591.42982%
    SELECT AVGUnpatched441573.619--
    SELECT AVGPatched6541.03998%
    SELECT NOOPUnpatched1108651.349--
    SELECT NOOPPatched23101.60298%

    Pretty substantial improvement in these particular, but I think common, use cases. The UPDATE test sees less overall benefit because the time to write out the changes would be significant and the same regardless of array handling in PL/R. The difference between SELECT NOOP and SELECT AVG is driven by the fact that the latter returns a scalar result, while the former returns the entire array. The reason SELECT NOOP does array_upper() on the returned array, is that otherwise all that array data (something like 4 GB) gets materialized in memory by psql, which of course greatly slows things further and is not what we are trying to test.

    Please give the changes a try and provide feedback before I release another PL/R version. You can grab the new code from github and sign up for the PL/R mailing list to post your results or report any questions/problems. And of course visit the PL/R homepage and PL/R wiki for more general information about PL/R -- particularly to watch for these changes in the next official release. Finally, don't hesitate to contact me directly if the other choices don't suit you for some reason.

    debianlogo.pngThe vast majority of Debian installations are simplified with the use of Preseeding and Netboot. Friedrich Weber, a school student on a work experience placement with us at our German office has observed the process and captured it in a Howto here:

    Imagine the following situation: you find yourself with ten to twenty brand new Notebooks and the opportunity to install them with Debian and customise to your own taste. In any case it would be great fun to manually perform the Debian installation and configuration on each Notebook. This is where Debian Preseed comes into play.

    The concept is simple and self-explanatory; usually, whoever is doing the installation will be faced with a number of issues during the process (e.g. language, partitioning, packages, Bootloader, etc.) In terms of Preseed, all of these issues can now be resolved. Only those which are not already accounted for in Preseed remain for the Debian installer. In the ideal situation these would become apparent at the outset of the installation, where the solution would differ depending on the target system and which the administrator must deal with manually - only when these have been dealt with can the installation be left to run unattended.

    Preseed functions on some simple inbuilt configuration data: preseed.cfg. It includes, as detailed above, the questions which must be answered during installation, and in debconf-format. Data such as this consists of several rows, each row of which defines a debconf configuration option - a response to a question - for example:

        d-i debian-installer/local	string de_DE.UTF-8
    

    The first element of these lines is the name of the package, which is configured (d-i is here an abbreviation of debian installer), the second element is the name of the option, which is set, as the third element of the type of option (a string) and the rest is the value of the option. In this example, we set the language to German using UTF-8-coding.

    You can put lines like this together yourself, even simpler with the tool debconf-get-selections: these commands provide straight forward and simple options, which can be set locally. From the selection you can choose your desired settings, adjusted if necessary and copied into preseed.cfg.

    Here is an example of preseed.cfg:

        d-i debian-installer/locale string de_DE.UTF-8
        d-i debian-installer/keymap select de-latin1
        d-i console-keymaps-at/keymap select de
        d-i languagechooser/language-name-fb select German
        d-i countrychooser/country-name select Germany
        d-i console-setup/layoutcode string de_DE
    
        d-i clock-setup/utc boolean true
        d-i time/zone string Europe/Berlin
        d-i clock-setup/ntp boolean true
        d-i clock-setup/ntp-server string ntp1
    
        tasksel tasksel/first multiselect standard, desktop, gnome-desktop, laptop
        d-i pkgsel/include string openssh-client vim less rsync
    

    In addition to language and timezone settings, selected tasks and packages are also set with these options. If left competely unattended, the installation will not complete, but will make a good start.

    Now onto the question of where Preseed pulls its data from. It is in fact possible to use Preseed with CD and DVD images or USB sticks, but generally more comfortable to use a Debian Netboot Image, essentially an installer, which is started across the network and which can cover its Preseed configuration. This boot across the network is implemented with PXE and requires a system that can boot from a network card.

    Next, the system depends on booting from the network card. It travels from a DHCO server to an IP address per broadcast. This DHCP server transmits not only a suitable IP, but also to the IP of a so-called Bootserver. A Bootserver is a TFTP-Server, which provides a Bootloader to assist the Administrator with the desired Debian Installer. At the same time the Debian Installer can be shared with the Boot options that Preseed should use and where he can find the Preseed configuration. Here is a snippet of the PXELINUX configuration data pxelinux.cfg/default:

        label i386
            kernel debian-installer/i386/linux
            append vga=normal initrd=debian-installer/i386/initrd.gz netcfg/choose_interface=eth0 domain=example.com locale=de_DE debian-installer/country=DE debian-installer/language=de debian-installer/keymap=de-latin1-nodeadkeys console-keymaps-at/keymap=de-latin1-nodeadkeys auto-install/enable=false preseed/url=http://$server/preseed.cfg DEBCONF_DEBUG=5 -- quiet 
    

    When the user types i386, the tt>debian-installer/i386/linux kernel (found on the TFTP server) is downloaded and run. This is in addition to a whole load of bootoptions given along the way. The debian installer allows the provision of debconf options as boot parameters. It is good practice for the installer to somehow communicate where to find the Preseed communication on the network (preseed/url). In order to download this Preseed configuration, it must also be somehow built into the network.

    The options for that will be handed over (the options for the hostnames would be deliberately omitted here, as every target system has its own Hostname). auto-install/enable would delay the language set up so that it is only enabled after the network configuration, in order that these installations are read through preseed.cfg. It is not necessary as the language set up will also be handed over to the kernel options to ensure that the network configuration is German.

    The examples and configuration excerpts mentioned here are obviously summarised and shortened. Even so, this blog post should have given you a glimpse into the concept of Preseed in connection with netboot. Finally, here is a complete version of preseed.cfg:

        d-i debian-installer/locale string de_DE.UTF-8
        d-i debian-installer/keymap select de-latin1
        d-i console-keymaps-at/keymap select de
        d-i languagechooser/language-name-fb select German
        d-i countrychooser/country-name select Germany
        d-i console-setup/layoutcode string de_DE
    
        # Network
        d-i netcfg/choose_interface select auto
        d-i netcfg/get_hostname string debian
        d-i netcfg/get_domain string example.com
    
        # Package mirror
        d-i mirror/protocol string http
        d-i mirror/country string manual
        d-i mirror/http/hostname string debian.example.com
        d-i mirror/http/directory string /debian
        d-i mirror/http/proxy string
        d-i mirror/suite string lenny
    
        # Timezone
        d-i clock-setup/utc boolean true
        d-i time/zone string Europe/Berlin
        d-i clock-setup/ntp boolean true
        d-i clock-setup/ntp-server string ntp.example.com
    
        # Root-Account
        d-i passwd/make-user boolean false
        d-i passwd/root-password password secretpassword
        d-i passwd/root-password-again password secretpassword
    
        # Further APT-Options
        d-i apt-setup/non-free boolean false
        d-i apt-setup/contrib boolean false
        d-i apt-setup/security-updates boolean true
    
        d-i apt-setup/local0/source boolean false
        d-i apt-setup/local1/source boolean false
        d-i apt-setup/local2/source boolean false
    
        # Tasks
        tasksel tasksel/first multiselect standard, desktop
        d-i pkgsel/include string openssh-client vim less rsync
        d-i pkgsel/upgrade select safe-upgrade
    
        # Popularity-Contest
        popularity-contest popularity-contest/participate boolean true
    
        # Command to be followed after the installation. `in-target` means that 
             the following
        # Command is followed in the installed environment, rather than in 
            the installation environment.
        # Here http://$server/skript.sh nach /tmp is downloaded, enabled and 
            implemented.
        d-i preseed/late_command string in-target wget -P /tmp/ http://$server/skript.sh; 
      in-target chmod +x /tmp/skript.sh; in-target /tmp/skript.sh
    

    All Howtos of this blog are grouped together in the Howto category - and if you happen to be looking for Support and Services for Debian you've come to the right place at credativ.