So I’ve been thinking about how to integrate the HP Chromebook into the standard Samsung Chromebook install with minimal disruption to the existing snow users. The HP needs a different nv_uboot but that’s available now and a 1 time change to that one install step.
The other real difference is the need for a different uImage. The HP uses the same kernel config as the Samsung but needs a different dtb glued on. After chasing down a couple of other roads, I think have a proposal to do this. Why not create 2 uImage files as part of the linux-chromebook package and symlink to the right one in /boot?
Pros:
One package for Samsung and HP.
Package shouldn’t take much longer to build - uses same kernel; just builds a second uImage.
Still only one package to maintain.
Cons:
Package will be slightly bigger, and use up approximately 4Mb more of /boot
Install directions would need one additional step for both snow / spring to ln -s /boot/vmlinux-snow.uimg (or spring) to /boot/vmlinux.uimg. For upgrades, the package includes a post_install check and defaults to creating a symlink for snow (since spring users wouldn’t be using the existing package anyway).
I’ve modified the linux-chromebook package build files to accomplish this. Here’s a quick human rundown of what I’ve done. Or if you like git diff:
https://github.com/jquagga/PKGBUILDs/co ... 732e851c76I split kernel.its into kernel-snow.its and kernel-spring.its. Again exactly the same except one points to the snow dtb and the other to spring.
Instead of “make uImage modules” I’m “make zImage modules”. The uImage built in this step was never used anyway (it just generated a zImage built into a uImage with mkimage later on). I figured why waste the effort.
I’m copying both snow/spring.its into the tree to build both uImages.
mkimage runs twice building vmlinux-snow.uimg and vmlinux-spring.uimg
The package copies both vmlinux-snow.uimg and vmlinux-spring.uimg into /boot.
Finally, I added a quick if stanza to linux-chromebook.install for upgrading users. It creates a symlink to to the snow vmlinux if the symlink doesn’t already exist. This makes the assumption that most HP Chromebook Arch Linux users aren’t using the existing package since it doesn’t work for us.
So ... thoughts?