gvisor icon indicating copy to clipboard operation
gvisor copied to clipboard

runsc install -> panic: Only 4K page size is supported on arm64!

Open yizhaohuipg13 opened this issue 3 years ago • 13 comments

Description

/usr/local/bin/runsc install
panic: Only 4K page size is supported on arm64!

goroutine 1 [running]:
gvisor.dev/gvisor/pkg/hostarch.init.0()
	pkg/hostarch/hostarch_arm64.go:59 +0x48

Is this feature related to a specific bug?

No response

Do you have a specific solution in mind?

Regarding the support on arm64, can the community support pagesize of 64k or other sizes in the future, please

yizhaohuipg13 avatar Nov 15 '22 08:11 yizhaohuipg13

A friendly reminder that this issue had no activity for 120 days.

github-actions[bot] avatar Sep 13 '23 00:09 github-actions[bot]

Ran into this today, while trying to execute something on Asahi Linux (on a MacBook, which has non-4K pagesize).

flokli avatar Mar 20 '25 14:03 flokli

same here, with kylin linux 4.19.90-52.39.v2207.ky10.aarch64

sduqlsc avatar Jun 25 '25 09:06 sduqlsc

seems hv to compile kernel source to modify page_size

sduqlsc avatar Jun 25 '25 09:06 sduqlsc

stil no reply

sduqlsc avatar Aug 19 '25 02:08 sduqlsc

Hello sduqlsc,

Thanks for the ping, I will look at this soon.

tranji-cloud avatar Aug 19 '25 15:08 tranji-cloud

Hello, I have also encountered the same issue. May I ask if it can be resolved

molinzhifeng avatar Aug 21 '25 11:08 molinzhifeng

Hello sduqlsc,

Thanks for the ping, I will look at this soon.

Great, hope it worked on arm64, it would save me a lot of time.

sduqlsc avatar Aug 26 '25 09:08 sduqlsc

any info update? or is there a guid to manually compile on arm64? @tranji-cloud

sduqlsc avatar Sep 09 '25 06:09 sduqlsc

any info update? or is there a guid to manually compile on arm64? @tranji-cloud

To compile it, you just need to have docker on your arm64 machine, and then make runsc should build the runsc binary for you (https://github.com/google/gvisor?tab=readme-ov-file#building)

Regarding your question about updates, we don't have any current plans to add support for non-4k page size setups. However, we'd gladly accept a pull request if you or someone else implements it.

As a workaround, you can recompile and install a linux kernel with 4k pages.

avagin avatar Sep 09 '25 15:09 avagin

any info update? or is there a guid to manually compile on arm64? @tranji-cloud

To compile it, you just need to have docker on your arm64 machine, and then make runsc should build the runsc binary for you (https://github.com/google/gvisor?tab=readme-ov-file#building)

Regarding your question about updates, we don't have any current plans to add support for non-4k page size setups. However, we'd gladly accept a pull request if you or someone else implements it.

As a workaround, you can recompile and install a linux kernel with 4k pages.

so i recomplie it on 64K kernel, simply using go, seems not run successfully, if just comment panic statment.

docker run --rm --runtime=runsc hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
198f93fd5094: Pull complete 
Digest: sha256:a0dfb02aac212703bfcb339d77d47ec32c8706ff250850ecc0e19c8737b18567
Status: Downloaded newer image for hello-world:latest
docker: Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: creating container: cannot create sandbox: cannot read client sync file: waiting for sandbox to start: EOF: unknown

sduqlsc avatar Sep 10 '25 00:09 sduqlsc

so i recomplie it on 64K kernel, simply using go, seems not run successfully, if just comment panic statment.

You need to recompile a kernel with 4K pages. Is there any real reason to use the 64K page size?

avagin avatar Sep 15 '25 14:09 avagin

so i recomplie it on 64K kernel, simply using go, seems not run successfully, if just comment panic statment.

You need to recompile a kernel with 4K pages. Is there any real reason to use the 64K page size?

client's OS distribution is 64K...

sduqlsc avatar Sep 18 '25 01:09 sduqlsc