Code Monkey home page Code Monkey logo

imagebuilder's People

Contributors

aneeshlingala avatar antonialoytorrens avatar deiol avatar gallee avatar hexdump0815 avatar oswalpalash avatar titoot avatar unixabg avatar vulpes2 avatar zhxt avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

imagebuilder's Issues

Username/PW?

Booting from the kukui build via usb I am presented with a login screen titled changeme. I do not see any documentation on the default login or when this needed to be set. Am I missing something?

misc: ipv6 disabled for what reason?

I'm using the odroid_u3-armv7l-ubuntu-focal-dev image from the current release (200823-01) and I'm wondering why ipv6 is disabled in /boot/extlinux/extlinux.conf (ipv6.disable=0).

Is it ok to enable it in a ipv6 environment or do I have to face problems?

Odroid U supported

I'm just opening this issue to thank you very much for your work to support even quite old boards and bring them current software!

I just obtained an odroid u which I mistakenly identified as u2 because I didn't find information about that an u1 even existed beforehand, but the pcb reads simply odroid-u.
I managed to boot the current debian bullseye image on sd card. I haven't yet managed to get it running from emmc, but I found instructions in issue #1 and will try that soon.

root@changeme:~# cat /sys/devices/soc0/*
Samsung Exynos
Hardkernel ODROID-U3 board based on Exynos4412
20
EXYNOS4412

PCB shows odroid-u despite the system says it's u3.

chromebook_kukui: status: krane (lenovo chromebook duet 10.1)

Notes on krane running 5.18.1 - for updated information please have a look at this comment below: #53 (comment):

Here is list of working and non working features on the lenovo chromebook duet 10.1 (krane).

Working

  • wifi
  • bluetooth
  • builtin display
  • energy: battery status, dpms, suspend/resume
  • usb c for basic usb functionality
  • gpu opengl: via mesa panfrost (opengl 3.1)
  • sound: speaker works, internal mic works with verly low levels

untested

  • hw video encode/decode: most probably not working yet

broken

  • webcams: not working yet, unclear if they can be made working as they are just simple cameras and no usb video class cameras like on other chromebooks
  • external display: not working yet

Installation

coming soon

PROBLEMS

none so far

ℹ️ [GUIDE]: How to Improve Graphical Acceleration for Adreno

Been playing with the coachz trogdor convertible and your builds... I do have to say I am impressed and want to help 😁

When attempting to run graphical applications I noticed quite a bit of crashing and some reboots while running compositors mixed with other GL applications (e.g. Google Earth in Firefox). Executing glxinfo -B reports 10MB of available video memory which doesn't seem right for linux distros. In my experience the reported video memory is usually equal to onboard RAM when using freedreno/zink.

Anyways I compiled the latest stable Mesa libs and graphical acceleration is working almost perfectly now (- chromium crash). In fact I don't even think I needed the GLES4 lib. Graphically intensive apps run better now and device actually meets the requirements needed to run Blender, wow!

Here are the general steps I used to build Mesa on the trogdor coachz variant. This could also work for many other snapdragon based Chromebooks sporting Adreno graphics as long as kernel has the appropriate support.

Install, gather and extract dependencies:

# sudo apt-get build-dep mesa && sudo apt-get install git

# wget https://dri.freedesktop.org/libdrm/libdrm-2.4.110.tar.xz
# tar -xvf libdrm-2.4.110.tar.xz

# wget https://wayland.freedesktop.org/releases/wayland-protocols-1.25.tar.xz
# tar -xvf wayland-protocols-1.25.tar.xz

# git clone -b 22.0 https://github.com/mesa3d/mesa mesa-22.0.2

Build and install libdrm-2.4.110:

cd libdrm-2.4.110 && meson build --prefix=/usr --buildtype=release -Dudev=true -Dvalgrind=false && sudo ninja -C build install && cd ../

Build and install wayland-protocols-1.25

cd wayland-protocols-1.25 && meson build --prefix=/usr --buildtype=release && sudo ninja -C build install && cd ../

Build and install Mesa 22.0.2

cd mesa-22.0.2 && meson build --prefix /usr -D platforms=x11,wayland -D gallium-drivers=freedreno,zink,swrast,virgl -D vulkan-drivers=freedreno -D freedreno-kgsl=false -D dri3=enabled -D egl=enabled -D gles1=enabled -D gles2=enabled -D glvnd=true -D glx=dri -D libunwind=disabled -D osmesa=true -D shared-glapi=enabled -D microsoft-clc=disabled -D valgrind=disabled && sudo ninja -C build install && cd ../

I may update this in the near future with more detailed instructions, gist, etc....

@hexdump0815 I'd like to note this is not an issue and more for informational purposes. 😉 Unless you consider as much. Thank you for all your efforts. I truly appreciate your work bringing true Linux distros to these arm based devices.

chromebook_veyron: misc: jerry: Focal Fossa, Bullseye usability report

Hello,

Here's just some usability reports from a veyron-jerry (Hisense C11) user:

  • (u-boot) u-boot mostly works, the autoboot feature sometimes does not work correctly, and inputted commands do not appear on the screen immediately.
  • (Focal Fossa) everything (that I tested so far) works out of the box. It's pretty usable. (update: it does sometimes suffer from Panfrost-related bugs, but I think this is a known kernel issue. See: https://oftc.irclog.whitequark.org/panfrost/2021-07-07 ).
  • (Bullseye) System sometimes crashes. To reproduce, try removing "Panel 2" of the XFCE desktop environment by using XFCE Panel Preferences (kills the kernel, at least on my system). Somehow I am not getting much useful logs (on /var/log).
  • I switched to ext4 because btrfs caused slow downs in some occassions, but I do agree btrfs is in overall a better filesystem.

I think most issues are due to the u-boot and the kernel. Regarding the crashes, I experienced similar problems on a veyron-jerry Depthcharge boot image that I built using the mainline Arch Linux kernel and debootstrapped Debian Bullseye rootfs. I guess it's a kernel issue (maybe some weird Panfrost interrupt issues) that is only triggered by later versions of userland applications, but somehow I am not getting good error logs.

Anyway, thank you for developing and maintaining a nice project!

(2022-07-25 update: removing an xfce panel no longer causes crashes, but there are still some stability issues. Haven't looked into it much yet, though.)

Installation for krane

Is there is a script to install the image onto krane? I want to attempt to daily drive Linux on the chromebook

Update Ubuntu to 20.04 LTS + kernel

Hi,

do you have any plans to update Ubuntu to 20.04 LTS? I am using your images just fine on Odroid U2, however, I am using kernel 5.4.5. Is there any way how to update it to version 5.4.53 with u-boot without configuring everything from scratch?

Anyway, thank you for your work! It's incredible. You should consider using Github Sponsors, so anyone including me can send you a few bucks.

kind of a changelog of the dev branch

i'll try to use this issue to track some of the things i'm thinking about, experimenting with or working on in the dev branch for some kind of a next generation of the imagebuilder scripts

so far we have there:

  • switch ubuntu from bionic to focal and start to make the ubuntu/debian version more generic (wip)
  • switch from swap partition to a swap file - this is more flexible adjustable later
  • cancelled: prepare for non snap chromium install - i think even armbian dropped it and firefox is more resource friendly anyway, whoever needs chromium may try the snap or do the debian repo trick
  • fix a problem with the lightdm greeter on some systems (ubuntu focal) - slick-greeter seems to work
  • disable apport
  • disable automatic and unattended upgrades - i hated it when the system was blocked by the unattended upgrades directly after boot
  • add zswap support - now that i have a script (/root/zswap-stats.sh) to show how much it really saves on disk writes i think this might stay
  • make the created username flexible

misc: Enable support for binfmt_misc to support box86

It seems like binfmt_misc isn't supported in the Odroid U3 image, as there is no binfmt_misc module loaded and no /proc/sys/fs/binfmt_misc directory. Compiling the kernel with that option enabled makes the kernel module loadable, however the directory /proc/sys/fs/binfmt_misc is still missing. It would be nice to have support for that to use box86 properly.

Optional script to update newer kernel

Hi,
Is there an optional script to update/build a newer kernel release and write the first partition to run this kernel?
From the ISO's you build for ARM and Intel, an kernel build script and installer. (I like to test new Vulkan PVR driver)
Apollolake has same issue as cannonlake, only RW from chromebox,but like uboot/depthcharge.

Thnks,
Ernst

chromebook_kukui: status: fennel14 (lenovo ideapad chromebook 14)

Notes on FENNEL14 running 5.18.1

Here is list of working and non working features on the Lenovo Ideapad Chromebook 14 (aka FENNEL14 sku0). I will update accordingly with detailed issues, logs and proposed fixes.

UPDATE

new image available, everything works https://github.com/hexdump0815/imagebuilder/releases/tag/220606-01 THX @hexdump0815

Working

• WiFi
• Screen
• Energy (Battery Status, DPMS)
• USB C
• Webcam (tested with firefox https://experiments.withgoogle.com/collection/ai/move-mirror/view/mirror)
• H/W video decode
• GPU Opengl (tested with firefox https://webglsamples.org/aquarium/aquarium.html)
• Suspend
• GPU OpenglES 3.1
• Sound (mic not tested)
• Bluetooth

Untested

• H/W video encode

Broken

• some apps are throwing "dbus-launch no file or directory" -> "sudo apt install dbus-x11" resolves that.
snapd for new chromium version (maybe missing CONFIG_SQUASHFS) -> one alternative maybe the pi-apps store

Installation

To build the System, get the Image from https://github.com/hexdump0815/imagebuilder/releases/download/210724-03/chromebook_kukui-aarch64-focal.img.gz and flash it to sdcard/pendrive
After boot, open shell with CTRL ALT F2/RIGHT ARROW, login with linux/changeme
connect to wifi with nmtui
do following to install LXDE (xfce/gnome doesn't work to this point): sudo /scripts/extend-rootfs.sh && sudo apt update && sudo install lxde -y
reboot, in lightdm select LXDE
download this script:

build_kernel-FENNEL14-5.18-rc7.sh.txt

rename it to .sh, make it executable, run it with sudo ./build_kernel-FENNEL14-5.18-rc7.sh
after completion, it will ask to write the updated kernel, your installation has to be on /dev/sda!

Screen corruption on Lenovo ideapad 3 14 inch after reboot.

Tried latest images on lenovo idepad 3 14 inch fennel14. Both ubuntu and debian show up fine on first login for user linux but after reboot they show screen corruption after lightdm login without having made any changes to the system. Initial lightdm greeter always shows up fine though.

TouchScreen on lenovo duet

Hi

I have successfully install the os on USB, but the touchscreen is kind of off after the first reboot.
I wonder how to fix the touchscreen issue? please kindly help.

*Problem solved with xinput calibration

Thanks a lot :)

unable to boot 210321-01 veyron on asus c100 flip

Not sure if I have installed you image correctly, I have extracted via xz -d and flashed via dd if=.img of=/dev/sdc to sd card.

However asus c100 flip is not booting from it. I'm using developer mode and can boot different version of linux with ctrl-U, but from your image I see black screen and no error.

Did anyone succeeded booting veyron image on c100?

No CIFS support in 5.10.25-stb-av7+ Kernel?

Hi there, I used the Allminner H3 image with kernel 5.10.25-stb-av7+ succesfully on my Beelink X2 TV box and I've been very happy with it so far. However today I tried to mount a SMB share using CIFS and got an error that CIFS was not supported by the system.
All CIFS packages are installed. I double checked that.

Further research led me to the modprobe command, which revealed that no CIFS modules were found on my system and other commands also seemed to indicate that it simply is not part of this kernel.

Can that be correct or am I overlooking something?
I'd really like to be able to mount CIFS shares, so any pointers would be welcome. I'm happy to switch out kernels if that will help, but I don' t know to which one I can switch.

Thanks in advance.

Ubuntu for odroid u3

Hello
may you compile kernel with Atheros usb wireless lan drivers on next release?
Thank you so much

Include lima module in the kernel

I'm trying to play with upstream lima driver and just recomplied mesa packages. Then I realised that lima module is not there from the kernel (Odroid U3).

I'll try to compile the kernel myself in the meantime.

It'd be nice to enable lima module in the next release :D

chromebook_kukui: status: juniper and kappa (acer spin cp311-3h and hp chromebook 11a)

notes on juniper and kappa running 5.18.1 (i use one issue for both systems together now, but might spin off separate ones if needed or useful):

here is list of working and non working features on the acer spin cp311-3h (juniper) and hp chromebook 11a (kappa).

working

  • wifi
  • bluetooth
  • builtin display
  • energy: battery status, dpms, suspend/resume
  • usb a and c for basic usb functionality
  • webcam
  • gpu opengl: via mesa panfrost (opengl 3.1)
  • sound: speaker and headphone jack work, internal mic works with verly low levels

untested

  • hw video encode/decode: most probably not working yet

broken

  • sound: headset mic not working
  • external display: not working yet

installation

coming soon

problems

none so far

emmc Images / CentOS 7

Just asking:
Any chances for emmc versions of the released images?
Is an CentOS 7 images thinkable?
I won´t put my working u3 to rest just because of the dropped support :(

Howto write uboot in Acer C810 2Gb

Hi @hexdump0815

I understand have to write a file in the extra directory in order to get this 2Gb chromebook booting from sd, but it's not clear to me exactly how. I used dd to write the file to sda1 partition without any argument. The chromebook flashes 5 times and then gets to a quiet black screen and then I type 1 and enter but nothing is happening.

The image is 211411-1 debian.

U-Boot reboots after "usb start" on x96 mini

Hi @hexdump0815, thanks for pointing me to https://github.com/hexdump0815/imagebuilder/blob/master/boot/boot-amlogic_gx-aarch64/u-boot.bin on IRC.

I can successfully chainload this U-Boot build, but trying to use usb start with a USB storage device attached leads to a reboot on the x96 mini:

gxl_p281_v1#fatload mmc 0 0x01000000 u-boot.ext
(...)
gxl_p281_v1#go 0x01000000
## Starting application at 0x01000000 ...
U-Boot 2019.01 (Mar 26 2019 - 22:16:31 +0100) libretech-cc
DRAM:  1 GiB
MMC:   mmc@72000: 0, mmc@74000: 1
(...)
Hit any key to stop autoboot:  2 
(...)
=> usb start
starting USB...
USB0:   Register 2000140 NbrPorts 2
Starting the controller
USB XHCI 1.00
scanning bus 0 for devices... XHCI timeout on event type 33... cannot recover.
BUG at drivers/usb/host/xhci-ring.c:473/xhci_wait_for_event()!
BUG!
resetting ...
bl31 reboot reason: 0xd
bl31 reboot reason: 0x0
system cmd  1.
GXL:BL1:9ac50e:bb16dc;FEAT:ADFC318C:0;POC:3;RCY:0;EMMC:0;READ:0;0.0;CHK:0;

Without a USB storage device attached it works:

=> usb start
starting USB...
USB0:   Register 2000140 NbrPorts 2
Starting the controller
USB XHCI 1.00
scanning bus 0 for devices... 1 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found

If I then attach the USB storage device and usb reset, then I am back to the original issue.

Do you have any idea what may be causing this or how to debug it?

Thank you very much.

question: Advanced build script

Hi,

i like this project. I'm using it to build an image for my odroid u3.

I'm looking forward to extend the abilities of the build scripts to optimize the build process with:

  • bootstrap cache
  • creating ubuntu 20.04 instead of 18.04
    • ubuntu server or desktop
  • more options controlling the build process
  • using newest kernel for odroid u3 with my own kernel-odroid-u3
  • and much more (got a lot of ideas)

I'd like to make a merge request if you like my changes. It's still work in progress, but you can take a look at my forked imagebuilder

usage: build.sh [option]...
Build a debian/ubuntu image for a single board computer.

example: build.sh -s=odroid_u3 -a=armv7l -d=ubuntu

-a, --arch, --architecture        The architecture to use for the image build
                                  - armv7l
                                  - aarch64
-c, --cache, --cache-dir          The directory, where the boostrap cache is build.
                                  If specified, the directory already needs to exist.
                                  Defaults to {PROJECT_ROOT}/cache
-d, --dist, --distribution        The distribution to build
                                  - ubuntu
                                  - debian
-g, --gui                         Enable desktop version of the distribution.
                                  If not specified a server version is generated.
-h, --help                        Print this help
-o, --out, --out-dir              The directory, where the output is generated.
                                  If specified, the directory already needs to exist
                                  Defaults to {PROJECT_ROOT}/out
-s, --system                      The system, the image is build for
                                  - chromebook_snow
                                  - chromebook_veyron
                                  - chromebook_nyanbig
                                  - odroid_u3
                                  - orbsmart_s92_beelink_r89
                                  - tinkerboard
                                  - raspberry_pi
                                  - raspberry_pi_4
                                  - amlogic_gx
-v, --verbose                     Verbose output
--force-bootstrap                 Force to recreate the booostrap cache
--force-download                  Force to download the required files
--disable-swap                    Disable generating swap partition for image

More details of the available systems:
- chromebook_snow (armv7l)
- chromebook_veyron (armv7l)
- chromebook_nyanbig (armv7l)
- odroid_u3 (armv7l)
- orbsmart_s92_beelink_r89 (armv7l)
- tinkerboard (armv7l)
- raspberry_pi (armv7l)
- raspberry_pi (aarch64)
- raspberry_pi_4 (armv7l) (using a 64bit kernel)
- raspberry_pi_4 (aarch64)
- amlogic_gx (armv7l) (using a 64bit kernel)
- amlogic_gx (aarch64)

More details of the architectures:
- armv7l (32bit) userland
- aarch64 (64bit) userland

Best regards

chromebook_peach: research: Improving Support

Hello!

From my understanding, the images provided for Peach-Pit aka the XE503C12 should have Mali hardware acceleration straight out of the box. From my testing of both the Debian and Xubuntu images released for Peach-Pit (XE503C12), it appears that hardware acceleration does not work in any capacity, the desktop runs okay but sluggish most of the time.

At times performance is somewhat poor and sometimes acceptable. Somewhere I did read that Xorg performance would be poor (while being accelerated).

One of the last things I attempted to confirm that hardware acceleration was not present was by running 'es2gears -info' and 'es2_info' both and after a bit, I was able to determine that hardware acceleration was not present; it appears that llvmpipe is being utilized in everything I tried.

For example: I attempted on Debian image 'es2gears -info' and it did not display that it was using any Mali drivers (then with a message that libEGL failed to authenticate) and it instead saying it was using LLVMPIPE provided by VMware (when comparing my results to an Asus Tinkerboard that also has a Midgard GPU on its premade Debian image by Asus, es2gears will report the driver being used with its vendor being Mali).

Afterwards I tried to see if the older Xubuntu image provided could potentially work, trying the old release provided alongside the new one did not help. The same issue is still present regardless. On the older build, I found an armsoc install script which ended up working without issue but despite that, I rebooted and still got nothing. Still no hardware acceleration at all.

Not sure why none of the images have any kind of working Mali hardware acceleration.

Username Password

On my x2 the hdmi is broken so I need the ssh username and password. Can you please write it here?
Thanks,
Fokke

unable to boot XE303C12-A01SE (SNOW)

I am not sure if the problem is model/revision, but every time I try to boot the 210725-02 or 210613-04 image (haven't tried older ones) I come straight to some kind of command line? I think it is u-boot? well then it throws a lot of errors about no Ethernet and no boot file.
image

Very sorry for low quality ;(

Then when it finally stops it is a command line where you type without seeing what you type.....

So if I am correct (and correct me if I am wrong) the u-boot can't find the kernel?

incorrect file name referenced by script

In systems/chromebook_oak/get-files.sh on line 8:
( cd ${DOWNLOAD_DIR} ; tar xzf kernel-chromebook_oak-aarch64.tar.gz boot ; mv boot/vmlinux.kpart-oak-* boot-chromebook_oak-aarch64.dd ; rm -rf boot )

The mv is pointing at boot/vmlinux.kpart-oak-* The actual file name is vmlinux.kpart-elm* in 5.10.25-stb-mt7+.tar.gz

chromebook_trogdor: status: lazor

Notes on Lazor running 5.19.0

Here is list of working and non working features on the Acer Chromebook Spin 513 (sc7180-trogdor-lazor-r3) with the 5.19.0 kernel.

dmesg errors on 5.18.2 ``` [ 0.427884] leds_pwm: probe of pwmleds failed with error -22 .... [ 0.628565] power_supply sbs-12-000b: driver failed to report `time_to_empty_now' property: -5 ... [ 3.181785] [drm:ti_sn_bridge_attach] *ERROR* Fix bridge driver to make connector optional! [ 3.187892] [drm:drm_bridge_attach] *ERROR* failed to attach bridge /soc@0/geniqup@8c0000/i2c@888000/bridge@2d to encoder DSI-31: -22 [ 3.211005] [drm] Initialized msm 1.9.0 20130625 for ae00000.mdss on minor 1 [ 3.218576] msm ae00000.mdss: Direct firmware load for qcom/a630_sqe.fw failed with error -2 [ 3.227256] msm ae00000.mdss: [drm:adreno_request_fw] *ERROR* failed to load a630_sqe.fw .... ``` [dmesg-5.18.0-rc5.txt](https://github.com/hexdump0815/imagebuilder/files/8611031/dmesg-5.18.0-rc5.txt)

To fix orientation issues, make sure you have file

% cat /etc/udev/hwdb.d/61-sensor-local.hwdb
sensor:modalias:platform:*
 ACCEL_MOUNT_MATRIX=-1, 0, 0; 0, -1, 0; 0, 0, -1

Due to an unknown issue, sensor:modalias:platform:cros-ec-accel does not match and the catchall sensor:modalias:platform:* is required.

Working

Partial

  • Built-in audio / speakers (Auto-selection of Headphone/Internal speaker does not work and can remain stuck at headphone)

Untested

  • H/W video decode
  • Pen input
  • KVM
  • Bluetooth

Observed issues

Touchpad stops working In case of the cursor going missing and the touchpad no longer working, the Chromebook embedded controller may wrongly assume that you are operating the computer in Tablet mode. To verify, use `evtest`:
localhost ~ # evtest
No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event0:      hid-over-i2c 04F3:2C07
/dev/input/event1:      cros_ec
/dev/input/event2:      hid-over-i2c 04F3:2C07 UNKNOWN
/dev/input/event3:      cros_ec_buttons
/dev/input/event4:      hid-over-i2c 04F3:2C07 UNKNOWN
/dev/input/event5:      hid-over-i2c 04F3:2C07 Stylus
/dev/input/event6:      hid-over-i2c 04F3:2C07 Stylus
/dev/input/event7:      Elan Touchpad
/dev/input/event8:      sc7180-rt5682-max98357a-1mic Headset Jack
/dev/input/event9:      sc7180-rt5682-max98357a-1mic HDMI Jack
Select the device event number [0-9]: 3
Input driver version is 1.0.1
Input device ID: bus 0x6 vendor 0x0 product 0x0 version 0x1
Input device name: "cros_ec_buttons"
Supported events:
  Event type 0 (EV_SYN)
  Event type 1 (EV_KEY)
    Event code 114 (KEY_VOLUMEDOWN)
    Event code 115 (KEY_VOLUMEUP)
    Event code 116 (KEY_POWER)
  Event type 5 (EV_SW)
    Event code 0 (SW_LID) state 1
    Event code 1 (SW_TABLET_MODE) state 0
Key repeat handling:
  Repeat type 20 (EV_REP)
    Repeat code 0 (REP_DELAY)
      Value    250
    Repeat code 1 (REP_PERIOD)
      Value     33
Properties:
Testing ... (interrupt to exit)

If it displays SW_TABLET_MODE) state 1, the embedded controller got stuck in tablet mode and thus the Linux kernel ignores the touchpad inputs. To fix this issue, you need to restart the embedded controller. One way to reset the controller is to update the Cr50 firmware (this will force reboot your system):

sudo apt install libssl-dev libusb-1.0-0-dev
git clone -b cr50_stab https://chromium.googlesource.com/chromiumos/platform/ec
cd ec/extra/usb_updater
sed -i '/Werror/d' Makefile
make

gsutil cp gs://chromeos-localmirror/distfiles/cr50.r0.0.11.w0.5.112.tbz2 .
tar -xvjf cr50.r0.0.11.w0.5.112.tbz2

sudo ./gsctool -s cr50.r0.0.11.w0.5.112/cr50.bin.prod

If that doesn't help, see if sudo dmesg | grep 7-0015 or sudo dmesg | grep elan provides any output. If not, your system is not detecting the touchpad at all and there may be a hardware issue.

Notes on image 210803-01 on odroid-u3

First of all, as usual, thank you very much @hexdump0815 for all the effort you are putting into your custom stable mali kernel and this imagebuilder :)

However, I haven't seen any newer Odroid U3 image releases for a while, so I'm putting mine below. Feel free to reuse and distribute, of course.
I haven't installed anything, just updated the base Userland of your image from Debian 10 (buster) to Debian 11 (bullseye) and the kernel from your exy+ custom stable mali kernel.
Maybe the image I provide here is a bit larger than usual due to cached files and repositories (?)

Furthermore, I have seen that /etc/apt/sources.list points the repositories to stable instead of the actual release. That could be a problem if the image is a little old or from a previous stable release. I replaced it for buster at first, and then updated to bullseye, as said before.

In terms of usability, not much have changed after upgrading. It's an old device after all (~8 years) and I don't expect brilliant performance on heavy software. I use this device quite often as a spare mini computer for weekly (non-programming) tasks.

However, when inspecting the kernel logs, some errors appeared due to sensors I think, because they are not identified in kernel. If I recall correctly, all of the previous kernel releases had this error (dmesg below).

But other than that, I can work normally without any extra issue. It's all working out of the box even with the upgraded 5.15.x kernel and Debian 11 userland, very pleasant experience.

Image here:
odroid_u3-armv7l-debian11.img.xz

Dmesg here:
dmesg-kernel-5.15.12.txt


All the best, great work as always!

Acer CB5-311 with 1366x768 resolution

Hello all,

I have been trying the nyan-big targeted Ubuntu ready made image file with my Acer Chromebook 13 but I get only white flickering displayed during boot then a black screen. I understand this is due to my Japanese model CB5-311 having a lower resolution (1366x768) to those CB5-311 which are sold elsewhere. I think the machine is otherwise the same in all respects regarding the Tegra K1 chipset. At least I get past boot and see something which is the furthest I have got so far!

I wonder if anyone here has any insights what would be required to change the display resolution? Can I modify the existing files on my SD card image or is this more involved? I tried modifying the file /etc/X11/xorg.conf.d/01-modesetting.conf to add: Option "PreferredMode" "1366x768" but this seems to not be the whole story and is overwritten by the system upon boot.

Thanks in advance, Rob

apt update kills debian buster on odroid u3

I just flashed the latest release debian image and boot it up in odroid u3. So far, every single time running sudo apt update kills odroid u3 (the alive LED light goes off and everything hangs) at the step of Get Translation-en 97%

My T9 tv box does not boot with your rk33xx images

Hi @hexdump

I have a leelbox mxq max, with has a T9 board and works with your dtb booting armbian, manjaro, openwrt, etc. I have tried your latest debían and ubuntu images and they boot but cant get to kernel and CPUs are not found. I am using the T9 dtb file included.

Thanks for your work.

eMMC Images?

Thank you very much for providing the Odroid U3 Image - the Debian Buster version works perfectly for me. I had the problem that - upon login - two different HDMI displays did just cutout (black screen). I could resolve this by removing the 1024x768 option in the /boot/extlinux/extlinux.conf .

One question: Is it possible to use the image on an eMMC card or building it for that usage? I burned the image with etcher on the eMMC card - it works if I am trying to boot it from the uSD slot (basically as an uSD Card) - but not as eMMC, probably it needs some change in the bootloader or initial config...

Thanks a lot :)!

Odroid U3 Ubuntu/Debian - Missing VLAN 8021q module

Hi.
Im using the image on odroid u3 using kernel 5.10.45-stb-exy+

Installing the vlan package via apt doesnt work to get vlans running because the 8021q kernel module is missing.

Do you have any advise to get this running?

Suggestion: Ubuntu @/@home btrfs subvolume layout

Hi Hexdump,
first: thank you for your work on that images!!! I'm very happy with it using your Ubuntu 20.04 image for my Odroid-U3.
I have a small suggestion:
Now, as you switched to btrfs as rootfs, what do you think about using the Ubuntu-typical @/@home btrfs subvolume layout to allow the usage of timeshift right out-of-the-box? This could be very handy when things are suddently messed up...
As I pointed out here, due to timeshift's internals, this would also require to name the root partition explicitly by UUID in the fstab.
Also a change in extlinux.conf would be necessary, namely selecting the correct boot subvolume using kernel option rootflags=subvol=@, because timeshift seems to also require that the default subvolume of rootfs stays /.

systems/chromebook_kukui

Wanted to give some feedback...
After allowing dev_boot_usb, dev_boot_altfw and usb controller, the july kukui jmage boots on my FENNEL14

Have to try out what works and what not, giving reply soon

misc: Server-image

Any chance there will be a "server-image" without the the desktop-enviroment? Just barebone ssh and stuff?

notes on image 210725-02 on snow

First of all, thanks @hexdump0815 for the images. They pretty much match what I wanted.

In this ticket I will write some notes about its usage on snow. This is not an issue report per se, maybe more of a quick journal, mixed with a few questions.

I started following the procedure to disable the firmware write-protect by removing the ring, and adjusting the gbb flags to 0x19. Thanks for the detailed procedure. In my case it did not work at first: I had to reopen the chromebook and clean the contacts with a small brush, and then I was able to disable wp.

I flashed the image to both sd card and usb drive, but neither would boot. After ctrl+u, USB would give a grave beep and boot to chos. SD would as well but without the beep. In case that matters, the USB was 8Gb, the SD was 16Gb.

I had to run 'cgpt repair' on the SD card, and then it booted just fine.

I tried both rev4 and rev5, but the touchpad was not functional. It works fine on chos. I am not sure if it was expected to work, but I would be grateful for tips on things I can try to make it work.

I have not tried the sound tweaks yet.

Next I would like to replace chos on the emmc. I have done this before with archlinux, but I have been hit by the loss of gbb flags, and that was the main drive to disable wp and tweak gbb flags now.

I have seen some comments about emmc suppport for the U3, and before I flash the emmc, please comment on the procedure and possible tweaks if you have the time.

misc: write-up for install to emmc

Hello,

I have an oak chromebook and I was trying to follow https://github.com/hexdump0815/imagebuilder/blob/main/info/generic/install-to-emmc-with-luks-full-disk-encryption.txt to use the usb booted system to partition and rsync to the emmc. I've tried a few combinations of partitions but none of them seem to boot.
Is there a possibility of splitting this doc into 3 separate ones -

  1. follow this to partition and install w/o efi
  2. follow this to partition and install with efi
  3. non chromebook writeup

Also, an observation - in the two different builds of oak (focal and bullseye), cgpt worked differently and a different set of sector count had to be used to achieve partitions.
At this point, I would love any advice that can help me get going to set up the emmc (with or without luks+btrfs). I am ready to do a proper write-up if I can get this working for me. Any advice would be appreciated; and you've already done so much good work :) Thanks

Move to Chrome os kernel 5.4

I noticed on my Chromebook devices with original kernels 4.4 and 4.14 they all moved to kernel chromeos-5.4 branch.
This is stable and working with audio SST and SOF.
Above 5.4 not official, and 5.4 is even working with Debian bullseye and Ubuntu focal.
Can you look I into this?
For SST to work a patch for intel-dsp-config.c and sof-pci-dev.c is needed to add check dmi_bios_vendor for coreboot after dmi_sys_vendor Google

Display static and no boot on sku0 [Kukui Chromebook Duet]

Hello, I tried to boot focal on my Chromebook Duet and the display never turned on besides some static. The reason I mentioned sku0 is because of the Cadmium discord, which instructed me to run a command that revealed a difference in display panels, the cause of the issue. It was resolved using a kernel patch.

chromebook_trogdor: status: coachz (hp chromebook x2 11) (Lenovo Duet 5)

Notes on Coachz + Homestar running 6.6.16

Here is list of working and non working features on the HP Chromebook X2 '11 (aka coachz - 11-da0023dx). I will update accordingly with detailed issues, logs and proposed fixes. My goal in long run is to find solutions to high priority issues such as suspend, lack of audio, touch issues and others. If we can get the right people looking at this stuff and trying things out we'll have a good chance.

In an extremely unfortunate incident I ended up dropping my X2 '11. Sadly a brand new display assembly cost nearly as much as a new device so I went out and bought featuring the SC7180 SoC (Lenovo Duet 5). Fortunately, the devices are nearly 100% identical in terms of hardware and fixes and everything here can be applied to the device.

Working

• WiFi
• Bluetooth
• Pen input
• Detachable KB/Mouse
• Internal EMMC installation (#43)
• USB C
• DisplayPort
• 3D Accelerated graphics (#41)
• Suspend (works on 5.16.X up)
• KVM

Partial

• Touch (libinput needs quirks + reporting to freedesktop for TOUCH_CANCEL)
• Orientation sensor (inverted)
• Built-in audio / speakers (kernel/userland issues)
• Built-in microphone (gain coachz)
• H/W video decode (partial)

Broken

• Rear & front camera (they're crap anyways)
• DPMS (display off) (coachz)

Untested

• Fingerprint sensor

Touchscreen Issues

There appears to be an issue with the touch screen, Xorg and libinput where it will stop functioning once the user creates a substantial pressure point (e.g. resting thumb) on display. Wayland does not appear to be affected in the same way, so there's a consideration.

  • Luckily all we need to do is install xserver-xorg-input-evdev and tell our touchscreen to utilize that driver.
  1. sudo apt-get install xserver-xorg-input-evdev

  2. sudo nano /usr/share/X11/xorg.conf.d/40-libinput.conf

  3. Locate MatchIsTouchscreen "on" and change Driver "libinput" to Driver "evdev"

• FOR REFERENCE:

  • There is also a workaround to the issue on Xorg that I discovered accidentally while running TouchEgg to simulate right click which still functions while Xorg is failing to recognize touch.
  1. Install TouchEgg and Touchè from the releases via dpkg -i & reboot

  2. Open Touchè, if you can't find an icon just execute com.github.joseexposito.touche in terminal.

  3. In Global gestures > Tap > Tap with 3 fingers set to Execute a command and add xinput disable 6 && xinput enable 6 as the command to execute.

Now when touch stops responding all you will have to do is tap the screen with 3 phalanges and you'll be back in action. Another potential solution could involve using something like xbindkeys and your imagination to achieve a similar result. Also, if you run LightDM and don't want to experience this problem on the login screen try switching to GDM3 which uses Wayland.

Sound Fixes

Turns out we can get the sound working as well. By the way this is all very confusing to me how ucm (use case manager) works, in general I think it's broken for whatever reason and that's why I'm confused. I figured out the root cause is partially due to the ordering of sound devices in the sc7180-trogdor.dtsi a quick modification to the file and rebuild of kernel will fix us right up.

  • sc7180-trogdor.dtsi Before:
	dai-link@0 {
		link-name = "MultiMedia0";
		reg = <MI2S_PRIMARY>;
		cpu {
			sound-dai = <&lpass_cpu MI2S_PRIMARY>;
		};

		sound_multimedia0_codec: codec {
			sound-dai = <&alc5682 0 /* aif1 */>;
		};
	};

	dai-link@1 {
		link-name = "MultiMedia1";
		reg = <MI2S_SECONDARY>;
		cpu {
			sound-dai = <&lpass_cpu MI2S_SECONDARY>;
		};

		sound_multimedia1_codec: codec {
			sound-dai = <&max98360a>;
		};
	};
  • sc7180-trogdor.dtsi After:
	dai-link@1 {
		link-name = "MultiMedia1";
		reg = <MI2S_SECONDARY>;
		cpu {
			sound-dai = <&lpass_cpu MI2S_SECONDARY>;
		};

		sound_multimedia1_codec: codec {
			sound-dai = <&max98360a>;
		};
	};

	dai-link@0 {
		link-name = "MultiMedia0";
		reg = <MI2S_PRIMARY>;
		cpu {
			sound-dai = <&lpass_cpu MI2S_PRIMARY>;
		};

		sound_multimedia0_codec: codec {
			sound-dai = <&alc5682 0 /* aif1 */>;
		};
	};

☝️See what I did there? 🤣 I'm still not convinced this is most appropriate solution. I have created a sc7180-trogdor.dtsi.patch in case anyone may find it useful. It should be noted; the patch sacrifices automatic set-up of mic in favor of speakers because alsa seems inclined to configure hw:0,0 automatically.

• FOR REFERENCE (coachz)

aplay - l does report having HiFI-1

 card 2: sc7180adau7002m [sc7180-adau7002-max98357a], device 1: MultiMedia1 HiFi-1 []
   Subdevices: 1/1
   Subdevice #0: subdevice #0`

Running aplay -D plughw:2,1 /home/geofferey/Downloads/piano2.wav got me sound output. Yay!

Using info I obtained from Arch: ALSA/Troubleshooting I created /etc/asound.conf with the following

 pcm.!default {
     type hw
     rate 48000
     card 2
     device 1
} 
defaults.pcm.card 2
defaults.pcm.device 1
defaults.ctl.card 2

Please keep in mind on my machine it's card 2 - device 1 because I have dummy and loopback audio drivers. Yours will likely be card 0 or card 1; which is why the above solution may not be ideal, especially for inclusion in images. It also breaks automatic redirection to USB C headphones. More investigation is required.

Here is some more output of other commands in case anyone may be able to tell me what's going on with UCM.

cat /proc/asound/cards reports:

 0 [sc7180adau7002m]: SC7180 - sc7180-adau7002-max98357a
                  sc7180-adau7002-max98357a

Here is message from alsactl init:

 alsa-lib main.c:1014:(snd_use_case_mgr_open) error: failed to import hw:0 use case configuration -2
 Found hardware: "SC7180" "" "" "" ""
 Hardware is initialized using a generic method

This is what I could find in dmesg:

 [    5.422974] max98357a audio-codec-0: GPIO lookup for consumer sdmode
 [    5.422989] max98357a audio-codec-0: using device tree for GPIO lookup
 [    5.620411] debugfs: Directory '62d87000.lpass' with parent 'sc7180-adau7002-max98357a' already present!
 [    5.677936] input: sc7180-adau7002-max98357a HDMI Jack as /devices/platform/sound/sound/card0/input6

Lid Switch Fixes

I noticed during my time using homestar and coachz that leaving the keyboard attached and closed leads to spurious mouse input if not in sleep state. Since I do not always want to sleep when I close the lid + plug waking device it got really annoying and hazardous to my working conditions. At first I thought it was related to touch input but it was actually caused by the touchpad. Another issue with lid switch is due to how upower/XFCE handle it in order to blank screen and often results in a black screen that stays after opening the keyboard flap. Below are some workarounds and scripting wizardry.

  • sudo apt-get install acpid brightnessctl

  • set IgnoreLid=true in /etc/Upower/Upower.conf

  • optionally set HandleLidSwitch=ignore in /etc/systemd/logind.conf

  • create the following file in /etc/acpi/events/lidswitch

# /etc/acpi/events/lidswitch
# run a script on lid open/close events
event=button/lid
action=/etc/acpi/actions/acpi-lid-switch.sh "%e"
  • create the script in /etc/acpid/actions/acpi-lid-switch.sh
#!/bin/sh

## This script is intended to be ran by ACPID daemon on lid switch events with the goal of disabling/re-enabling
# local tochpad on Chromebook trogdor + display on lid close/open. There is an issue with the touchpad that causes 
# spurious input while the lid is closed and not suspeded + XFCE/upowers method of screen blanking causes issues 
# with resuming session after opening the keyboard flap. 

LOGFILE=/dev/null

## This is all being done so root can get display # and session cookie of the foreground users console
FG_USER=$(stat -c%U /dev/tty$(fgconsole))
FG_UID=$(id -u ${FG_USER})
FG_TTY="tty$(fgconsole)"
FG_XORG_PID=$(pgrep -xt ${FG_TTY} Xorg)
FG_XDISPLAY=:$(lsof -aUp "${FG_XORG_PID}" | sed '\|.*X11-unix/X\([0-9]\{1,\}\) .*|!d;s//\1/;q')

echo "$1" >> ${LOGFILE}
echo $(whoami) >> ${LOGFILE}
echo FG_USER=${FG_USER} >> ${LOGFILE}
echo FG_UID=${FG_UID} >> ${LOGFILE}
echo FG_TTY=${FG_TTY} >> ${LOGFILE}
echo FG_XORG_PID=${FG_XORG_PID} >> ${LOGFILE}
echo FG_XDISPLAY=${FG_XDISPLAY} >> ${LOGFILE}

export DISPLAY=$FG_XDISPLAY

## Just guessing some possible display managers to locate Xorg session cookie, not tested with other DMs
DMS="gdm lightdm"

for DM in ${DMS}; do

  if [ -e /run/user/${FG_UID}/${DM}/Xauthority ]; then

    export XAUTHORITY=/run/user/${FG_UID}/${DM}/Xauthority
    echo DISPLAY_MANAGER=${DM} >> ${LOGFILE}

  fi

done

state=$(echo "$1" | cut -d " " -f 3)

case "$state" in
    close)
        # Disable touchpads/screen on lid close to prevent phantom touches
        echo "Disabing touch devices..." >> ${LOGFILE}
        /usr/bin/synclient touchpadoff=1 >> ${LOGFILE}
        /usr/bin/xinput disable "pointer:Google Inc. Hammer" >> ${LOGFILE} 2>&1
        #/usr/bin/xinput disable "pointer:gt7375p 27C6:0E51" >> ${LOGFILE} 2>&1
        /usr/bin/brightnessctl --save
        /usr/bin/brightnessctl s 0
        ;;
    open)
        # Re-enable the touch devices after opening the lid
        echo "Enabling touch devices..." >> ${LOGFILE}
	/usr/bin/xinput enable "pointer:Google Inc. Hammer" >> ${LOGFILE} 2>&1
        #/usr/bin/xinput enable "pointer:gt7375p 27C6:0E51" >> ${LOGFILE} 2>&1
        /usr/bin/synclient touchpadoff=0 >> ${LOGFILE}
        /usr/bin/brightnessctl --restore
        ;;
    *)
        # panic: not a state I know about!
        echo "PANIC STATE" >> ${LOGFILE}
esac

echo "" >> ${LOGFILE}

Updating Kernel

In order to get KVM networking, waydroid, various USB peripherals and many other features working I opt'd to build mine from source following instructions from these repos. I have also written a simple script to automate the process for myself and others. Here is a link to my current kernel configuration. It has support for many of items mentioned above.

..... to be continued....

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.