The problem is that instead of a normal BIOS or UEFI, thelaptop has the
nasty ChromeOS bootloader which refuses to boot the normal Debian ARM64 Netinst installer. The only thing it wants to boot from USB is the
ChromeOS recovery.
In theory, I could boot into ChromeOS from the eMMC, login as root and
copy Debian from the stick to the eMMC, but I don’t know how to
partition the eMMC. Where does the nasty bootloader expect to find
things? Can I make it boot into GRUB, or do I have to put the Linux
kernel from Debian onto a special partition? I’m completely clueless.
I currently have a Lenovo Duet 5 chromebook (with ARM processor) that runs debian off an SD Card via USB.
The problem is that instead of a normal BIOS or UEFI, thelaptop has the nasty ChromeOS bootloader which refuses to boot the normal Debian ARM64 Netinst installer. The only thing it wants to boot from USB is the
ChromeOS recovery.
hexbuilder's VelvetOS (a (slightly?) modified version of Debian) builds
might boot from USB--that's what I'm using.
Check out https://github.com/hexdump0815/imagebuilder/blob/main/systems/chromebook_oak/readme.md
In theory, I could boot into ChromeOS from the eMMC, login as root and
copy Debian from the stick to the eMMC, but I don’t know how to
partition the eMMC. Where does the nasty bootloader expect to find
things? Can I make it boot into GRUB, or do I have to put the Linux
kernel from Debian onto a special partition? I’m completely clueless.
The process seems to be:
1) compress the kernel image with lz4
2) create a FIT image with mkimage
(mkimage is found in the "u-boot-tools" package in debian)
3) sign the FIT image and add the kernel commandline with vbutil_kernel
(vbutil_kernel is found in the "vboot-kernel-utils" package in debian)
4) dd the signed image to one of a "Kernel" partition
5) use cgpt to set the relevant flags that mark the chosen Kernel
partition as bootable/preferred.
(there's a "cgpt" package in debian)
The documentation for this (and the individual tools) is a bit suboptimal
and scattered, so I don't have any documentation pointers--I extracted this process from the build scripts for hexbuilder's VelvetOS images.
I haven't gotten to the point of understanding if/why all these steps are actually necessary, but I've used this process successfully to customize
the install and partition table on the SD card I'm using on my Chromebook.
I suspect that a similar process could be applied to the internal storage
of a Chromebook, but I haven't explored that yet.
<br></div><div>Jérémy</div></div></div>
I recently bought a Chromebook with the intent to delete Chrome and
install Debian. I’m not talking about running Debian in a virtual
machine or chroot environment under ChromeOS, but booting directly into
it. The laptop is a
Lenovo IdeaPad Flex3 CB 11M735,
and its processor is a
MediaTek MT8173C (4 core ARMv8).
I currently have a Lenovo Duet 5 chromebook (with ARM processor) that runs >> debian off an SD Card via USB.
The problem is that instead of a normal BIOS or UEFI, thelaptop has the
nasty ChromeOS bootloader which refuses to boot the normal Debian ARM64
Netinst installer. The only thing it wants to boot from USB is the
ChromeOS recovery.
[...]
I haven't gotten to the point of understanding if/why all these steps are
actually necessary, but I've used this process successfully to customize
the install and partition table on the SD card I'm using on my Chromebook. >> I suspect that a similar process could be applied to the internal storage
of a Chromebook, but I haven't explored that yet.
Alper Nebi Yasak was working on making it easier to do all that in debian, you might find interesting things at https://salsa.debian.org/alpernebbi
I know depthcharge-tools is in debian and is working (i'm using it on c201 chromebooks).
However I don't know if it's possible to install debian the usual way right now.
On 31/03/2023 00:50, Brian Sammon wrote:
I currently have a Lenovo Duet 5 chromebook (with ARM processor) that
debian off an SD Card via USB.
The SC7180 one? Does it work with the Debian-built kernel?
It's just how Google designed their bootloader to boot ChromeOS, insteadI haven't gotten to the point of understanding if/why all these steps
actually necessary, but I've used this process successfully to
Debian Installer can create ChromeOS kernel partitions (manually) and
can use depthcharge-tools to make things bootable now, assuming you can
get the installer to boot (wrt/ kernel support, manual image
preparation, size limits).
I need to work more on generating pre-built installer images, and I
expect I'll need to write a wiki page for some parts eventually. But
things are looking good (kernel config aside).
• /dev/mmcblk0p4 which is mounted as / is only 2.9 GB large, so most
of the MMC is still free space. So the next step would be to enlarge
this partitition, but I don’t know how.
• Velvet OS is based on Debian sid, not stable.
• Velvet OS comes with XFCE. I don’t know how to uninstall XFCE,
so that startx will start IceWM. This is weird, but propably due to
my lack of knowledge.
• /dev/mmcblk0p4 which is mounted as / is formatted as BTRFS. I’ve
never heared of this before. Is this good or bad, compared to EXT4?
Also, I don’t know what would be the steps to replace it with an
EXT4 partition.
On Wed, 5 Apr 2023 18:31:10 +0300 Alper Nebi Yasak
<alpernebiyasak@gmail.com> wrote:
The SC7180 one? Does it work with the Debian-built kernel?
It's a Qualcomm Snapdragon 7c Ver2. I'm running the kernel that came
with the image I downloaded from
https://github.com/hexdump0815/imagebuilder a few months ago. I
believe it's a 5.19.1 kernel minimally patched from kernel.org
sources (and possibly some customization of the .config and
devicetree). Reportedly, v6 of the kernel should work unpatched. I
should start a DebianOn page for the wiki.
It's just how Google designed their bootloader to boot ChromeOS,
instead
Right, I get the general idea. Just not sure if you need to follow
that process 100%, or if there's some flexibility. In particular, I
don't know if the lz4 step is necessary, and whether other
compression formats are allowed.
Relatedly, I'm wondering how many kernel partitions I can have. Can
I have (usefully) a "KERN-Z" partition?
Is there anywhere (besides this list) that I should be
reading/subscribed to to learn more about debian-installer support
for Chromebooks?
I recently bought a Chromebook with the intent to delete Chrome and
install Debian. I’m not talking about running Debian in a virtual
machine or chroot environment under ChromeOS, but booting directly into
it. The laptop is a
Lenovo IdeaPad Flex3 CB 11M735,
and its processor is a
MediaTek MT8173C (4 core ARMv8).
The problem is that instead of a normal BIOS or UEFI, thelaptop has the
nasty ChromeOS bootloader which refuses to boot the normal Debian ARM64 Netinst installer. The only thing it wants to boot from USB is the
ChromeOS recovery.
In theory, I could boot into ChromeOS from the eMMC, login as root and
copy Debian from the stick to the eMMC, but I don’t know how to
partition the eMMC. Where does the nasty bootloader expect to find
things? Can I make it boot into GRUB, or do I have to put the Linux
kernel from Debian onto a special partition? I’m completely clueless.
Is there anywhere (besides this list) that I should be
reading/subscribed to to learn more about debian-installer support
for Chromebooks?
Installer discussion in general happens at the debian-boot@ list and #debian-boot IRC channel. I'm not exactly talkative while I work, though
I'm bound to announce things there eventually. If you want a general
overview of things, I had a talk at DebConf22 [1], but it's somewhat
outdated as things progressed.
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 493 |
Nodes: | 16 (2 / 14) |
Uptime: | 11:51:28 |
Calls: | 9,711 |
Calls today: | 1 |
Files: | 13,740 |
Messages: | 6,181,572 |