Gentoo Archives: gentoo-soc

From: Eric Thibodeau <kyron@××××××××.com>
To: gentoo-soc@l.g.o
Subject: Re: [gentoo-soc] Re: GSoc 2009 : Making the cluster LiveCD bootable from USB
Date: Tue, 24 Mar 2009 15:26:50
Message-Id: 49C8FBB8.7090502@neuralbs.com
In Reply to: [gentoo-soc] Re: GSoc 2009 : Making the cluster LiveCD bootable from USB by Tom Stellard
1 Tom Stellard wrote:
2 > On Mon, Mar 23, 2009 at 7:18 AM, Eric Thibodeau <kyron@××××××××.com> wrote:
3 >
4 >> In response to two e-mails I just got off list from Meetanshu Gupta and
5 >> Ajith Kamath, in both cases the impression is that the project is simply to
6 >> port the bootable CD to USB disk. Here is are some clarifications:
7 >>
8 >> - The wiki's¹ description is misleading, booting to USB was ONE of my
9 >> suggestions with a little more details here². Quite frankly, porting to USB
10 >> should be somewhat trivial. The hardest part is to being very methodical and
11 >> making sure the process can be reproduced using, ideally, Catalyst and
12 >> little outside scripting. All of this also implies getting the catalyst
13 >> specs up to date, modifying/removing many hacks that would no longer be
14 >> required for a USB based boot (since we would now have an RW system). ***
15 >> root on JFFS2 might be of interest here ***... and so on.
16 >>
17 >>
18 >
19 > Is the idea that booting from a USB device would be added as an option
20 > when building the liveCD image, or is booting from a USB device
21 > supposed to replace booting from a CD?
22 >
23 The idea is to replace the CD. CDs are a PITA to use from an OS point of
24 view and require overlayed over overlayed filesystems. Given the size
25 price and availability of USB keys these days, it's just no longer worth
26 the effort. Using a USB-based install also makes the installation
27 "upgradable" and an excellent starting point that can evolve. We should
28 then consider having the portage tree included in the image or make it
29 easy to add it (ie: don't strip too much out of the image or have
30 alternate images...which is a nuisance IMHO).
31 >
32 >> - AuFS is used as an overlay system and is required for the NFS-booted
33 >> nodes. One might want to migrate that to a less efficient tmpfs approach
34 >> (ref: LTSP implementation as being done under Gentoo too).
35 >> - Change most of the scripts to use dialog and automate some detection/ask
36 >> questions as per what was discovered.
37 >> - ... and so on, the idea would be to implement my original proposal and
38 >> push it further. I do have it but want some feedback before I dig it out and
39 >> re-post it (Donnie, thought you had posted it as an example? If not so, feel
40 >> free to do so if it's still relevant.)
41 >>
42 >
43 > I have been working on building the liveCD the last few days, and I am
44 > almost finished. I have run into many problems along the way, and I
45 > have come up with a few general ideas for things to include in my
46 > proposal:
47 >
48 > -Add spec files for x86.
49 >
50 yes
51 > -Update the hpc-clustering and nfsroot profiles and the catalyst spec files.
52 >
53 yes
54 > -Simplify and automate the build process with a configuration script.
55 >
56 ? Meaning that you'd make a script that calls catalyst? Be my guest ;)
57 > -Add documentation for building the liveCD using the new configuration script.
58 >
59 Or liveMedium as I started calling it for USB usage (or external HDD ;).
60 Documentation is _always_ a good thing.
61 > These tasks all involve the build process, and once they have been
62 > completed, work could begin on USB booting, JFFS2 or other areas of
63 > interest.
64 >
65 Booting off USB should be the priority, even before nice docs or
66 automating the calling of catalyst. I didn't make a script for building
67 the images since the script does very little once the environment is set up.
68 > It seems like a lot of work has been done to make sure the right
69 > packages are included in the build, and that currently the biggest
70 > challenge is updating the build process and making it easy to
71 > duplicate.
72 I don't know the status of the new version of Catalyst but many new
73 features, such as building stages 1-3 or even 1-4 in a single call, are
74 supposed to be added. I suggest checking out the status of that project
75 and then planning the "move" if applicable. Otherwise we'll have to
76 stick to the hackerish scripts and catalyst specs.
77
78 My notes on why duplicating the build process tend to point to the
79 portage tree being so dynamic and the stage builds being very sensitive
80 to the tree. With the advent of snapshots and stages being produced on a
81 regular basis, the stage build pains should be lessened significantly
82 compared to the quarterly or bi-annual releases.
83 > Will improving the build process, USB booting and the
84 > related file system changes be enough work for one summer, or are
85 > there other parts of the cluster liveCD that Gentoo developers would
86 > like to see improved?
87 >
88 Most of the configuration script(s) should be modified into a dialog(1)
89 based script where the user is presented options that would be selected.
90 The setup script I made is quite crude and reads in 2 config files. This
91 should be changed to use dialog and provide the user the opportunity to
92 change the default values.
93
94 Another significant leap would be to be able to boot the nodes off
95 NFSv4. This may sound trivial but the kernel deosn't support this
96 natively which implies using a ramdisk (initrd). NFSv4 has many advantages:
97
98 * Ability to use links outside of the exported root (server side):
99 -- this means that most of the common config files between the
100 server and nodes could be links...very _interesting_
101 * better caching
102 * all sorts of new goodies I am forgetting about
103
104 The problem with this might be that the overlayed filesystem used for
105 the nfsroot might not like NFSv4 (aufs is already having a hard time
106 with NFS at all). This might be yet another reason to use tmpfs+bind
107 mounts*¹* as being done for the Gentoo MueCow project.
108
109 > -Tom Stellard
110 >
111 So, there is still much to be done OS side even before we start looking
112 at goodies such as integrating TAU² and other popular scientific
113 apps...which mostly also imply good X drivers with all the surrounding
114 issues... We might even have enough meat for more than one SoCer on this :P.
115
116 Eric Thibodeau
117
118 ¹ http://www.funtoo.org/en/articles/linux/ffg/3/ "Tmpfs and bind mounts"
119 ² http://www.cs.uoregon.edu/research/tau/home.php