Configuration Challenges in Linux and Ecos: a Survey
Total Page:16
File Type:pdf, Size:1020Kb
GSDLAB TECHNICAL REPORT Configuration Challenges in Linux and eCos: A Survey Arnaud Hubaux, Yingfei Xiong, Krzysztof Czarnecki GSDLAB{TR 2011{09{29 September 2011 Generative Software Development Laboratory University of Waterloo 200 University Avenue West, Waterloo, Ontario, Canada N2L 3G1 WWW page: http://gsd.uwaterloo.ca/ The GSDLAB technical reports are published as a means to ensure timely dissemination of scholarly and technical work on a non-commercial basis. Copyright and all rights therein are maintained by the authors or by other copyright holders, notwithstanding that they have offered their works here electronically. It is understood that all persons copying this information will adhere to the terms and constraints invoked by each author's copyright. These works may not be reposted without the explicit permission of the copyright holder. Configuration Challenges in Linux and eCos: A Survey Arnaud Hubaux, Yingfei Xiong, Krzysztof Czarnecki September 29, 2011 Abstract Operating systems expose sophisticated configurability to handle vari- ations in hardware platforms like desktops, servers, and mobile devices. The configuration of an operating system like Linux contains thousands of options guarded by hundreds of complex constraints. To guide users throughout the configuration activity, configurators implement various mechanisms to produce correct configurations. However, configuration still remains a difficult and challenging process. To better understand the challenges faced by users during configuration, we conducted surveys among Linux and eCos users to answer the two following questions: • What challenges do users most frequently face? • How significant is the conflict resolution problem? In this paper, we report on the results of these two surveys. 1 Linux This section focuses on the configuration tools used for the Linux kernel. We investigate the Linux kernel because it is probably the configurable system with the largest community of users and developers, and it spans a wide variety of configuration domains. To harvest data, we designed a questionnaire (see https://docs.google. com/spreadsheet/viewform?formkey=dHJrQ1B6OXVCRTRmbGJ2ZlFQTmdpQVE6MA) that was posted on several forums and mailing lists of mainstream Linux distri- butions and the Linux Kernel: • Gentoo: http://www.gentoo.org/ • Debian: http://forums.debian.net/ • Ubuntu: http://ubuntuforums.org/ • Linux Questions: http://www.linuxquestions.org/ • openSUSE: http://en.opensuse.org/, http://lists.opensuse.org/ opensuse-factory, http://lists.opensuse.org/opensuse-kernel 1 • Fedora: http://fedoraforum.org/ • Mandriva: http://www.mandriva.com/ • LinuxMint: http://www.linuxmint.com/ • pclinuxos: http://www.pclinuxos.com/forum/ • centOS: https://www.centos.org/ • archlinux: [email protected] • Kernel: http://vger.kernel.org/ This document contains a summary of 97 answers to the questionnaire, and discussions on a Gentoo forum and the opensuse-factory mailing list triggered by our questionnaire. This summary starts with a quantitative analysis that presents the profiles of the respondents and their configuration practice. Then, a qualitative analysis reports examples in which the activation of an option posed problems, and outlines 6 classes of configuration challenges expressed by users. 1.1 Quantitative analysis The quantitative analysis is based on 81 answers to the questionnaire. 16 an- swers were discarded either because the responses to some questions were in- appropriate or too vague to conduct quantitative analyses. The questions ad- dressed by each point are recalled before the discussion on the results. 1.1.1 Respondent profiles Level expertise. What is your level of expertise in Linux? ◦ Expert ◦ Moderate ◦ Newbie According to Figure 1, half of the respondents consider themselves experts, which confirms the evolution of Linux user profiles. Modern distributions now render the configuration of the Linux kernel unnecessary for most average users. Those who still configure the kernel have specific needs that require a significant amount of experience and knowledge. Years of expertise. For how many years have you been using Linux? Figure 2 indicates to what extent the level of expertise is connected to the number of years of experience with Linux. 2 2. Quantitative analysis 2. Quantitative analysis The quantitative analysis is based on 81 answers to the questionnaire. 16 answers were discarded either becauseThe quantitative the responses analysis to some is based questions on 81 were answers inappropriate to the questionnaire. or too vague to 16 conduct answers quantitative were discarded analyses. either because the responses to some questions were inappropriate or too vague to conduct quantitative analyses. 2.1 Respondent profiles 2.1 Respondent profiles Distribution of expertise. More than half of the respondents consider themselves expert, which confirms theDistribution evolution of Linuxexpertise. user profiles.More than Modern half of distributions the respondents now considerrender the themselves configuration expert, of the which Linux confirms kernel unnecessarythe evolution for of mostLinux average user profiles. users. ThoseModern who distributions still configure now therender kernel the haveconfiguration specific needs of the thatLinux require kernel a significantunnecessary amount for most of experienceaverage users. and knowledge.Those who still configure the kernel have specific needs that require a significant amount of experience and knowledge. 1% 1% 49% 49% 49% 49% Expert Moderate Newbie Expert Moderate Newbie Average, median, min and max number of years of expertise per category. The following chart indicates toAverage, what extent median, the level min ofand expertise maxFigure number is connected 1: of Distributionyears to theof expertise number of of expertise.per years category. of experience The following with Linux. chart indicates to what extent the level of expertise is connected to the number of years of experience with Linux. 20 20 15 15 10 10 5 5 0 0 Avg Median Min Max Avg Median Min Max Expert Moderate Newbie Expert Moderate Newbie Figure 2: Average, minimum and maximum number of years of expertise per category. 2 2 Linux distributions. What Linux distributions do you have experience with? Most respondents had experience with more than one distribution (three on average), hence the large amount of answers reported here. With a total of 39 different distributions, Figure 3 shows a great diversity of back- 3 Ranking of distributions used. Most respondents had experience with more than one distribution (three on average), hence the large amount of answers reported here. With a total of 39 different distributions, this chart shows agrounds great diversity in the of samplebackgrounds of respondents. in the sample of respondents. Gentoo Ubuntu Debian Fedora Slackware Red Hat ArchLinux Mandriva (Mandrake), SUSE openSUSE CentOS RHEL SLES Knoppix Maemo, Mageia * 0 10 20 30 40 50 Number of answers * Agnula, Android, Aptosid, Asmutils, Buildroot, Chakra, Crunchbang, Damnsmall, DSL, Exherbo, Feather, Linux from scratch, MeeGo, Mint, OpenWRT, PCLinuxOS, Puppy, Sabayon, Salix, Scientific Linux, Slax, Sorcerer, Zenwalk Distribution of usage. The neat classification of the types of projects users reconfigure the Linux kernel for turned out to be difficult.Figure First, 3: Ranking most users of who distribution answered personal used by use the frequently respondents. gave other options (e.g. server or enterprise). This actually makes perfect sense as many linux users use it both personally and professionally. Then, the overlap between enterprise and the other categories (e.g. server and embedded systems)Types is hard of toproject. quantify. They have been kept separate here to stay as close as possible to the received answers. What types of project have you been configuring the Linux kernel for? The neat classification of the types of projects users reconfigure the Linux Number of answers kernelPersonal for turned out to be difficult. First, most users who answered personal use frequently gave other options (e.g. server or enterprise). This actuallyServer makes perfect sense as many Linux users use it both personally and professionally. Then, the overlap between enterprise and the other categoriesEnterprise (e.g. server and embedded systems) is hard to quantify. They have been kept separate in Figure 4 to stay as close as possible to the Developmentreceived answers. Embedded systems 1.1.2 Configuration practice ConfigurationOther baselines Virtual Machine What default configuration do you generally use to start the configuration of the kernel?0 20 40 60 80 ◦ Default configuration provided by the distribution 3 4 Ranking of distributions used. Most respondents had experience with more than one distribution (three on average), hence the large amount of answers reported here. With a total of 39 different distributions, this chart shows a great diversity of backgrounds in the sample of respondents. Gentoo Ubuntu Debian Fedora Slackware Red Hat ArchLinux Mandriva (Mandrake), SUSE openSUSE CentOS RHEL SLES Knoppix Maemo, Mageia * 0 10 20 30 40 50 Number of answers * Agnula, Android, Aptosid, Asmutils, Buildroot, Chakra, Crunchbang, Damnsmall, DSL, Exherbo, Feather, Linux from scratch, MeeGo, Mint, OpenWRT, PCLinuxOS, Puppy, Sabayon, Salix, Scientific Linux, Slax, Sorcerer, Zenwalk Distribution of usage. The neat classification of the types of projects users reconfigure the Linux kernel for turned out to be difficult. First, most users who answered personal use frequently gave other