I've been planning on removing the contents of /boot from the root partitions on Chrome OS images for a while now, but have just now found some time to implement this. I know that the postinst program requires this, and I plan on chaning postinst so that dependency no longer exists. As far as I can tell, nobody boots from the /boot folder. Are there any other dependencies on the /boot folder in the root partitions?
--
--
Chromium OS Developers mailing list: chromiu...@chromium.org
View archives, change email options, or unsubscribe:
http://groups.google.com/a/chromium.org/group/chromium-os-dev?hl=en
>> > email to chromium-os-dev+unsubscribe@chromium.org.
>>
>> --
>> --
>> Chromium OS Developers mailing list: chromiu...@chromium.org
>> View archives, change email options, or unsubscribe:
>> http://groups.google.com/a/chromium.org/group/chromium-os-dev?hl=en
>>
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to chromium-os-dev+unsubscribe@chromium.org.
The biggest reason to remove it is that doing so will speed up image_to_vm.sh.
Another is that when I first got started on the Chrome OS team, the /boot folder acted as a frustrating red herring. I was trying to modify the kernel command line there without realizing it had no effect on VMs. Removing the /boot folder's contents would prevent this confusion for future newcomers.
On Tue Dec 16 2014 at 4:21:15 PM 'Zachary Reizner' via Chromium OS dev <chromiu...@chromium.org> wrote:The biggest reason to remove it is that doing so will speed up image_to_vm.sh.Do we have an idea how much of a speedup this will get us? It's hard to evaluate the tradeoffs without that info :-/
Another is that when I first got started on the Chrome OS team, the /boot folder acted as a frustrating red herring. I was trying to modify the kernel command line there without realizing it had no effect on VMs. Removing the /boot folder's contents would prevent this confusion for future newcomers.Is there some kind of README or something where we could document this instead? And what'd your mentor tell you about this when you asked him or her?
+dianders
I thought there was something that used /boot -- Doug, maybe it was
just nv_uboot on older platforms?
On Tue, Dec 16, 2014 at 4:42 PM, Chris Masone <cma...@chromium.org> wrote:On Tue Dec 16 2014 at 4:21:15 PM 'Zachary Reizner' via Chromium OS dev <chromiu...@chromium.org> wrote:The biggest reason to remove it is that doing so will speed up image_to_vm.sh.Do we have an idea how much of a speedup this will get us? It's hard to evaluate the tradeoffs without that info :-/According to Gabe, assuming I could successfully remove the need to call cros_make_image_bootable which will hopefully result from this change, about 18% of the image_to_vm.sh runtime.
Another is that when I first got started on the Chrome OS team, the /boot folder acted as a frustrating red herring. I was trying to modify the kernel command line there without realizing it had no effect on VMs. Removing the /boot folder's contents would prevent this confusion for future newcomers.Is there some kind of README or something where we could document this instead? And what'd your mentor tell you about this when you asked him or her?While a README would have been helpful, I think removing the hidden snake pit is better than giving developers a map around it, even if it requires me to put in some elbow grease. It was a few months ago when I was dealing with this, so I can't remember if I asked my mentor about it. However, not everybody (e.g. outside contributors) has a mentor to ask for quick help on institutional knowledge.
On Tue Dec 16 2014 at 4:51:50 PM Zachary Reizner <za...@google.com> wrote:On Tue, Dec 16, 2014 at 4:42 PM, Chris Masone <cma...@chromium.org> wrote:On Tue Dec 16 2014 at 4:21:15 PM 'Zachary Reizner' via Chromium OS dev <chromiu...@chromium.org> wrote:The biggest reason to remove it is that doing so will speed up image_to_vm.sh.Do we have an idea how much of a speedup this will get us? It's hard to evaluate the tradeoffs without that info :-/According to Gabe, assuming I could successfully remove the need to call cros_make_image_bootable which will hopefully result from this change, about 18% of the image_to_vm.sh runtime.How much walltime is that? Is converting the images to VMs a bottleneck on the builders? That is, are the builders parallelizing it with other work anyway? Without knowing that, it's still hard to tell if this proposed gain is meaningful or not.
Another is that when I first got started on the Chrome OS team, the /boot folder acted as a frustrating red herring. I was trying to modify the kernel command line there without realizing it had no effect on VMs. Removing the /boot folder's contents would prevent this confusion for future newcomers.Is there some kind of README or something where we could document this instead? And what'd your mentor tell you about this when you asked him or her?While a README would have been helpful, I think removing the hidden snake pit is better than giving developers a map around it, even if it requires me to put in some elbow grease. It was a few months ago when I was dealing with this, so I can't remember if I asked my mentor about it. However, not everybody (e.g. outside contributors) has a mentor to ask for quick help on institutional knowledge.Won't removing this negatively impact people not using official Chrome OS firmware, though? Like, potentially breaking boot? These would be the same people who don't have a mentor to ask for help on institutional knowledge.FWIW, I actually run in VMs a lot, because for the userspace code I work on it's more than fine. I agree with Sonny's gut feeling that people doing kernel work in VMs are a bit of an edge case, though.
On Wed, Dec 17, 2014 at 10:45 AM, Chris Masone <cma...@chromium.org> wrote:On Tue Dec 16 2014 at 4:51:50 PM Zachary Reizner <za...@google.com> wrote:On Tue, Dec 16, 2014 at 4:42 PM, Chris Masone <cma...@chromium.org> wrote:On Tue Dec 16 2014 at 4:21:15 PM 'Zachary Reizner' via Chromium OS dev <chromiu...@chromium.org> wrote:The biggest reason to remove it is that doing so will speed up image_to_vm.sh.Do we have an idea how much of a speedup this will get us? It's hard to evaluate the tradeoffs without that info :-/According to Gabe, assuming I could successfully remove the need to call cros_make_image_bootable which will hopefully result from this change, about 18% of the image_to_vm.sh runtime.How much walltime is that? Is converting the images to VMs a bottleneck on the builders? That is, are the builders parallelizing it with other work anyway? Without knowing that, it's still hard to tell if this proposed gain is meaningful or not.I'm under the impression that this unlikely to meaningfully improve overall runtime on the builders. However, I tend to run image_to_vm.sh manually often and would appreciate less wait time on that command.
On Wed, Dec 17, 2014 at 10:45 AM, Chris Masone <cma...@chromium.org> wrote:On Tue Dec 16 2014 at 4:51:50 PM Zachary Reizner <za...@google.com> wrote:On Tue, Dec 16, 2014 at 4:42 PM, Chris Masone <cma...@chromium.org> wrote:On Tue Dec 16 2014 at 4:21:15 PM 'Zachary Reizner' via Chromium OS dev <chromiu...@chromium.org> wrote:The biggest reason to remove it is that doing so will speed up image_to_vm.sh.Do we have an idea how much of a speedup this will get us? It's hard to evaluate the tradeoffs without that info :-/According to Gabe, assuming I could successfully remove the need to call cros_make_image_bootable which will hopefully result from this change, about 18% of the image_to_vm.sh runtime.How much walltime is that? Is converting the images to VMs a bottleneck on the builders? That is, are the builders parallelizing it with other work anyway? Without knowing that, it's still hard to tell if this proposed gain is meaningful or not.I'm under the impression that this unlikely to meaningfully improve overall runtime on the builders. However, I tend to run image_to_vm.sh manually often and would appreciate less wait time on that command.
Another is that when I first got started on the Chrome OS team, the /boot folder acted as a frustrating red herring. I was trying to modify the kernel command line there without realizing it had no effect on VMs. Removing the /boot folder's contents would prevent this confusion for future newcomers.Is there some kind of README or something where we could document this instead? And what'd your mentor tell you about this when you asked him or her?While a README would have been helpful, I think removing the hidden snake pit is better than giving developers a map around it, even if it requires me to put in some elbow grease. It was a few months ago when I was dealing with this, so I can't remember if I asked my mentor about it. However, not everybody (e.g. outside contributors) has a mentor to ask for quick help on institutional knowledge.Won't removing this negatively impact people not using official Chrome OS firmware, though? Like, potentially breaking boot? These would be the same people who don't have a mentor to ask for help on institutional knowledge.FWIW, I actually run in VMs a lot, because for the userspace code I work on it's more than fine. I agree with Sonny's gut feeling that people doing kernel work in VMs are a bit of an edge case, though.I run qemu almost exclusively since I've gotten here and I'm doing kernel work. Hence my strong incentive to see VM development work smoother.
On Thu, Dec 18, 2014 at 5:21 PM, Zachary Reizner <za...@google.com> wrote:On Wed, Dec 17, 2014 at 10:45 AM, Chris Masone <cma...@chromium.org> wrote:On Tue Dec 16 2014 at 4:51:50 PM Zachary Reizner <za...@google.com> wrote:On Tue, Dec 16, 2014 at 4:42 PM, Chris Masone <cma...@chromium.org> wrote:On Tue Dec 16 2014 at 4:21:15 PM 'Zachary Reizner' via Chromium OS dev <chromiu...@chromium.org> wrote:The biggest reason to remove it is that doing so will speed up image_to_vm.sh.Do we have an idea how much of a speedup this will get us? It's hard to evaluate the tradeoffs without that info :-/According to Gabe, assuming I could successfully remove the need to call cros_make_image_bootable which will hopefully result from this change, about 18% of the image_to_vm.sh runtime.How much walltime is that? Is converting the images to VMs a bottleneck on the builders? That is, are the builders parallelizing it with other work anyway? Without knowing that, it's still hard to tell if this proposed gain is meaningful or not.I'm under the impression that this unlikely to meaningfully improve overall runtime on the builders. However, I tend to run image_to_vm.sh manually often and would appreciate less wait time on that command.shrinking the cycle time from build_image to launching a VM is good (removing the need for image_to_vm.sh entirely is even better). but how does that translate to removing /boot ?-mike
On Thu Dec 18 2014 at 2:21:42 PM Zachary Reizner <za...@google.com> wrote:On Wed, Dec 17, 2014 at 10:45 AM, Chris Masone <cma...@chromium.org> wrote:On Tue Dec 16 2014 at 4:51:50 PM Zachary Reizner <za...@google.com> wrote:On Tue, Dec 16, 2014 at 4:42 PM, Chris Masone <cma...@chromium.org> wrote:On Tue Dec 16 2014 at 4:21:15 PM 'Zachary Reizner' via Chromium OS dev <chromiu...@chromium.org> wrote:The biggest reason to remove it is that doing so will speed up image_to_vm.sh.Do we have an idea how much of a speedup this will get us? It's hard to evaluate the tradeoffs without that info :-/According to Gabe, assuming I could successfully remove the need to call cros_make_image_bootable which will hopefully result from this change, about 18% of the image_to_vm.sh runtime.How much walltime is that? Is converting the images to VMs a bottleneck on the builders? That is, are the builders parallelizing it with other work anyway? Without knowing that, it's still hard to tell if this proposed gain is meaningful or not.I'm under the impression that this unlikely to meaningfully improve overall runtime on the builders. However, I tend to run image_to_vm.sh manually often and would appreciate less wait time on that command.I can appreciate your desire; as I said, I often do development in a VM as well.However, if it would break boot for people running Chromium OS on non-Chrome{box,book} hardware, then I think we'd need to explore other choices. Is that so, or have I misunderstood the conversation so far?
Also, is it possible that there's a better workflow for you? Ideally, you wouldn't have to mint a new image multiple times a day to do your work. There are ways to push new kernels to running systems, right?
On Thu, Dec 18, 2014 at 3:43 PM, Chris Masone <cma...@chromium.org> wrote:On Thu Dec 18 2014 at 2:21:42 PM Zachary Reizner <za...@google.com> wrote:On Wed, Dec 17, 2014 at 10:45 AM, Chris Masone <cma...@chromium.org> wrote:On Tue Dec 16 2014 at 4:51:50 PM Zachary Reizner <za...@google.com> wrote:On Tue, Dec 16, 2014 at 4:42 PM, Chris Masone <cma...@chromium.org> wrote:On Tue Dec 16 2014 at 4:21:15 PM 'Zachary Reizner' via Chromium OS dev <chromiu...@chromium.org> wrote:The biggest reason to remove it is that doing so will speed up image_to_vm.sh.Do we have an idea how much of a speedup this will get us? It's hard to evaluate the tradeoffs without that info :-/According to Gabe, assuming I could successfully remove the need to call cros_make_image_bootable which will hopefully result from this change, about 18% of the image_to_vm.sh runtime.How much walltime is that? Is converting the images to VMs a bottleneck on the builders? That is, are the builders parallelizing it with other work anyway? Without knowing that, it's still hard to tell if this proposed gain is meaningful or not.I'm under the impression that this unlikely to meaningfully improve overall runtime on the builders. However, I tend to run image_to_vm.sh manually often and would appreciate less wait time on that command.I can appreciate your desire; as I said, I often do development in a VM as well.However, if it would break boot for people running Chromium OS on non-Chrome{box,book} hardware, then I think we'd need to explore other choices. Is that so, or have I misunderstood the conversation so far?The only boards it would break are the ones that actually boot from /boot on the root partition. Chrome OS users on generic x86 hardware (or VMs) are booting the system partition and would therefore be safe. It seems Beaglebone and nv_boot users DO in fact need the /boot folder, however I'm looking into fixing that.
On Thu Dec 18 2014 at 3:59:13 PM Zachary Reizner <za...@google.com> wrote:On Thu, Dec 18, 2014 at 3:43 PM, Chris Masone <cma...@chromium.org> wrote:On Thu Dec 18 2014 at 2:21:42 PM Zachary Reizner <za...@google.com> wrote:On Wed, Dec 17, 2014 at 10:45 AM, Chris Masone <cma...@chromium.org> wrote:On Tue Dec 16 2014 at 4:51:50 PM Zachary Reizner <za...@google.com> wrote:On Tue, Dec 16, 2014 at 4:42 PM, Chris Masone <cma...@chromium.org> wrote:On Tue Dec 16 2014 at 4:21:15 PM 'Zachary Reizner' via Chromium OS dev <chromiu...@chromium.org> wrote:The biggest reason to remove it is that doing so will speed up image_to_vm.sh.Do we have an idea how much of a speedup this will get us? It's hard to evaluate the tradeoffs without that info :-/According to Gabe, assuming I could successfully remove the need to call cros_make_image_bootable which will hopefully result from this change, about 18% of the image_to_vm.sh runtime.How much walltime is that? Is converting the images to VMs a bottleneck on the builders? That is, are the builders parallelizing it with other work anyway? Without knowing that, it's still hard to tell if this proposed gain is meaningful or not.I'm under the impression that this unlikely to meaningfully improve overall runtime on the builders. However, I tend to run image_to_vm.sh manually often and would appreciate less wait time on that command.I can appreciate your desire; as I said, I often do development in a VM as well.However, if it would break boot for people running Chromium OS on non-Chrome{box,book} hardware, then I think we'd need to explore other choices. Is that so, or have I misunderstood the conversation so far?The only boards it would break are the ones that actually boot from /boot on the root partition. Chrome OS users on generic x86 hardware (or VMs) are booting the system partition and would therefore be safe. It seems Beaglebone and nv_boot users DO in fact need the /boot folder, however I'm looking into fixing that.I thought /boot was there to support legacy bootloaders, which many commodity x86 devices have. From chromium-os-discuss traffic, I feel like old laptops are mostly what people try to run Chromium OS on.Is this not so?
On Fri, Dec 19, 2014 at 8:56 AM, Chris Masone <cma...@chromium.org> wrote:On Thu Dec 18 2014 at 3:59:13 PM Zachary Reizner <za...@google.com> wrote:On Thu, Dec 18, 2014 at 3:43 PM, Chris Masone <cma...@chromium.org> wrote:On Thu Dec 18 2014 at 2:21:42 PM Zachary Reizner <za...@google.com> wrote:On Wed, Dec 17, 2014 at 10:45 AM, Chris Masone <cma...@chromium.org> wrote:On Tue Dec 16 2014 at 4:51:50 PM Zachary Reizner <za...@google.com> wrote:On Tue, Dec 16, 2014 at 4:42 PM, Chris Masone <cma...@chromium.org> wrote:On Tue Dec 16 2014 at 4:21:15 PM 'Zachary Reizner' via Chromium OS dev <chromiu...@chromium.org> wrote:The biggest reason to remove it is that doing so will speed up image_to_vm.sh.Do we have an idea how much of a speedup this will get us? It's hard to evaluate the tradeoffs without that info :-/According to Gabe, assuming I could successfully remove the need to call cros_make_image_bootable which will hopefully result from this change, about 18% of the image_to_vm.sh runtime.How much walltime is that? Is converting the images to VMs a bottleneck on the builders? That is, are the builders parallelizing it with other work anyway? Without knowing that, it's still hard to tell if this proposed gain is meaningful or not.I'm under the impression that this unlikely to meaningfully improve overall runtime on the builders. However, I tend to run image_to_vm.sh manually often and would appreciate less wait time on that command.I can appreciate your desire; as I said, I often do development in a VM as well.However, if it would break boot for people running Chromium OS on non-Chrome{box,book} hardware, then I think we'd need to explore other choices. Is that so, or have I misunderstood the conversation so far?The only boards it would break are the ones that actually boot from /boot on the root partition. Chrome OS users on generic x86 hardware (or VMs) are booting the system partition and would therefore be safe. It seems Beaglebone and nv_boot users DO in fact need the /boot folder, however I'm looking into fixing that.I thought /boot was there to support legacy bootloaders, which many commodity x86 devices have. From chromium-os-discuss traffic, I feel like old laptops are mostly what people try to run Chromium OS on.Is this not so?Legacy bootloaders work just fine on partition 12 (the system partition) as evidenced by the fact that qemu boots it just fine. Running `parted -l` on my machine even shows that partition has the boot flag. You can read more about this at http://www.chromium.org/chromium-os/chromiumos-design-docs/disk-format. That article mentions that /boot is needed by EFI, but if you actually look at <partition 12>/efi/boot/grub.cfg inside partition 12, it mostly just sticks the kernels under <partition 12>/syslinux. Granted that config has one labeled "Alternate USB Boot" which references the <partition 3>/boot/vmlinuz kernel, but I can't deduce that label's purpose or if anybody needs it.
I'm not convinced that the lack of comment during a time when almost the entire team is on vacation is meaningful :-)Have you confirmed that nothing depends on .../boot/vmlinuz?
Also, keep in mind that breaking postinst can have significant consequences for our users, and that devices in the field might update from very, very old system images. What're your plans for ensuring coverage for all autoupdate cases?
Also, factory flows are often rather different than developer or end-user use cases, especially when it comes to boot/recovery/image formatting. Have you checked with the factory team to ensure that they don't depend on this in any way?
Hello Hung-Te,Could you please weigh in on this issue of factory image formatting in relation to /boot in the root partitions? Does factory have dependencies on this that would be upset by my change?
Another is that when I first got started on the Chrome OS team, the /boot folder acted as a frustrating red herring. I was trying to modify the kernel command line there without realizing it had no effect on VMs. Removing the /boot folder's contents would prevent this confusion for future newcomers.Is there some kind of README or something where we could document this instead? And what'd your mentor tell you about this when you asked him or her?
While a README would have been helpful, I think removing the hidden snake pit is better than giving developers a map around it, even if it requires me to put in some elbow grease. It was a few months ago when I was dealing with this, so I can't remember if I asked my mentor about it. However, not everybody (e.g. outside contributors) has a mentor to ask for quick help on institutional knowledge.