Сайт | Скачать | Видео | Wiki

Автор Тема: Grub4dos. Использование переменных (унификация, универсализация).  (Прочитано 32368 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн knn

  • Ветеран
  • *****
  • Сообщений: 2538
  • Репутация: +33/-0
  • Автор темы
запланированно (время?).
Еще не полностью разобрался с работой с переменными.
Gr4D, Grub2; HP Mini 210 VT - Intel Atom N470  @ 1.83GHz, Intel GMA3150, RAM=2 ГБ ;
Sams-n110: N270 - 1,6 ГГц, Intel GMA 950, RAM=2 ГБ.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33953
  • Репутация: +231/-0
    • PuppyRus-A
Еще идеи
определение архитектуры и загрузка соответствующего ПРА (32 или 64)
Про ядра интереснее

Оффлайн knn

  • Ветеран
  • *****
  • Сообщений: 2538
  • Репутация: +33/-0
  • Автор темы
Можете сделать самоформирующийся список загрузки имеющихся ядер?
Сначала невнимательно прочитал => в отдаленном будущем.
"Запланировано" - выбор версии ядра из предлагаемого списка (набор рабочих ядер разных версий) вводом с клавиатуры порядкового номера в списке.
У меня база "компьютерных познаний" 1993-1995гг ZX-Spectrum (TAPE) - Basic (немного - любительский уровень).
Сейчас  разбираюсь поэтапно по мере возможностей.
Может кому, что пригодится, найдется применение.
Может кто ещё будет добавлять информацию, исследования по теме.
« Последнее редактирование: 25 Январь 2017, 15:46:56 от knn »
Gr4D, Grub2; HP Mini 210 VT - Intel Atom N470  @ 1.83GHz, Intel GMA3150, RAM=2 ГБ ;
Sams-n110: N270 - 1,6 ГГц, Intel GMA 950, RAM=2 ГБ.

Оффлайн knn

  • Ветеран
  • *****
  • Сообщений: 2538
  • Репутация: +33/-0
  • Автор темы
задание "ядер" выбором из предлагаемого строкой загрузки списка.
Приблизительно так - с поправками путей/?переменных "под себя", под свои нужды:
Код
[cut]
title ▒▒ %%% input  hd=h,p kern  (h=0,1...) (p=1,2...)
set /a /p:5 h=disk-0,1..(within 3 seconds ENTER)--h:
if "%h%"=="" pause --wait=3 TOO SLOW! && configfile /menu.lst
set /a /p:5 p=№ razdel-1,2,3..(within 3 seconds ENTER)--p:
if "%p%"=="" pause --wait=3 TOO SLOW! && configfile /menu.lst
set /a r=%p%-1
set P=%p%
root (hd%h%,%r%)/%d%
pause --wait=10

title ▒▒ %%% input nomera indexa kernel(1,2...)
echo for vmlinuz   -4.6.2-pf1  ==1
echo for vmlinuz   -4.7.0-pf1  ==2
echo for vmlinuz   -4.8.10-pf8 ==3
echo for vmlinuz   -4.9.5      ==4
echo for vmlinuz   -4.9.5-pf4  ==5
set /p:7 kn=№ kernel version (primer 1,2.3...)(within 7 seconds ENTER)--kn:
if "%kn%"=="" pause --wait=7 TOO SLOW! && configfile /menu.lst
if "%kn%"=="1" set ki=-4.6.2-pf1
if "%kn%"=="2" set ki=-4.7.0-pf1
if "%kn%"=="3" set ki=-4.8.10-pf8       
if "%kn%"=="4" set ki=-4.9.5 
if "%kn%"=="5" set ki=-4.9.5-pf4

title ▒▒▒▒>>> zapusk -Form sdB (flash?)
set d=pra
set pf=2
root (hd%h%,%r%)/%d%
kernel /base/vmlinuz%ki% from=/mnt/sdb%pf% dir=%d% quiet  copy2ram noswap noload=nvidia
initrd /initrd.xz

title ▒▒ @@@@ view Form
set d=pra
set pf=2
echo (hd%h%,%r%)/%d%
echo kernel /base/vmlinuz%ki% from=/mnt/sdb%pf% dir=%d% quiet  copy2ram noswap noload=nvidia
echo initrd /initrd.xz
pause --wait=12[/cut]
Для данных строк - положть ядра ( vmlinuz-nnn и 000-vmlinuz-nnn.pfs) в /pra/base.
Можно ложить и "пачку", но, например, при наличии "очень похожих" 000-vmlinuz-4.9.5.pfs и vmlinuz-4.9.5-pf4.pfs грузит оба, в остальном - вроде нормально.
Дальнейшее добавление ядер в menu.lst - по аналогии.
 vmlinuz-nnn и initrd.xz, в принципе можно загружать с других различных разделов, задавать "переменными".
Размер vmlinuz мал - решил "складывать" вместе с 000-vmlinuz.pfs

Исправил первоначально выложенный "предварительный просмотр" .
« Последнее редактирование: 15 Март 2017, 12:10:57 от knn »
Gr4D, Grub2; HP Mini 210 VT - Intel Atom N470  @ 1.83GHz, Intel GMA3150, RAM=2 ГБ ;
Sams-n110: N270 - 1,6 ГГц, Intel GMA 950, RAM=2 ГБ.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33953
  • Репутация: +231/-0
    • PuppyRus-A
при наличии "очень похожих" 000-vmlinuz-4.9.5.pfs и vmlinuz-4.9.5-pf4.pfs грузит оба,
Такое не даст сделать initrd
У кого получилось повторить эксперимент?

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33953
  • Репутация: +231/-0
    • PuppyRus-A
Я правильно понял - надо запускать пункт
title ▒▒▒▒>>> zapusk -Form sdB (flash?) - не понял каким образом установятся используемые в нем переменные?
Первые 2 пункта по замыслу должны быть видны? У меня видны, но их не выбрать

Оффлайн knn

  • Ветеран
  • *****
  • Сообщений: 2538
  • Репутация: +33/-0
  • Автор темы
видны, но их не выбрать
Перемещение по "таким" (скорее всего, недающим перехода) строкам загрузки - горизонтальн. стрелками.
Цитата: knn от Сегодня в 00:59:56

    при наличии "очень похожих" 000-vmlinuz-4.9.5.pfs и vmlinuz-4.9.5-pf4.pfs грузит оба,

Такое не даст сделать initrd
У кого получилось повторить эксперимент?
inxi - так "показывает. Вроде было, если положить папку  /ks c 000-vmz-pfs-сами и с vmz-ми ниже - в /base - inxi показывало загрузку даже 5-ти различных 000-vmlz.pfs-ов.
Если располагал 000-vz.pfs-ы выше папки /base - не видит..... нужно экспериментировать.
« Последнее редактирование: 15 Март 2017, 11:43:06 от knn »
Gr4D, Grub2; HP Mini 210 VT - Intel Atom N470  @ 1.83GHz, Intel GMA3150, RAM=2 ГБ ;
Sams-n110: N270 - 1,6 ГГц, Intel GMA 950, RAM=2 ГБ.

Оффлайн knn

  • Ветеран
  • *****
  • Сообщений: 2538
  • Репутация: +33/-0
  • Автор темы
http://forum.puppyrus.org/index.php?topic=19544.msg130463#msg130463 - здесь - в строке выбора ядра 32-е - выбираются- 1,2,3..; предположительно можно добавить 64-е ядра - с выбором от 41,42,43... (для задания переменной %d%=pra/pra64 после "сравнения" величины %kn%).
  Эти строки menu -частный случай (microSD-4 фат разд.:1-андроид., 2,3,4 - ПРА-дистры-в корнях, 2-ой=загрузочн.)  => для перемещения по разделам есть еще строки:
Код
title   >>>   Gr4d-zapusk-s-SETroot
root (hd%h%,%r%)
 kernel (hd%h%,%r%)/boot/grub4dos/grub.exe
 rootnoverify (hd%h%,%r%)

title   >>>  configfile MENU.lst-s-SETroot
configfile=(hd%h%,%r%)%d%/menu.lst
rootnoverify (hd%h%,%r%)

 По-возможности буду "подпиливать".

Gr4D, Grub2; HP Mini 210 VT - Intel Atom N470  @ 1.83GHz, Intel GMA3150, RAM=2 ГБ ;
Sams-n110: N270 - 1,6 ГГц, Intel GMA 950, RAM=2 ГБ.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33953
  • Репутация: +231/-0
    • PuppyRus-A
не понял каким образом установятся используемые в нем переменные?

Оффлайн knn

  • Ветеран
  • *****
  • Сообщений: 2538
  • Репутация: +33/-0
  • Автор темы
не понял каким образом установятся используемые в нем переменные?
Задаются "руками" (на выбор) при запуске строками выше.
Можно задать в "строке запуска" параметром " set y=...; можно задавать отдельными "наборами" в отдельных пунктах меню пр.:

Код
title ▒▒== Set-paramPRA64 HOME=sda8 в RAM.--vmlinuz-4.8.10-pf8_64
set /a h=0
set /a p=8
set d=pra64
set v=-4.8.10-pf8_64
set /a r=%p%-1
set P=%p%
« Последнее редактирование: 15 Март 2017, 15:06:35 от knn »
Gr4D, Grub2; HP Mini 210 VT - Intel Atom N470  @ 1.83GHz, Intel GMA3150, RAM=2 ГБ ;
Sams-n110: N270 - 1,6 ГГц, Intel GMA 950, RAM=2 ГБ.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33953
  • Репутация: +231/-0
    • PuppyRus-A
Т.е. сначала надо в 2х первых меню выбрать раздел и ядро, потом запуститься из п.3. ?

Оффлайн knn

  • Ветеран
  • *****
  • Сообщений: 2538
  • Репутация: +33/-0
  • Автор темы
Gr4D, Grub2; HP Mini 210 VT - Intel Atom N470  @ 1.83GHz, Intel GMA3150, RAM=2 ГБ ;
Sams-n110: N270 - 1,6 ГГц, Intel GMA 950, RAM=2 ГБ.

Оффлайн knn

  • Ветеран
  • *****
  • Сообщений: 2538
  • Репутация: +33/-0
  • Автор темы
Приблизительно так - с поправками путей/?переменных "под себя", под свои нужды:
Gr4D, Grub2; HP Mini 210 VT - Intel Atom N470  @ 1.83GHz, Intel GMA3150, RAM=2 ГБ ;
Sams-n110: N270 - 1,6 ГГц, Intel GMA 950, RAM=2 ГБ.

Оффлайн knn

  • Ветеран
  • *****
  • Сообщений: 2538
  • Репутация: +33/-0
  • Автор темы
 gamma-2.0  :-\- строки запуска отображают в меню задаваемые переменные + смена ядер: 11 штук + запуск одноменных папок/подпапок.
  Добавить строки в menu.lst.
Код
title
lock

title ▒▒ %%%<< input  hd=h,r (№ diska -1, № razd -1) (h=0,1...) (r=0,1,2...) (attention - up menu)
set /a /p:5 h=disk-0,1..(within 5 seconds ENTER)--h:
if "%h%"=="" pause --wait=5 TOO SLOW!
set /a /p:5 r= razdel-0,1,2,..(within 5 seconds ENTER)--r:
if "%r%"=="" pause --wait=5 TOO SLOW!
set /a p=%r%+1
root  (hd%h%,%r%)
pause --wait=5

title ▒▒== %%% set /base (optional)
set b=/base

title ▒▒== %%% set d=pra
set d=pra

title ▒▒== %%% set d=pra64
set d=pra64

title ▒▒ %%?<< vybor nomera indexa kernel iz spiska |kn=(primer:1,2...;41,42...)
echo for vmlinuz   -4.6.2-pf1  ==1
echo for vmlinuz   -4.7.0-pf1  ==2
echo for vmlinuz   -4.8.10-pf8 ==3
echo for vmlinuz   -4.9.5      ==4
echo for vmlinuz   -4.9.5-pf4  ==5

echo for vmlinuz   -4.6.2-pf1_64  ==41
echo for vmlinuz   -4.7.0-pf1_64  ==42
echo for vmlinuz   -4.8.10-pf8_64  ==43
echo for vmlinuz   -4.9.3-pf3_64  ==44
echo for vmlinuz   -4.9.5-pf4_64  ==45
echo for vmlinuz   -4.10.1-pf2_64  ==46

set /p:7 kn=№ kernel version (primer 1,2.3...)(within 5 seconds ENTER)--kn:
if "%kn%"=="" pause --wait=5 TOO SLOW!
if "%kn%"=="1" set ki=-4.6.2-pf1
if "%kn%"=="2" set ki=-4.7.0-pf1
if "%kn%"=="3" set ki=-4.8.10-pf8       
if "%kn%"=="4" set ki=-4.9.5 
if "%kn%"=="5" set ki=-4.9.5-pf4

if "%kn%"=="41" set ki=-4.6.2-pf1_64
if "%kn%"=="42" set ki=-4.7.0-pf1_64
if "%kn%"=="43" set ki=-4.8.10-pf8_64
if "%kn%"=="44" set ki=-4.9.3-pf3_64
if "%kn%"=="45" set ki=-4.9.5-pf4_64
if "%kn%"=="46" set ki=-4.10.1-pf2_64
if "%kn%"=="" pause --wait=5 TOO SLOW!

title ▒▒ %%%<< input-manual parametrov zagruzki(dir- NO-1-st slash (primer:pra))| kernel-index=(primer:-4.7.0-pf1)
set /p:5 d=dir. distra (within 3 seconds ENTER)--d:
if "%d%"=="" pause --wait=3 TOO SLOW!
set /p:5 ki=kernel version manual(primer -4.8.10-pf8)(within 5 seconds ENTER)--ki:
if "%v%"=="" pause --wait=3 TOO SLOW!

title
lock

title ▒▒▒▒ >>> boot  !/SDA!:root (hd%h%,%r%)/%d%; kernel %b%/vmlinuz%ki% from=/dev/sda%p% dir=%d%
root (hd%h%,%r%)/%d%
kernel %b%/vmlinuz%ki% from=/dev/sda%p% dir=%d% quiet  copy2ram noswap  noload=nvidia
initrd /initrd.xz

title ▒▒▒▒ >>> boot !/SDB! :root (hd%h%,%r%)/%d%; kernel %b%/vmlinuz%ki% from=/dev/sdb%p% dir=%d%
root (hd%h%,%r%)/%d%
kernel %b%/vmlinuz%ki% from=/dev/sdb%p% dir=%d% quiet  copy2ram noswap  noload=nvidia
initrd /initrd.xz

title
lock

title ▒▒== Set-param (moy nabor pra1612m sda8)
set /a h=0 && set /a r=7 && set d=pra1612m && set ki=-4.8.10-pf8
set /a p=%r%+1

---------------------------------

title  >>> CHAINloader (hd%h%,%r%)-R mapW -bootload s razdela (init13-support)
map (hd0) (hd1)
map (hd1) (hd0)
root (hd%h%,%r%)
chainloader +1
boot

title  >>> CHAINloader (hd%h%) -H mapW -bootload s kornya ustroystva
 map (hd0) (hd1)
map (hd1) (hd0)
chainloader (hd%h%)+1
boot

title  >>> CHAINloader (hd%h%) -H   no-map --bootload s kornya ustroystva
chainloader (hd%h%)+1
boot
     Для "стандартного" запуска сборки:
  - задать параметры с помощью строк (перемещение по меню -лев., право, вверх, вниз) - hd %h%,%r%(№ диска -1, № раздела -1 -как в g4d), dir(строка set d=pra?/pra64? или строка -input-manual -без! первого слэша - papka; papka/podpapka), %ki% (индекс ядра - "из списка" или "вручную" -input-manual);
set /base - НЕ надо.
  - запустить - строки - boot:....sda?/sdb? соответственно.
 
     Для смены ядер:
  -положить (без папки!) "коллекцию" vmlinuz-ов и vmlinuz.pfs-ов в /base запускаемого дистрибутива;
  - в меню g4d задать/выбрать параметры: hd, dir, ki;
  - задать %b% (строка  - set /base);
  - запуск
 
  Добавка ядер - по аналогии.
  Можно использовать свои готовые наборы параметров, прописывая в строке меню пр.:
Код
  title ▒▒== Set-param (moy nabor pra1612m sda8) 
set /a h=0 && set /a r=7 && set d=pra1612m && set ki=-4.8.10-pf8
set /a p=%r%+1
« Последнее редактирование: 05 Апрель 2017, 05:43:38 от knn »
Gr4D, Grub2; HP Mini 210 VT - Intel Atom N470  @ 1.83GHz, Intel GMA3150, RAM=2 ГБ ;
Sams-n110: N270 - 1,6 ГГц, Intel GMA 950, RAM=2 ГБ.

Оффлайн knn

  • Ветеран
  • *****
  • Сообщений: 2538
  • Репутация: +33/-0
  • Автор темы
      Beta-версия  :-\.
    Изменения:
    - рус. буквы, краткие пояснения;
    - объединение задания и выбора для ядер и дирректорий;
    - добавлена "строка просмотра содержимого /root/, /dir/, /base/ (ls-вывод);
    - добавлен ввод, задание переменной sdX (наконец-то переменные "сложились"  ;D).
строки для menu.lst:
в сообщение не вместились - скачать,смотреть - (menu-peremen-beta.txt https://yadi.sk/d/Q5KRvOhe3J6Mzo)

  "Косячок": в строке загрузки/пуска переменная sdxy интерактивно отображается пока раздельно (sd xy), но всё работает нормально.
« Последнее редактирование: 12 Май 2017, 23:08:38 от knn »
Gr4D, Grub2; HP Mini 210 VT - Intel Atom N470  @ 1.83GHz, Intel GMA3150, RAM=2 ГБ ;
Sams-n110: N270 - 1,6 ГГц, Intel GMA 950, RAM=2 ГБ.