← recipes

Commit f76e528c

32
files
+527
added
-295
deleted
@@@ -1,166 -1,161 +1,165 @@@
0 0 -pkgname: nvidia-dkms
1 1 -pkgver: '610.57.04'
2 2 -pkgrel: '2'
3 3 -pkgdesc: NVIDIA drivers, xorg config, udev rules and DKMS kernel modules
4 4 -url: https://www.nvidia.com/en-us/drivers/unix/
5 5 -arch: x86_64
6 6 -license:
7 7 -- custom
8 8 -
9 9 -# `kernel` (a NIE `linux-headers`) – DKMS musi budować pod TO SAMO jądro, które
10 10 -# dostarcza `nvidia-kernel` i które jest w obrazie ISO. Wcześniejszy
11 11 -# `linux-headers` to meta na `kernel-lts` (6.18), więc moduły powstawały pod
12 12 -# inne jądro niż uruchomione („moduły nvidia zbudowane pod …” w pagan-drivers).
13 13 -depends:
14 14 -- kernel
15 15 -- dkms
16 16 -makedepends:
17 17 -- grep
18 18 -
19 19 -source:
20 20 -- https://us.download.nvidia.com/XFree86/Linux-x86_64/${pkgver}/NVIDIA-Linux-x86_64-${pkgver}.run
21 21 -sha256sums:
22 22 -- SKIP
23 23 -
24 24 -build: |
25 25 - sh NVIDIA-Linux-x86_64-${pkgver}.run --extract-only
26 26 - cd NVIDIA-Linux-x86_64-${pkgver}
27 27 -
28 28 - # --- 1. Przygotowanie źródeł DKMS ---
29 29 - _srcdir="${PKGDIR}/usr/src/nvidia-${pkgver}"
30 30 - install -dm0755 "${_srcdir}"
31 31 - cp -r kernel/* "${_srcdir}/"
32 32 -
33 33 - # Tworzenie pliku dkms.conf w katalogu źródeł
34 34 - cat > "${_srcdir}/dkms.conf" << EOF
35 35 - PACKAGE_NAME="nvidia"
36 36 - PACKAGE_VERSION="${pkgver}"
37 37 - AUTOINSTALL="yes"
38 38 -
39 39 - BUILT_MODULE_NAME[0]="nvidia"
40 40 - BUILT_MODULE_LOCATION[0]="."
41 41 - DEST_MODULE_LOCATION[0]="/kernel/drivers/video/nvidia"
42 42 -
43 43 - BUILT_MODULE_NAME[1]="nvidia-modeset"
44 44 - BUILT_MODULE_LOCATION[1]="."
45 45 - DEST_MODULE_LOCATION[1]="/kernel/drivers/video/nvidia"
46 46 -
47 47 - BUILT_MODULE_NAME[2]="nvidia-uvm"
48 48 - BUILT_MODULE_LOCATION[2]="."
49 49 - DEST_MODULE_LOCATION[2]="/kernel/drivers/video/nvidia"
50 50 -
51 51 - BUILT_MODULE_NAME[3]="nvidia-drm"
52 52 - BUILT_MODULE_LOCATION[3]="."
53 53 - DEST_MODULE_LOCATION[3]="/kernel/drivers/video/nvidia"
54 54 - EOF
55 55 -
56 56 - # --- 2. Tworzenie struktury dla przestrzeni użytkownika ---
57 57 - install -dm0755 ${PKGDIR}/usr/{lib,{bin,share/{applications,pixmaps,man/man1,doc/nvidia}}}
58 58 - install -dm0755 ${PKGDIR}/usr/share/glvnd/egl_vendor.d
59 59 - install -dm0755 ${PKGDIR}/usr/share/vulkan/implicit_layer.d
60 60 - install -dm0755 ${PKGDIR}/lib/udev/rules.d
61 61 -
62 62 - # Instalacja bibliotek użytkownika
63 63 - for _lib in *.so.${pkgver}; do
64 64 - if [ -f "$_lib" ]; then
65 65 - install -m 0755 "$_lib" ${PKGDIR}/usr/lib/
66 66 - fi
67 67 - done
68 68 -
69 69 - # Narzędzia i podręcznik MAN
70 70 - install -m 0755 nvidia-{xconfig,settings,smi} ${PKGDIR}/usr/bin/
71 71 - install -m 0644 nvidia-{xconfig,settings,smi}.1.gz ${PKGDIR}/usr/share/man/man1/
72 72 -
73 73 - # Skróty i ikony
74 74 - sed -e "s@__UTILS_PATH__/@@" -e "s@__PIXMAP_PATH__/@@" nvidia-settings.desktop \
75 75 - > ${PKGDIR}/usr/share/applications/nvidia-settings.desktop
76 76 - install -m 0644 nvidia-settings.png ${PKGDIR}/usr/share/pixmaps/
77 77 -
78 78 - # Sterownik i rozszerzenia Xorg
79 79 - install -dm0755 ${PKGDIR}/usr/lib/xorg/modules/{drivers,extensions}
80 80 - install -m 0755 nvidia_drv.so ${PKGDIR}/usr/lib/xorg/modules/drivers/
81 81 - install -m 0755 libglxserver_nvidia.so.${pkgver} ${PKGDIR}/usr/lib/xorg/modules/extensions/
82 82 - ln -s libglxserver_nvidia.so.${pkgver} ${PKGDIR}/usr/lib/xorg/modules/extensions/libglxserver_nvidia.so
83 83 -
84 84 - # Pliki profilu GLVND (EGL) i Vulkan ICD
85 85 - if [ -f 10_nvidia.json ]; then
86 86 - install -m 0644 10_nvidia.json ${PKGDIR}/usr/share/glvnd/egl_vendor.d/
87 87 - fi
88 88 - if [ -f nvidia_icd.json ]; then
89 89 - install -m 0644 nvidia_icd.json ${PKGDIR}/usr/share/vulkan/implicit_layer.d/
90 90 - fi
91 91 -
92 92 - # Symlinki SONAME dla bibliotek
93 93 - find ${PKGDIR}/usr/lib -maxdepth 1 -type f -name '*.so.*' -print0 | while read -d $'\0' _lib; do
94 94 - _soname=$(readelf -d "${_lib}" 2>/dev/null | grep -Elo 'soname.*: \[[^]]*' | sed "s/soname: \[//" || true)
95 95 - if [ -n "${_soname}" ]; then
96 96 - _base=$(echo ${_soname} | sed -r 's/(.*)\.so.*/\1.so/')
97 97 - _dir=$(dirname "${_lib}")
98 98 - [[ -e "${_dir}/${_soname}" ]] || ln -s $(basename "${_lib}") "${_dir}/${_soname}"
99 99 - [[ -e "${_dir}/${_base}" ]] || ln -s $(basename "${_soname}") "${_dir}/${_base}"
100 100 - fi
101 101 - done
102 102 -
103 103 - # Dokumentacja
104 104 - if [ -d html ]; then
105 105 - cp -r html/* ${PKGDIR}/usr/share/doc/nvidia/
106 106 - fi
107 107 -
108 108 - # --- 3. Konfiguracja Xorg ---
109 109 - install -dm0755 ${PKGDIR}/etc/X11/xorg.conf.d
110 110 - cat > ${PKGDIR}/etc/X11/xorg.conf.d/10-nvidia-drm.conf << "EOF"
111 111 - Section "OutputClass"
112 112 - Identifier "nvidia"
113 113 - MatchDriver "nvidia-drm"
114 114 - Driver "nvidia"
115 115 - Option "AllowEmptyInitialConfiguration"
116 116 - ModulePath "/usr/lib/xorg/modules"
117 117 - EndSection
118 118 -
119 119 - Section "Device"
120 120 - Identifier "Device0"
121 121 - Driver "nvidia"
122 122 - VendorName "NVIDIA Corporation"
123 123 - EndSection
124 124 - EOF
125 125 -
126 126 - # --- 4. Reguły udev dla /dev/nvidia* ---
127 127 - cat > ${PKGDIR}/lib/udev/rules.d/60-nvidia.rules << "EOF"
128 128 - KERNEL=="nvidia", RUN+="/usr/bin/bash -c '/usr/bin/mknod -Z -m 666 /dev/nvidiactl c $$(grep nvidia-frontend /proc/devices | cut -d \ -f 1) 255'"
129 129 - KERNEL=="nvidia", RUN+="/usr/bin/bash -c 'for i in $$(cat /proc/driver/nvidia/gpus/*/information | grep Minor | cut -d \ -f 4); do /usr/bin/mknod -Z -m 666 /dev/nvidia$${i} c $$(grep nvidia-frontend /proc/devices | cut -d \ -f 1) $${i}; done'"
130 130 - KERNEL=="nvidia_modeset", RUN+="/usr/bin/bash -c '/usr/bin/mknod -Z -m 666 /dev/nvidia-modeset c $$(grep nvidia-frontend /proc/devices | cut -d \ -f 1) 254'"
131 131 - KERNEL=="nvidia_uvm", RUN+="/usr/bin/bash -c '/usr/bin/mknod -Z -m 666 /dev/nvidia-uvm c $$(grep nvidia-uvm /proc/devices | cut -d \ -f 1) 0'"
132 132 - KERNEL=="nvidia_uvm", RUN+="/usr/bin/bash -c '/usr/bin/mknod -Z -m 666 /dev/nvidia-uvm-tools c $$(grep nvidia-uvm /proc/devices | cut -d \ -f 1) 1'"
133 133 - EOF
134 134 -
135 135 - # Czarna lista Nouveau
136 136 - install -dm0755 ${PKGDIR}/etc/modprobe.d
137 137 - cat > ${PKGDIR}/etc/modprobe.d/nouveau.conf << "EOF"
138 138 - blacklist nouveau
139 139 - options nouveau modeset=0
140 140 - EOF
141 141 -
142 142 - # Czyszczenie kolidujących bibliotek EGL
143 143 - rm -f ${PKGDIR}/usr/lib/libEGL.so*
144 144 - rm -f ${PKGDIR}/usr/lib/libGLES*.so*
145 145 -
146 146 -hooks:
147 147 - post-install: |
148 148 - # Rejestracja i budowanie modułów przez DKMS dla zainstalowanych jąder
149 149 - dkms add -m nvidia -v ${pkgver} || true
150 150 - dkms build -m nvidia -v ${pkgver} || true
151 151 - dkms install -m nvidia -v ${pkgver} || true
152 152 - ldconfig
153 153 - udevadm control --reload-rules || true
154 154 - pre-remove: |
155 155 - # Usunięcie modułów z DKMS PRZED odinstalowaniem pakietu. Wcześniej ta
156 156 - # komenda leżała w `package:` (faza BUDOWY), więc przy odinstalowaniu moduły
157 157 - # zostawały w /usr/lib/modules i psuły `depmod`/kolejne wersje sterownika.
158 158 - dkms remove -m nvidia -v ${pkgver} --all || true
159 159 -package: |
160 160 +pkgname: nvidia-dkms
161 161 +pkgver: '610.57.04'
162 162 +pkgrel: '2'
163 163 +pkgdesc: NVIDIA drivers, xorg config, udev rules and DKMS kernel modules
164 164 +url: https://www.nvidia.com/en-us/drivers/unix/
165 165 +arch: x86_64
166 166 +license:
167 167 +- custom
168 168 +
169 169 +# `kernel` (a NIE `linux-headers`) – DKMS musi budować pod TO SAMO jądro, które
170 170 +# dostarcza `nvidia-kernel` i które jest w obrazie ISO. Wcześniejszy
171 171 +# `linux-headers` to meta na `kernel-lts` (6.18), więc moduły powstawały pod
172 172 +# inne jądro niż uruchomione („moduły nvidia zbudowane pod …” w pagan-drivers).
173 173 +depends:
174 174 +- kernel
175 175 +- dkms
176 176 +makedepends:
177 177 +- grep
178 178 +
179 179 +source:
180 - - https://us.download.nvidia.com/XFree86/Linux-x86_64/610.57.04/NVIDIA-Linux-x86_64-610.57.04.run
180 ++- https://us.download.nvidia.com/XFree86/Linux-x86_64/${pkgver}/NVIDIA-Linux-x86_64-${pkgver}.run
181 181 +sha256sums:
182 182 +- SKIP
183 183 +
184 184 +build: |
185 185 + sh NVIDIA-Linux-x86_64-${pkgver}.run --extract-only
186 186 + cd NVIDIA-Linux-x86_64-${pkgver}
187 187 +
188 188 + # --- 1. Przygotowanie źródeł DKMS ---
189 189 + _srcdir="${PKGDIR}/usr/src/nvidia-${pkgver}"
190 190 + install -dm0755 "${_srcdir}"
191 191 + cp -r kernel/* "${_srcdir}/"
192 192 +
193 193 + # Tworzenie pliku dkms.conf w katalogu źródeł
194 194 + cat > "${_srcdir}/dkms.conf" << EOF
195 195 + PACKAGE_NAME="nvidia"
196 196 + PACKAGE_VERSION="${pkgver}"
197 197 + AUTOINSTALL="yes"
198 198 +
199 199 + BUILT_MODULE_NAME[0]="nvidia"
200 200 + BUILT_MODULE_LOCATION[0]="."
201 201 + DEST_MODULE_LOCATION[0]="/kernel/drivers/video/nvidia"
202 202 +
203 203 + BUILT_MODULE_NAME[1]="nvidia-modeset"
204 204 + BUILT_MODULE_LOCATION[1]="."
205 205 + DEST_MODULE_LOCATION[1]="/kernel/drivers/video/nvidia"
206 206 +
207 207 + BUILT_MODULE_NAME[2]="nvidia-uvm"
208 208 + BUILT_MODULE_LOCATION[2]="."
209 209 + DEST_MODULE_LOCATION[2]="/kernel/drivers/video/nvidia"
210 210 +
211 211 + BUILT_MODULE_NAME[3]="nvidia-drm"
212 212 + BUILT_MODULE_LOCATION[3]="."
213 213 + DEST_MODULE_LOCATION[3]="/kernel/drivers/video/nvidia"
214 214 + EOF
215 215 +
216 216 + # --- 2. Tworzenie struktury dla przestrzeni użytkownika ---
217 217 + install -dm0755 ${PKGDIR}/usr/{lib,{bin,share/{applications,pixmaps,man/man1,doc/nvidia}}}
218 218 + install -dm0755 ${PKGDIR}/usr/share/glvnd/egl_vendor.d
219 219 + install -dm0755 ${PKGDIR}/usr/share/vulkan/implicit_layer.d
220 220 + install -dm0755 ${PKGDIR}/lib/udev/rules.d
221 221 +
222 222 + # Instalacja bibliotek użytkownika
223 223 + for _lib in *.so.${pkgver}; do
224 224 + if [ -f "$_lib" ]; then
225 225 + install -m 0755 "$_lib" ${PKGDIR}/usr/lib/
226 226 + fi
227 227 + done
228 228 +
229 229 + # Narzędzia i podręcznik MAN
230 230 + install -m 0755 nvidia-{xconfig,settings,smi} ${PKGDIR}/usr/bin/
231 231 + install -m 0644 nvidia-{xconfig,settings,smi}.1.gz ${PKGDIR}/usr/share/man/man1/
232 232 +
233 233 + # Skróty i ikony
234 234 + sed -e "s@__UTILS_PATH__/@@" -e "s@__PIXMAP_PATH__/@@" nvidia-settings.desktop \
235 235 + > ${PKGDIR}/usr/share/applications/nvidia-settings.desktop
236 236 + install -m 0644 nvidia-settings.png ${PKGDIR}/usr/share/pixmaps/
237 237 +
238 238 + # Sterownik i rozszerzenia Xorg
239 239 + install -dm0755 ${PKGDIR}/usr/lib/xorg/modules/{drivers,extensions}
240 240 + install -m 0755 nvidia_drv.so ${PKGDIR}/usr/lib/xorg/modules/drivers/
241 241 + install -m 0755 libglxserver_nvidia.so.${pkgver} ${PKGDIR}/usr/lib/xorg/modules/extensions/
242 242 + ln -s libglxserver_nvidia.so.${pkgver} ${PKGDIR}/usr/lib/xorg/modules/extensions/libglxserver_nvidia.so
243 243 +
244 244 + # Pliki profilu GLVND (EGL) i Vulkan ICD
245 245 + if [ -f 10_nvidia.json ]; then
246 246 + install -m 0644 10_nvidia.json ${PKGDIR}/usr/share/glvnd/egl_vendor.d/
247 247 + fi
248 248 + if [ -f nvidia_icd.json ]; then
249 249 + install -m 0644 nvidia_icd.json ${PKGDIR}/usr/share/vulkan/implicit_layer.d/
250 250 + fi
251 251 +
252 252 + # Symlinki SONAME dla bibliotek
253 253 + find ${PKGDIR}/usr/lib -maxdepth 1 -type f -name '*.so.*' -print0 | while read -d $'\0' _lib; do
254 254 + _soname=$(readelf -d "${_lib}" 2>/dev/null | grep -Elo 'soname.*: \[[^]]*' | sed "s/soname: \[//" || true)
255 255 + if [ -n "${_soname}" ]; then
256 256 + _base=$(echo ${_soname} | sed -r 's/(.*)\.so.*/\1.so/')
257 257 + _dir=$(dirname "${_lib}")
258 258 + [[ -e "${_dir}/${_soname}" ]] || ln -s $(basename "${_lib}") "${_dir}/${_soname}"
259 259 + [[ -e "${_dir}/${_base}" ]] || ln -s $(basename "${_soname}") "${_dir}/${_base}"
260 260 + fi
261 261 + done
262 262 +
263 263 + # Dokumentacja
264 264 + if [ -d html ]; then
265 265 + cp -r html/* ${PKGDIR}/usr/share/doc/nvidia/
266 266 + fi
267 267 +
268 268 + # --- 3. Konfiguracja Xorg ---
269 269 + install -dm0755 ${PKGDIR}/etc/X11/xorg.conf.d
270 270 + cat > ${PKGDIR}/etc/X11/xorg.conf.d/10-nvidia-drm.conf << "EOF"
271 271 + Section "OutputClass"
272 272 + Identifier "nvidia"
273 273 + MatchDriver "nvidia-drm"
274 274 + Driver "nvidia"
275 275 + Option "AllowEmptyInitialConfiguration"
276 276 + EndSection
277 277 + EOF
278 278 +
279 279 + # --- 4. Reguły udev dla /dev/nvidia* ---
280 280 + cat > ${PKGDIR}/lib/udev/rules.d/60-nvidia.rules << "EOF"
281 281 + KERNEL=="nvidia", RUN+="/usr/bin/bash -c '/usr/bin/mknod -Z -m 666 /dev/nvidiactl c $$(grep nvidia-frontend /proc/devices | cut -d \ -f 1) 255'"
282 282 + KERNEL=="nvidia", RUN+="/usr/bin/bash -c 'for i in $$(cat /proc/driver/nvidia/gpus/*/information | grep Minor | cut -d \ -f 4); do /usr/bin/mknod -Z -m 666 /dev/nvidia$${i} c $$(grep nvidia-frontend /proc/devices | cut -d \ -f 1) $${i}; done'"
283 283 + KERNEL=="nvidia_modeset", RUN+="/usr/bin/bash -c '/usr/bin/mknod -Z -m 666 /dev/nvidia-modeset c $$(grep nvidia-frontend /proc/devices | cut -d \ -f 1) 254'"
284 284 + KERNEL=="nvidia_uvm", RUN+="/usr/bin/bash -c '/usr/bin/mknod -Z -m 666 /dev/nvidia-uvm c $$(grep nvidia-uvm /proc/devices | cut -d \ -f 1) 0'"
285 285 + KERNEL=="nvidia_uvm", RUN+="/usr/bin/bash -c '/usr/bin/mknod -Z -m 666 /dev/nvidia-uvm-tools c $$(grep nvidia-uvm /proc/devices | cut -d \ -f 1) 1'"
286 286 + EOF
287 287 +
288 288 + # Autoload nvidia-drm z KMS (modeset=1). Bez tego nic nie załaduje modułów
289 289 + # (jądro nie ma nouveau, a DDX ładuje się dopiero po starcie Xorga), więc
290 290 + # OutputClass MatchDriver "nvidia-drm" NIE pasuje i X spada na modesetting
291 - # (czyli karta NVIDIA jest ignorowana, brak akceleracji i multi-monitora).
291 ++ # (karta NVIDIA ignorowana: brak akceleracji i multi-monitora).
292 292 + install -dm0755 ${PKGDIR}/lib/udev/rules.d
293 293 + cat > ${PKGDIR}/lib/udev/rules.d/99-pagan-nvidia-autoload.rules << "EOF"
294 - # PaganLinux: automatyczne załadowanie sterownika NVIDIA (proprietary) na
295 - # kartach NVIDIA. modeset=1 -> nvidia-drm daje KMS (Xorg + Wayland).
294 ++ # PaganLinux: automatyczne załadowanie sterownika NVIDIA (proprietary).
295 ++ # modeset=1 -> nvidia-drm daje KMS (Xorg + Wayland).
296 296 + ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030000", RUN+="/usr/sbin/modprobe nvidia-drm modeset=1"
297 297 + ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030200", RUN+="/usr/sbin/modprobe nvidia-drm modeset=1"
298 298 + EOF
299 -
300 299 + # Czarna lista Nouveau
301 300 + install -dm0755 ${PKGDIR}/etc/modprobe.d
302 301 + cat > ${PKGDIR}/etc/modprobe.d/nouveau.conf << "EOF"
303 302 + blacklist nouveau
304 303 + options nouveau modeset=0
305 304 + EOF
306 305 +
307 306 + # Czyszczenie kolidujących bibliotek EGL
308 307 + rm -f ${PKGDIR}/usr/lib/libEGL.so*
309 308 + rm -f ${PKGDIR}/usr/lib/libGLES*.so*
310 309 +
311 310 +hooks:
312 311 + post-install: |
313 312 + # Rejestracja i budowanie modułów przez DKMS dla zainstalowanych jąder
314 - dkms add -m nvidia -v 610.57.04 || true
315 - dkms build -m nvidia -v 610.57.04 || true
316 - dkms install -m nvidia -v 610.57.04 || true
313 ++ dkms add -m nvidia -v ${pkgver} || true
314 ++ dkms build -m nvidia -v ${pkgver} || true
315 ++ dkms install -m nvidia -v ${pkgver} || true
317 316 + ldconfig
318 317 + udevadm control --reload-rules || true
319 318 + pre-remove: |
320 319 + # Usunięcie modułów z DKMS PRZED odinstalowaniem pakietu. Wcześniej ta
321 320 + # komenda leżała w `package:` (faza BUDOWY), więc przy odinstalowaniu moduły
322 321 + # zostawały w /usr/lib/modules i psuły `depmod`/kolejne wersje sterownika.
323 - dkms remove -m nvidia -v 610.57.04 --all || true
322 ++ dkms remove -m nvidia -v ${pkgver} --all || true
324 323 +package: |
325 324 true
@@@ -25,20 -25,20 +25,24 @@@ sha256sums
326 325 - d654394e4b6a13c64e279539132b625a66694d04439e97e44e3ec3a143a20a27
327 326 - 9106a4605da9e31ff17659d958782b815f9591ab308d03b0ee21aad6c7dced4b
328 327 - 2eef7b766a11317ff87bc1a181d669d3ca0c17b9de2d48787f24688b3db8ad52
329 - - 8fc0bda8720506b05f31b236f1fb8ff953fdccf3c6c4ec263678ab6e6587274c
328 + - a1436207c015cb5d78909649e44c4d3c2aa899896d511cc85af8ea95bbb647fe
330 329 hooks:
331 330 post-install: |
332 331 + # Moduly out-of-tree (NVIDIA/VirtualBox) - przebuduj pod to jadro przed initramfs.
333 332 + if command -v dkms >/dev/null 2>&1; then
334 333 + dkms autoinstall -k kernel-lts >/dev/null 2>&1 || true
335 334 + fi
336 - mkinitramfs $(ls /usr/lib/modules | grep -vx 'kernel-lts' | head -1)
337 - rm -f boot/initrd-618
338 - mv boot/initrd-$(ls /usr/lib/modules | grep -vx 'kernel-lts' | head -1) boot/initrd-618
335 + KVER=$(ls /usr/lib/modules | grep -vx 'kernel-lts' | head -n1)
336 + if [ -n "$KVER" ]; then
337 + mkinitramfs "$KVER"
338 + rm -f /boot/initrd-618
339 + mv "/boot/initrd-$KVER" /boot/initrd-618
340 + fi
339 341 post-remove: |
340 - rm -f boot/initrd-618
342 + rm -f /boot/initrd-618
341 343 build: |
342 - mkdir -p ${PKGDIR}/{boot,usr/{share/doc,src,lib/modules}}
344 + mkdir -p ${PKGDIR}/{boot,usr/{share/doc/${pkgname},lib/modules}}
345 +
343 346 bsdtar -p -o -C . -xf linux-6.18.tar.xz
344 347 cd linux-6.18
345 348